Here is a step-by step guide to converting a PAL DVD to an NTSC DVD using almost all free software tools. I have a certain bias toward open-source software, but in the case of MPEG2 encoding, I have to admit defeat. I'm certain there are quality open source tools to do this job, but life is short and art is long.
I got started doing this because there are lots of great old movies that were transfered to DVD in the U.K. or Europe, but never released as NTSC DVDs. You can find these titles on eBay and other web stores, but they won't work well (or at all) on standard U.S. players.
There is nothing new or unique about the methods shown here, but as far as I know, there are no guides that allow non-video geeks to do this converion. There are many video hobby and professional forums on the web and every step I discuss here has a dozen alternatives with various pros and cons. Sorting all this out took me about a year. I hope it will save you some time unless you are obsessive-compulsive enough to find a better way and teach me!
We use DVDShrink to reauthor the DVD, extracting one video title and one audio track. This guide does not cover creating menus, using multiple tracks, etc.
Next we use DGIndex, a part of the DGMPGDec package, to create an index file for the source DVD. This is needed so that other video tools can read the DVD as a single video stream. A DVD is made up of VOB files, but the programs we will be using after this stage don't want to deal with that. DGIndex will also strip out the ac3 audio track and produce a report that tells us the settings we will need in subsequent steps.
AVISynth is a script driven tool that supports all sorts of video processing . We will use a very simple AVIScript to "frame serve" the the DVD using the DGIndex output file. This is done so we can preview the video with VirtualDub and also so we can do some high quality post-processing with the MPEG rendering tools in AVISynth.
VirtualDub is used to preview the video for one reason: we need to find out for sure if the video is interlaced or not. The report produced by DGIndex will tell us this information, but it cannot be relied upon for reasons that are beyond the scope of this discussion. By stepping through the frames with VirtualDUB, we can be sure.
Now we have all the information we need to encode an MPEG2 file. For this step, we use the commercial software TMPGEnc Express. We fill in parameters using the DGIndex report and our final conclusion about the interlacing. The output we create is in standard NTSC DVD format with one exception: We keep the original PAL framerate of 25fps. (NTSC video must be 29.91fps.)
This step does some magic: The program DGPulldown will resample frames from special 25fps MPEG2 into a standard 29.5 NTSC video in such a way that our orignal video play time is perfectly preserved. This will allow us to incorporate the ac3 audio track and keep everything synchronized.
Next we author the DVD: IFOEdit combinds the pull-down version of the MPEG2 video and the ac3 audio we stripped out using DGIndex. The result is a DVD title set: a collection of IFO and VOB files.
The final step is to burn a new DVD. For this we used CDBurnerXP.
To use AVISynth, you write a two-line script with any plain text editor such as notepad and save it in a file with the .avs extension:
"A Matter of Life and Death.avs" contains: LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\DGDecode.dll") MPEG2Source("D:\A Matter of Life and Death PAL to NTSC\A Matter of Life and Death.d2v", cpu=4)
VirtualDUB is the tool we will use to preview the video one frame at a time. It turns out that VirtualDUB doesn't like to open VOBS or d2v files directly, but it will accept our avs file.
Another reason is that the MPEG2Source plugin has a postprocessing option: the "cpu=4" parameter that can acutally improve the quality of the decompressed frame.
Next we want to make an NTSC DVD compatible MPEG-2 video file. To do this, we have to take the stream of frames from AVISynth and recompress them as MPEG-2 with a new shape.
TMPGEnc Express can read from the DGIndex output file (d2v) or from the avs script. Since I wanted to create the script to do a preview, I also use it to postprocesss the frames. I have not been able to see a visible difference. If it was possible for DGIndex to scan accurately for interlacing, I would probably skip AVISynth completely.