I am trying to encode my DVDs for easy viewing on my computer. I am trying to do this with transcode, but I am having a few problems.
Firstly, I use lsdvd and tccat to find and rip the desired content in raw form from the DVD to a VOB file. Once I have this raw data, I then encode the file to an AVI, using a command like:
transcode -i <name>.vob -N 0x2000 -w 1000 --nice 10 -F mpeg4 -y ffmpeg,raw -o <name>.avi"
Which compresses the video to mpeg4 with ffmpeg and copies the audio from the original as-is into the AVI file. However, when I watch the resulting movie, the audio runs slightly ahead of the video, so people's lips continue to move after they've finished speaking, just like in a badly-dubbed kung-fu flick!
Another problem I've noticed (perhaps related?) is that despite the fact that the audio stream ought to be a bit-for-bit copy of the original, the bitrate is written as 128kb/s instead of 192kb/s like it should be. If the argument -b 192 is given then it fixes this problem, but the first problem is still present so it's not the cause of that.
Encoding in mencoder using exactly the same technique works fine, but I hate mencoder and mplayer because they are both brain-dead and buggy. Mencoder won't detect half of the stuff it should, e.g. the aspect ratio, forcing me to look at every DVD I encode, read the aspect ratio and set it manually, which is just not on. I need to use transcode anyway to rip the DVD image, since mencoder claims that it can't acutally read the DVD half the time when everything else can, so if I can just get past this stupid problem then I will be happy.
So, if anyone can help me figure out the problem here I'd be very grateful
Try using the -M option. it defaults to 1, I find 3 to work best.
Also have a look at acidrip... works nicely
Argh! I never even noticed that option, despite having read the man page about 7 million times. Acidrip is not so great IMO, I think it uses MEncoder, so it suffers from the same problems I highlighted earlier, plus it is very crude and buggy. IIRC it also seems to be biased towards single-pass encoding, which is stupid because for a little more time you can get better quality with multi-pass as long as you're happy with running an encoding process in the background for a few hours (not such a big deal as long as you nice it down to a low priority)