Oh, I forgot to mention: ffmpeg sends lots of THIS (below) to the command line, during the 2-pass processing:
===quoting stdout from ffmpeg=== Multiple frames in a packet from stream 1 time=1804.64 bitrate=2543.1kbits/s [ac3 @ 0x83df760]incomplete frame [ac3 @ 0x83df760]invalid frame size [ac3 @ 0x83df760]incomplete frame [ac3 @ 0x83df760]invalid frame size ===end of quote=== If each such occurrence leaves a small 'hole' in the audio track, then I could imagine the audio becoming foreshortened enough to lose sync. But I don't know why it happens, or what to do about it. On Thu, 2009-07-02 at 14:11 -0400, John Detwiler wrote: > Hi, all, > > I'm trying to squeeze 2+ hours of NTSC onto a 4.7GB DVD. Previously, I > got advice on using 2-pass ffmpeg processing to reduce the bitrate. > (See http://e.kevb.net/lurker/message/20090303.175900.5c71d6c8.en.html) > > But, when performing this operation on a 45-minute .mpg, the audio is > out of sync by about 3 seconds by the end of the movie. > > So, my question is: 'Is there any practical way to specify a lower > bit-rate at the initial rendering from Cinelerra?' (And, if the answer > involves 2-pass processing, then 'What are the tricks to setting that > up?') > > At present, my workflow looks like this: > > (1) Assemble a movie (to become a dvd 'chapter') in Cinelerra. > (2) From Cinelerra, render video to foo.m2v (YUV4MPEG Stream, using > pipe: 'ffmpeg -f yuv4mpegpipe -i - -y -target ntsc-dvd %'), and audio to > foo.ac3. > (4) From command line: 'ffmpeg -i foo.ac3 -i foo.m2v -target ntsc-dvd > foo.mpg > (5) Then reduce the bit-rate (to, say, 2000kb/s): > ffmpeg -i foo.mpg -pass 1 -passlogfile foo-log -target ntsc-dvd -b > 2000k foo-output_pass1.mpg > ffmpeg -i foo.mpg -pass 2 -passlogfile foo-log -target ntsc-dvd -b > 2000k foo-output_pass2.mpg > > What I find is that the original 'foo.mpg' maintains sync, but the new > 'foo-output_pass2.mpg' is out of sync (audio coming earlier) by about 20 > minutes into the movie. > > Now, should the bit-rate-reduction scheme work if I (a) supply a -b > parameter in the pipe command (within Cinelerra)? or (b) try to specify > 2-pass processing? > > Thanks again! _______________________________________________ Cinelerra mailing list [email protected] https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra
