I'm doing a bunch of video encoding for a variety of devices and platforms. I've bounced back and forth a few times between mencoder and ffmpeg. Which do you recommend and why?
Side question: From googling it seems that mencoder uses ffmpeg. Does it do this all the time or only when it deems necessary?
You are right, mencoder uses ffmpeg. Mencoder is actually a universal interface to a number of different codecs or codec libraries like ffmpeg.
It is widely used for format transcoding, basic editing (trimming and concatenation), video scaling, video post-production effects and standards compliance (SMPTE, ITU). FFmpeg also includes other tools: ffplay , a simple media player and ffprobe , a command-line tool to display media information.
Companies use FFmpeg because it's open-source (meaning anyone can modify it), making it perfect for scaling to different systems with varying hardware specifications (e.g., Android devices that come in all shapes, sizes, and specifications).
The FFMPEG project was started by Farice Bellard under the pseudonym Gérard Lantau in 2000 and was then led by Michael Niedermayer from 2004 until 2015. Due to internal disagreements about how the project was managed, from 2011 on, FFMPEG was split into two forks -- FFMPEG and libav.
You are right, mencoder uses ffmpeg. Mencoder is actually a universal interface to a number of different codecs or codec libraries like ffmpeg. So, beyond ffmpeg, mencoder can be compiled with support to x264, xvid, lame mp3 and various others that I haven't used. The point is that if you have the correct mplayer/mencoder binary you will get support for many more codecs than the ones ffmpeg supports (especially those with restrictive licenses). Also, you don't lose any of the functionality of ffmpeg using mencoder since you may pass every option you want to the corresponding ffmpeg codec. So I recommend mencoder.
Concerning your side question, you are declaring which codec will be used by mencoder through the ovc and oac command line switches. Try mencoder -ovc help and mencoder -oac help to see which video and audio codecs are supported by your mencoder binary. You may take a look here to find out more about the video / audio codecs. It explains lavc (libavcodec library of ffmpeg), xvid and mp3lame.
Beyond these, I have also used x264 with mencoder which is very useful and I recommend getting a binary with support for that codec.
To append an astray detail after Serafein's excellent answer:
On Ubuntu 11, if you install pre-packaged ffmpeg, it lacks libass
, then mencoder
can be good in many cases to avoid to install libass
by hand, or compile ffmpeg
from source. It's good.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With