First of all, you may be wondering "what the hell is he talking about?!" Well, the "GOUT" is what fans affectionately call the 2006 Bonus DVDs of the original Star Wars Trilogy. It is short for 'George's Original Unaltered Trilogy'.
Why would you want to "GOUT Sync" a version of Star Wars?
Over the years, fans have created many fan edits of the original Star Wars films - some are already based on the 2006 Bonus DVDs, but many others are from VHS tapes, laserdiscs, Super 8 films, 16mm films, 35mm films, and the official Blu-rays. By matching each source, frame to frame with the American NTSC GOUT Bonus DVDs, fans can take advantage of the many official and fan created audio mixes, commentary, language and subtitle tracks. It also means that if there is a problem with the transfer, all you have to do is point to the GOUT frame number and everyone can be sure that they are talking about the same frame.
So, you just pop in the DVD and you are ready to synchronizing, frame by frame?
Unfortunately, it is a little more complicated than that. The American DVDs have "3:2 pulldown" to conform the frame rate from the original 23.976 fps to the NTSC standard which is 29.97 fps. I believe the European PAL discs are just sped up to 25 fps but I know that the PAL version of Return of the Jedi, for example, has 2 extra frames in one scene and is missing a frame in another when compared to the NTSC version of the same film... So preparing PAL references can be slightly more complex. Since I only have the NTSC versions, I shall focus on those for now.
How to Create a GOUT Reference to Synchronize To
The process for each (NTSC) film is the same, but for this example I will use Star Wars. The first thing you need to do is rip the DVD to your Hard Drive. You will need at least 15 GB of hard disk space, and a free tool like DVD Decrypter, or DVD Fab Decrypter. Using this ripping software, open the disc, make sure to copy "full disc" and specify the destination on your HDD. After ripping is finished, you need to demux the DVD-streams. For this you can use PgcDemux.
Open the original Video_TS folder of you ripped GOUT-DVD and choose "VTS_03_0.IFO". Select "by PGC", select "demux video stream", "demux all audio streams", "demux all subpic streams" and "create CellTimes.txt". Deselect "create logfile", and deselect "create a PGC VOB". Specify the output folder - perhaps a new folder, called "demuxed". Then hit "process".
While you are waiting for that, Install Avisynth. Just grab the latest version. The 32bit version is recommended, even if you have a 64-bit version of Windows, simply because there are more plugins for it. You will also want to download and extract Virtualdub.
After processing is done you need to open DGIndex. Like Virtualdub, this little app comes in a zipped folder and in this folder you will find a file called "DGDecode.dll". You will need to copy this .dll into your Avisynth plugins directory - typically C:\Program Files (x86)\AviSynth\plugins.
Open DGIndex.exe, hit "File", "Open" and browse for the m2v file in the demuxed folder that you created earlier. A window pops up, hit "OK". IMPORTANT: If you use the NTSC-DVD for your encoding, hit "Video", "Field Operation", and select "Force Film". If you use the PAL-DVD as source, change nothing here.
Now hit "file" and "save project". Specify a project name (e.g. ANH) and specify the destination. To make things easier, you should save this "ANH.d2v" file in the same folder as you found the .m2v file you just opened. When that is done, you need to create an AVISynth script. Simply right click in your Demuxed folder, and choose New -> AviSynth Script and give it a name, e.g. ANH.avs. Open this script in any text editor and paste in this information:
LoadPlugin("C:\Program Files (x86)\AviSynth\plugins\DGDecode.dll")
Now save the file, open Virtualdub, and either drag your script onto it or use File -> Open and browse to the file and open it. If all went according to plan, you should see the video in Vitualdub and the Star Wars title card should appear on frame 689. If it appears on any other frame, you have done something wrong - probably you forgot to set the field operation to Force Film in DGindex, so go back and try that step again. Once you have your gout reference, you need to add your other Star Wars source to your script and begin synchronization. The process will be the same for the NTSC versions of Empire and Jedi, though the Star Wars title card appears a frame earlier in Empire, on 688.
To synchronize the European PAL versions of the GOUT DVDs to the NTSC versions, you must also delete (and in the case of Jedi duplicate) some frames:
For the PAL Version of Star Wars, use:
Note: The Star Wars title card of Star Wars appears on frame 689
For the PAL Version of The Empire Strikes Back, use:
Note: The Star Wars title card of ESB appears on frame 688
For the PAL Version of Return of the Jedi, use:
Note: The Star Wars title card of Jedi appears on frame 689
How to GOUT Sync Star Wars from another Source
In this video, I am using a GOUT reference file I made earlier (and saved as an AVI) to synchronize a film reel to the GOUT. There are probably many other ways to do this, but I find this to be the quickest, easiest, and most frame accurate way to do it.
I didn't record the whole thing, because I assumed it would be a wee bit repetitive and boring to watch, but it only took about 20 minutes to sync the whole reel. Here is my final script:
Black = blankclip(width=848, height=360, fps=23.976, color=$000000, length=250).killAudio().ConvertToYV12()
tech = avisource("Reel2.avi").AssumeFPS(23.976).ConvertToYV12().showFrameNumber()
Gout = AviSource("StarWarsNTSCGoutSyncReference.avi").AssumeFPS(23.976).trim(27823,55748).Lanczos4Resize(848,320)
techA = Black.trim(0,64) + tech.trim(0,817)
techB = Black.trim(0,4) + tech.trim(818,929)
techC = Black.trim(0,16) + tech.trim(930,1187)
techD = Black.trim(0,5) + tech.trim(1188,2971)
techE = Black.trim(0,5) + tech.trim(2972,7229)
techF = Black.trim(0,4) + tech.trim(7230,26970)
techG = Black.trim(0,4) + tech.trim(26971,27350)
techH = Black.trim(0,4) + tech.trim(27351,27618)
techI = Black.trim(0,3) + tech.trim(27619,0)
techFinal = techA + techB + techC + techD + techE + techF + techG + techH + techI
# Missing Gout Frame Numbers