Neither Virtualdub nor AVISynth can handle .vob files, the format used by DVDs. These will require separate additional handling.
.vob files are compressed in MPEG2, and assuming they were made correctly, they can actually look quite excellent. I own quite a number of commercial anime DVDs, and I don’t think I can complain about the picture quality of any of them. I would consider them a more-than-acceptable source. I won’t go into how to make an acceptable .vob file here – let’s just focus on how to extract.
We will need some additional software:
This website has EXCELLENT documentation!
The included AVISynth plugin is already installed if you have installed my plugins package.
The only non-freeware or non-GPL software I use anywhere in my workflow. There might be a better alternative out there, YMMV.
You might not need this if you’re smarter than I am – see below.
A Linux port exists, but I can’t recommend it, as it requires root for no good reason. Fuck that shit, just use the Windows version in WINE. Well, if you can. See my notes below for more on that.
DGMPGDec gives you DGIndex.exe, which will generate a .d2v file, which is…. Actually, you know what? I’m just gonna copypasta the DGIndex Quickstart Guide:
Fire up DGIndex. Using File/Open, open your VOB. You should see the video. Now select Audio/Output Method/Demux All Tracks. That will cause your audio to be saved in a file(s) when you save the project.
Now select File/Save Project and enter a name for the index file (D2V file) that is going to be generated. Suppose your VOB is called 'myvob.vob'; you might choose the name 'myvob' to enter here, because DGIndex will automatically append '.d2v'. Good. Hit Save. The indexing process will start and you'll see the indicator moving along the time line to indicate the progress. Be patient if your video is large. When the process finishes, exit DGIndex.
DGIndex created an index file called *.d2v. It is read by DGDecode, which actually decodes the MPEG and delivers the video. The index file just contains information that tells DGDecode where each frame is located and some information about each frame.
But you can't just execute DGDecode directly! It has to be done through Avisynth. We'll make a script file called myvob.avs using a text editor. Later in this document I'll show you how to configure DGIndex to make the script automatically, but for now, you need to know the old-fashioned way. So put this text into a new text file you make called 'myvob.avs':
LoadPlugin("...\DGDecode.dll")
MPEG2Source("myvob.d2v")
Replace the path '...' in the first line with the path to the location where you placed DGDecode.dll.
Finally, use VirtualDub to open the 'myvob.avs' script file just as if it was an AVI file. That's it! You have your video and can navigate randomly on the VirtualDub timeline. Does life get much sweeter than this?
LOL plagiarism.
Now, the Quickstart guide goes on to claim it can extract the audio as well. I have NEVER been able to get that part to work right. Oh, it will extract .ac3 files readily enough. Guess what? Virtualdub can’t do shit with that. We need the audio in an uncompressed .wav file. So, I resort to using DVD Audio Extractor. Open up your vob files and extract them to .wav.
However, if you are doing this under Linux, I have not figured out how to get WINE to read the raw .wav file. It doesn’t seem to know how to handle that. Sadly, I have to boot into a Windows virtual machine for this next bit.
We now have separate video and audio files, so we will use Virtualdub to re-integrate them.
Create a .avs script with the MPEG2Source(“myvob.d2v”) bit from above – you shouldn’t need to actually specify the path to the DGDecode plugin, since it is already in our default AVISynth plugin path, but it doesn’t hurt anything.
Load the .avs script in Virtualdub. Go to the “Audio” dropdown, and select “Audio from another file.” Select your extracted .wav file. Play it a bit, make sure you have both audio and video. If you are satisfied, go back to Step II of this document to save the results as a Lagarith .avi and proceed from there.
Comments (0)