[MEncoder-users] mencoder vs ffmpeg

vdmsss vdm_sss at yahoo.co.uk
Thu Jan 3 20:51:11 CET 2008


Hello. I am following up from a couple of Rich Felker's messages that  
caught my attention.

On 2 Jan 2008, at 17:15, Rich Felker wrote:
> If you want nice encoding to containers other than avi, use the ffmpeg
> program itself, not mencoder. The only reason to use mencoder should
> be its filters, which you're not using. Otherwise ffmpeg is much much
> better.

That's very interesting! I am anxiously waiting for libavfilter in the  
hope that it will match mencoder's excellent set of filters (anyway,  
it's not so difficult to pre-process and filter with mplayer and then  
feed raw mjpeg video to ffmpeg via a pipe; so that's always an  
option.) However, I find that ffmpeg has some serious "usability"  
shortcomings: its syntax it's clumsier than mencoder's, which makes a  
pretty good job of keeping options systematically distinct per muxers  
and encoders (compare that with ffmpeg's -flags, -flags2, trell,  
trellis, ...); and it badly needs something like mencoder's -profile  
option. More importantly, ffmpeg is *entirely* undocumented. Fact is  
that the little I managed to learn about libavcodec, xvid and x264  
I've learned from the mplayer manual; unfortunately man ffmpeg is of  
almost no use. To know that ffmpeg is much, much better would  
certainly be an incentive to overcome these drawbacks.

> MEncoder is extremely broken, but somewhat less-broken when the
>   output format is AVI, since it was originally designed only for
>   AVI. Basically it uses all other output formats via a layer of "AVI
>   emulation" which you can imagine is NOT a good idea. Almost all of
>   the other brokenness is in a/v sync and frame timing issues, and
>   the results range from files which are "mostly correct" to
>   "horribly out of sync". "Fully correct" is almost never possible
>   especially for nasty input formats like wmv.

Rich, your paragraph above reminded me that you had previously  
written, with reference to LAVF MP4 muxer:

On 6 Nov 2007, at 19:19, Rich Felker wrote:
> Hmm, since when does mencoder use the timestamps at all??? AFAIK it
> does not... Can anyone confirm that this works? If so then mencoder is
> nowhere near as broken as we expect it to be, but I'm quite
> doubtful...

and so I decided to answer and ask whether or not mencoder is as  
broken you expect it to be.

I use mencoder regularly (on DVB-T and DVD sources), and never mux to  
AVI. I encode with either LAVF MP4 (with libx264 + faac streams) or,  
when I want to burn a DVD, with the MPEG muxer (lavc:mpeg2video + ac3)  
you praised in your message. I don't set -mc 0, I don't use -noskip.  
The file produced by mencoder is in synch, but the video stream  
jitters back on forth in time when I play it in QT (with mplayer,  
ffplay, VLC, it plays just fine). I then demuxer and remux with  
MP4Box, and the resulting file is perfect also for QT (sometimes I  
need to set an initial delay of a few ms when I remux).

Now, would you classify this as "mostly correct" or "extremely broken"?

cheers to all.



More information about the MEncoder-users mailing list