Therefore, I tried to find command and fortunately I found ffmpeg in its DLL folder. FFMpeg is an open source project which do excellent job in video convert. That's originally used in Linux, but it was ported to Windows as well. After google, I found a good starting article for the parameters to use in ffmpeg. You may refer to the document as below:
In the article, the author suggests some options. If you like to convert mp4 to mpg with better quality. I tried and those input arguments are good choice to use, though I can only share I feel that video and audio quality are both improved.
ffmpeg -i test.mp4 \ -vcodec mpeg2video -pix_fmt yuv420p -me_method epzs -threads 4 \ -r 29.97 -g 15 -s 704x396 -b 2500k -bt 300k \ -acodec mp2 -ac 2 -ab 192k -ar 44100 \ -async 1 \ -y \ -f vob output.mpg
Below options were what I used before reading the article. With the options, ffmpeg generates smaller size of video file but poorer quality. I can felt the blocking effect and flat sound. Anyway, if the size is what you care about, you may use simpler options to encode your video.
ffmpeg -i test.mp4 \ -r 29.97 -s 384x240 -b 2150k output.mpg
I created one .vbs file(mp4_mpg.vbs) to do the batch conversion. It's simply to read mp4 files in input folder and to generate converted file in output folder. you may copy below codes into a .vbs file to simplify your job.
To execute it, you can press
Cscript mp4_mpg.vbs <Input Folder> {<Output Folder>}
I hope the article can help you to get started with ffmpeg and share my experience about it.