ts to avi using projectx and mencoder + ffmpeg

I am feeling pretty pleased with myself tonight, having resolved another issue with my encoding of dvb-t streams to avi.

Having sorted out the crashing problem, I was now having a/v sync issues. This is easy enough to deal with by using the +/- keys to adjust a/v sync with mplayer, but annoying for other users.

I have solved the problem by demuxing the stream to its component video and audio parts, using Projectx, Mencoder and ffmpeg.

Projectx is a great java tool that allows you to crop and cut a dvb or mpeg stream and then output either to a ts/ps/m2p a/v stream or to demux the stream. By demuxing you end up with a video m2v file and an audio mp2 file.

It is easy enough to then encode the video using mencoder, then to use ffmpeg to encode the audio, and finally to use mencoder again to mux the video and audio encodes back together, which gives a perfect a/v sync. I put together a script that will encode all m2v/mp2 collections in a directory, so I can leave it running overnight if I have more than one encode to do. Here it is: Mencoder Batch Mux Script

I am using default mencoder libraries and encoders with a two pass approach, but will give h264 a crack later to see if I get better quality for the time and cpu cycles taken. The current script produces eminently watchable video on my 42″ LCD using GeeXBoX so I’m a happy bunny 🙂

If you get stuck or need help, give me a shout….

Leave a Reply

Your email address will not be published. Required fields are marked *