Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ffmpeg vs mencoder

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?

like image 596
Jonah Braun Avatar asked May 06 '11 16:05

Jonah Braun


People also ask

Does Mencoder use FFmpeg?

You are right, mencoder uses ffmpeg. Mencoder is actually a universal interface to a number of different codecs or codec libraries like ffmpeg.

Is FFmpeg still used?

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.

Why is FFmpeg so good?

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).

Who owns FFmpeg?

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.


2 Answers

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.

like image 180
Serafeim Avatar answered Sep 21 '22 13:09

Serafeim


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.

like image 22
Andrew_1510 Avatar answered Sep 19 '22 13:09

Andrew_1510