I am looking for a video encoder that is fast, requires less CPU power and produces very good quality mp4 video.
The input videos can be in any format and uploaded by users.
Only thing I know is FFMPEG library.
Is there anything else that is better?
The program must have a batch utility (exe) that I am interested in.
I would appreciate if you kindly share your knowledge.
Thanks
Use x264
. It's fast and flexible enough for it to suit your needs. Other H.264 video encoders are junk compared to it and this isn't just my opinion. You can use it directly or via ffmpeg
. You can get recent FFmpeg builds for Windows, OS X, and Linux via the FFmpeg download page. See the following answers for more information on determining the encoding options that will work for you:
- https://stackoverflow.com/a/9057521/1109017
- https://superuser.com/a/380757/110524
- https://superuser.com/a/383946
Also see:
- FFmpeg and x264 Encoding Guide
If you're going to be displaying the output files on a web site with progressive downloading then consider using the option -movflags faststart
. It will move a small amount of data to the beginning of the file so it can begin playing before the file is completely downloaded.
I highly recommend HandBrake. It has a good exe (and there are several batch programs that use HandBrake's CLI, here's one for example. I haven't used it but it looks good. I've used others.) It also has a good CLI which I have used to develop my own project (a little out of date). Anyway, I hope that's helpful :D