I'm using yuvkineco -F 1 feeding into mpeg2enc with -p for pulldown. When I put the audio and video streams together it is in perfect sync for the first 100 minutes...then it gets WAY out of sync (jumps from being in perfect sync to drifting out of sync - gets out by a second or more a few seconds into the 100th minute).

This happens when I combine the streams with tcmplex, mplex, or ifoedit (the last being on Windows...) so I'm pretty sure this is a problem in either yuvkineco or mpeg2enc.

It appears to work fine on movies < 100 minutes. In general I've had nothing but problems trying to encode anything that approaches a full two hours in Linux - tcmplex, for example, wasn't able to deal with large files by default, which makes me think people haven't been using these tools for longer videos. I did eventually get it (mostly) working without pulldown (except my ac3 files don't seem to be quite right...my DVD player plays it, but if I pass it through to my receiver it doesn't...) So pulldown is about the last issue I have to deal with.

Here is how I'm doing the encoding of the video:

echo Converting NUV to M2V with pulldown
nice exportvideo -D 0 -Y 2 ${aName}.nuv 2>/dev/null | \
nice yuvscaler -I ACTIVE_$Border -O INTERLACED_TOP_FIRST -v 0 | \
nice yuvkineco -F 1 | \
nice mpeg2enc -f 8 -b ${aRate} -V 230 -n n -s -a 2 -g 6 -G 18 -I 0 -Q 0.00 -r 24 -4 3 -2 1 -N -v 0 -p -F 1 -o ${aName}.m2v

And audio:

mkfifo ${aName}_441.raw
mkfifo ${aName}.wav

nuvplay -e $aName.nuv > ${aName}_441.raw | \
sox -t raw -r 44100 -s -w -c 2 ${aName}_441.raw -r 48000 -t wav ${aName}.wav | \
ffmpeg -i ${aName}.wav -ab 224 -ac 2 -ar 48000 -f ac3 ${aName}.ac3

rm -f ${aName}_441.raw
rm -f ${aName}.wav

And to combine:

mkfifo Pipe_$aName

tcmplex -D 100 -i $aName.m2v -p $aName.ac3 -m d -o Pipe_$aName | ifogen -o DVD -f Pipe_$aName --audio=ac3+2ch+en

rm -f Pipe_$aName

Any ideas?