Opened 19 years ago

Closed 18 years ago

Last modified 18 years ago

#276 closed enhancement (wontfix)

mencoder video quality much poorer than ffmpeg's with equivalent parameters

Reported by: mplayer@… Owned by: alex@…
Priority: normal Component: vf
Version: 1.0pre6 Severity: minor
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

I'd suggest making the default lavopts values for mencoder the same as the ones
for ffmpeg.

I encoded a bunch of files with ffmpeg. Later I encoded them with mencoder
using "-ovc lavc" and "-lavopts" equivalent to the parameters passed to ffmpeg.
The mencoder videos were of a much poorer quality and larger size (and took
less time to compress).

I downloaded the mplayer and ffmpeg code to step through the code with gdb and
find out what the differences are, and I've listed them below.

The original ffmpeg parameters were:

-vcodec mpeg4 -b 400 -g 125 -qmax 10 -bf 2 -hq
-acodec mp3 -ab 64 -ar 16000 -ac 1


The original mencoder parameters were:

-ovc lavc -oac lavc
-lavcopts vcodec=mpeg4:vbitrate=400:keyint=125:vqmax=10:vhq:

acodec=mp3:abitrate=64 -srate 16000 -channels 1


But in order to get mencoder to pass the same parameters to the avcodec library
as ffmpeg does, I had to add the following options to -lavcopts:

mbd=1:vmax_b_frames=2:vi_qfactor=-0.8:preme=0:vqsquish=0:vrc_strategy=0

And "vhq" didn't affect the parameters, so it can be left out in this case.

I think it'd be good if the two programs produced the same output given
eqivalent command line options.

Change History (1)

comment:1 by poirierg@…, 18 years ago

Resolution: wontfix
Status: newclosed

Hi,

(In reply to comment #0)

I'd suggest making the default lavopts values for mencoder the same as the ones
for ffmpeg.

I encoded a bunch of files with ffmpeg. Later I encoded them with mencoder
using "-ovc lavc" and "-lavopts" equivalent to the parameters passed to ffmpeg.
The mencoder videos were of a much poorer quality and larger size (and took
less time to compress).

I downloaded the mplayer and ffmpeg code to step through the code with gdb and
find out what the differences are, and I've listed them below.

The original ffmpeg parameters were:

-vcodec mpeg4 -b 400 -g 125 -qmax 10 -bf 2 -hq
-acodec mp3 -ab 64 -ar 16000 -ac 1


The original mencoder parameters were:

-ovc lavc -oac lavc
-lavcopts vcodec=mpeg4:vbitrate=400:keyint=125:vqmax=10:vhq:

acodec=mp3:abitrate=64 -srate 16000 -channels 1


But in order to get mencoder to pass the same parameters to the avcodec library
as ffmpeg does, I had to add the following options to -lavcopts:

mbd=1:vmax_b_frames=2:vi_qfactor=-0.8:preme=0:vqsquish=0:vrc_strategy=0

And "vhq" didn't affect the parameters, so it can be left out in this case.

I think it'd be good if the two programs produced the same output given
eqivalent command line options.

I'd love to have better defaults too, but this issue has been discussed in the
past (not too long actually, around Dec 30, and no one agrees as to what would
be the good defaults.

I just suggest that you use the new shiny "profiles" option for mencoder and
mplayer and put there the options that suit you best.

Keep in mind that 'good' defaults depends on what you're trying to get at
(quality VS speed).

I mark this bug report as 'WONTFIX' as I raised that point already and failed to
reach a consensus.

Guillaume

Note: See TracTickets for help on using tickets.