What is the best way to convert MPEG-2 videos to MP4 H.264? I've been playing around, trying to find the best settings for converting DVD files (MPEG-2) to H.264 so that I can store everything in iTunes and watch it on the TV. Most of the stuff I have has been ripped using a DVD Recorder. I am in the UK and am using the PAL format. I want to keep it as true to the original as possible, including all interlacing.

If I use Handbrake, it tries to crop bits off and resizes to a weird dimension, so I have to work to switch all of that off. Also, even if I try to turn off all the decombing and deinterlacing options, including putting the :interlaced flag in the advanced options, when I play it back on the TV it has somehow destroyed the interlacing and no longer appears smooth.

I've also tried VisualHub, which is much more simple to set up and keeps the interlacing in fine by default. I find that also converting to H.264 using MPEG StreamClip works just as well. However, one thing I have noticed while converting a TV programme about Pink Floyd is that the conversion to H.264 is making some of the colours washed out. On the computer, the green seems a bit lighter, and on the TV the red looks more like pink. Here's a screen grab from QuickTime Player (left one is MPEG-2 and the other two are MP4 H.264):



Also, ripping from TV keeps some lines at the top of the screen which contain white dots (some kind of syncing data?)... If I crop the video so it removes them then obviously that makes the aspect ratio wrong... Does that affect how it will play back on a TV?

If anyone has some good tips on how best to rip stuff, please let me know!
The solution I use for converting MPEG2 from DVD image or EyeTV recording to iPod-friendly MP4 H264 is based on HandBrakeCLI, the command line interface of HandBrake. It is also possible to use FFMpeg.

The settings are much more complex but offer much more freedom.

I spent some time figuring out what are the best options for me, then I put it in a bash script, so that I just have to give the pathname of the DVD image or the EyeTV recording as an argument to my script.