[MPlayer-users] 3-pass encodes with ogg vorbis?

* afe0108 at yahoo.com
Mon Jan 19 08:16:56 CET 2004


--- D Richard Felker III <dalias at aerifal.cx> wrote:
> On Sat, Jan 17, 2004 at 01:43:09PM -0800, * wrote:
> > --- D Richard Felker III <dalias at aerifal.cx> wrote:
> > > On Fri, Jan 16, 2004 at 10:53:20PM -0800, * wrote:
> > > > Hello, I was wondering if anyone is doing 3-pass encodes with
> > > > ogg vorbis and have the audio in sync?  The first movie I did
> > > > was 25 fps and it worked but the few I've tried since then are
> > > > 29.97 progressive NTSC and the audio is always out of sync by
> > > > a noticeable amount.
> > >
> > > It's really 29.97 fps _progressive_? I've never heard of a whole movie
> > > like that...
> > >
> > Sorry I'm not sure what it's called?  It's not interlaced anyway.
> > When I play the vob it first says for example:
> > 
> > VIDEO:  MPEG2  720x480  (aspect 3)  29.970 fps  9800.0 kbps (1225.0
> kbyte/s)
> > [V] filefmt:2  fourcc:0x10000002  size:720x480  fps:29.97  ftime:=0.0334
> > 
> > And when it actually starts playing it quickly says:
> > 
> > demux_mpg: 24fps progressive NTSC content detected, switching framerate.
> 
> Then it's 24 fps (actually 23.976), not 29.97, right? :)
> 
> > > > Am I doing something wrong or is this a known (but not widely
> > > > discussed) problem?  To pullup the 29.97 I've been using the
> > > > "pullup" filter.  Using "ivtc=1" or "filmdint=dint_thres=256"
> > > > gives me jerky video for some reason on non-interlaced movies.
> > >
> > > How can we know if you're doing something wrong if you don't provide
> > > the command lines used? At least tell us what you mean by 3pass, since
> > > the 3pass procedure in mencoder makes absolutely no sense if you're
> > > not using mencoder to encode the audio (and does NOT work with -oac
> > > copy).
> > >
> > > Rich
> > >
> > Okay, I hope this isn't too verbose.  First I extract the audio with
> > transcode and encode with oggenc, for example:
> > 
> > transcode -i vob/ -o /dev/null -a 0 -s 1.650 -a52_drc_off
> > -x null,vob -y raw -N 0x1 --export_fps 23.976,1 -m audio.pcm
> > 
> > oggenc -r -C2 -R48000 -q 0 -o audio.ogg audio.pcm
> > 
> > (It shouldn't matter what I extract the audio with right?  If not, I
> > guess that could be my problem.)  Next I encode the video:
> 
> Shouldn't matter. I'd use mplayer -ao pcm, but tc should be ok too.
> 
> > cat VTS_01_1.VOB VTS_01_2.VOB VTS_01_3.VOB VTS_01_4.VOB |
> > mencoder -oac copy -ovc lavc -lavcopts mbd=2:mv0:trell:cbp:precmp=2
> > :cmp=2:subcmp=2:vmax_b_frames=1:predia=2:dia=2:preme=2:vme=4:v4mv
> > :vbitrate=856:vpass=1 -vf crop=720:362:0:56,scale=720:304,pullup
> > -ofps 23.976 -o /dev/null -
> 
> The fine manual says: 
> 
>   NOTE: Presently pullup lacks any way to cap the output framerate, so
>   during 30 fps progressive sequences or stills, it will output more
>   than 24 fps, meaning you'll have trouble if you use it with mencoder
>   -ofps 23.976.
> 
> Here "trouble" could be anything from bad frames to crashing to a-v
> desync.
> 
> If your movie is 23.976 fps to begin with (demux_mpg: 24fps
> progressive NTSC content detected, switching framerate.) then there's
> no need to use pullup. It will just make encoding a lot slower. Just
> use -ofps 23.976 by itself.
> 
> Anyway, my guess is that you a/v desync is caused by passing the vobs
> to mencoder with "cat". This does NOT work correctly, despite the
> examples in the (outdated) docs. You should instead be using
> -dvd-device /path/to/vobs dvd://1 (or whatever the title number is).
> 
> Rich
> 
Beautiful, this works.  To eliminate the transcode variable I used
mplayer to extract the audio:

mplayer -vc dummy -vo null -ao pcm -aofile audio.pcm -aid 128
-nowaveheader dvd://1

Then continued as above but using dvd://1 instead of stdin.  The
A/V was perfectly in sync- no more having to read lips.  Also, not
using pullup turned a 10 hr encode into only 8 hrs.

I still plan to use transcode to find the audio normalization and
bitrate.  And in the case I have several vob files I assume I could
combine them with tccat, then feed that to mencoder as a file.

Thanks for the help!



__________________________________
Do you Yahoo!?
Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes
http://hotjobs.sweepstakes.yahoo.com/signingbonus




More information about the MPlayer-users mailing list