[MPlayer-users] 3-passes encoding - A/V loss of synchronisation

D Richard Felker III dalias at aerifal.cx
Sun Oct 5 18:37:50 CEST 2003


On Sun, Oct 05, 2003 at 03:12:37PM +0200, Alain Barthélemy wrote:
> [Automatic answer: RTFM (read DOCS, FAQ), also read DOCS/bugreports.html]
> Hello,
> 
> 1) TV capture: no problem with sound and image
> 
> mencoder -tv
> driver=v41:width=640:height=480:forceaudio:amode=0:adevice=/dev/audio
> -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1200:vhq -oac mp3lame -lameopts
> br=128:mode=3 -vop lavcdeint tv:// -vf eq=10:5 -o file.avi -endpos
> hour:min:sec
> 
> 2) Then three-passes encoding to reduce size of .avi file:
> 
> a) mencoder file.avi -ovc frameno -o frameno.avi -oac copy
> b) mencoder file.avi -ovc lavc -lavcopts
> vcodec=mpeg4:vpass=1:vbitrate=710 -oac copy -o movie.avi
> c) mencoder file.avi -ovc lavc -lavcopts
> vcodec=mpeg4:vpass=2:vbitrate=710 -oac copy -o movie.avi
> 
> A/V are now unsynchronised (sound about -1 sec).
> 
> Is there something wrong or missing in the instructions? A way to
> avoid it? -oac copy? 

I would strongly recommend _against_ using 3pass mode, ever. It's
buggy and rarely helpful.

Now in your particular situation (-oac copy), 3pass mode is totally
useless and probably messing things up. The only purpose of 3pass mode
is to encode the audio during "pass 0", but you already encoded audio
while capturing. Just remove frameno.avi, skip that step, and all
should be well.

You could also consider adding "-noskip -mc 0" to the lines for pass 1
and pass 2 -- this will prevent any attempt at a/v correction, which
should already be exactly right since you just captured the video
yourself.

Rich



More information about the MPlayer-users mailing list