[Ffmpeg-devel] MPEG 2 Quality Issues

Baptiste Coudurier baptiste.coudurier
Thu Nov 30 10:40:35 CET 2006


Hi

Brian Brice wrote:
> Hello.
> 
> A while back I had emailed about bitrate issues regarding MPEG 2
> encoding, and now I'm back for quality issues!  I have a DV clip
> that contains some fast motion and I'm getting some horrible blocking
> when trying to encode to MPEG 2.  I am trying to find the right options
> to pass to ffmpeg that make a huge different in the quality of the
> encoding.  I've used TMPGEnc and it produced *great* results, and I wish
> I could get ffmpeg up to the same standard.  At this point I'm just
> passing numbers without knowing what they do.
> 
> I have tried setting lmin to 0 and lmax to 1*QP2LAMBDA.  This video
> smooth like I would expect, but the bitrate ended up averaging around
> 13.7 Mbps even though I tried to aim for CBR 7 Mbps.
> 
> Here's a sample screenshot of how TMPGEnc looks to ffmpeg:
> TMPGEnc: http://heapify.org/etc/ffm/tmpgenc.png
> ffmpeg:  http://heapify.org/etc/ffm/ffmpeg.png
> Major blocky-ness with ffmpeg :-(
> 
> Here is the original clip:
> http://heapify.org/etc/ffm/TestforMPG-Short.avi
> 
> Encoded with ffmpeg without lmin/lmax settings:
> http://heapify.org/etc/ffm/YuckNolminlmax.mpg
> 
> Encoded with TMPGEnc, looks *great* as I want ffmpeg's to :-(
> http://heapify.org/etc/ffm/TMPGEnc.mpg
> 
> Here is how I used ffmpeg:
> ffmpeg -i TestforMPG-Short.avi -y -f vob -vcodec mpeg2video -acodec mp2
> -ab 384k -ar 48000 -ac 2 -aspect 4:3 -b 7000k -minrate 7000k -maxrate
> 7000k -bufsize 1835008 -g 12 -bf 2 -flags ildct+trell -mbd 2
> LooksGoodBadBitrate.mpg
> 
> I know ffmpeg is capable of having decent quality at 7 Mbps, but how can
> I achieve this?  TMPGEnc does it, how can ffmpeg?  Any advice,
> recommendations, information is greatly needed and appreciated.  Thank
> you guys.
> 

ffmpeg -i TestforMPG-Short.avi -vcodec mpeg2video -minrate 7000k
-maxrate 7000k -b 7000k -bufsize 5000k -bf 2 -flags +qprd+ildct -flags2
+ivlc+sgop -mbd rd -sc_threshold 10000000 -lmin 1 -mblmin 1 -lmax
'340*QP2LAMBDA' -f vob -ab 192 ffmpeg.mpg

Feel free to add +trell.

You must know that every encoder around WILL activate qprd. You can
detect it by using -debug 16, if macroblocks have differents values then
qprd is activated.

Always try to use the largest bufsize for rc, the bigger buffer is, the
more rc will be efficient.

-- 
Baptiste COUDURIER                              GnuPG Key Id: 0x5C1ABAAA
SMARTJOG S.A.                                    http://www.smartjog.com
Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
Phone: +33 1 49966312




More information about the ffmpeg-devel mailing list