How to Join DVD VOB Files into an MKV with No Quality Loss


The other day I was looking into my modest "internet-sourced" DVD collection, and I was surprised that I had some really good movies there that I could actually re-watch. Problem is, I no longer watch anything on the DVD player on account of the TV being in the most disturb-prone room in the house. Now I could easily watch them on my computer, but I hate the fact that playing a DVD on it limits what I can do with what is otherwise a powerful player. The obvious problems include:
  • seeking - is often problematic and when it works, it's slow and has "long jumps".
  • can't easily load external subtitles (*.srt) without sync issues.
  • thanks to the close proximity of the DVD drive, the noise levels from seeking can be irritating, especially with badly scratched DVDs.
So the simple solution to all this was just to convert the DVDs to a more portable format that I could store locally on my hard drive. Now that seems like a good idea but that also has its share of problems:

1. converting takes a lot of time and this further affected by some other variables such as:
  • the amount of DVDs to be converted
  • the ripping/copying process i.e. copying the individual DVD onto the computer
  • encrypted DVDs will also need special software to be decrypted and ripped (this is unavoidable)
  • the time needed to convert (a.k.a transcode) your DVD to another format is dependent on not only the software in use but also how well equipped your computer is for that task (think CPU Speed, GPU for Hardware Encoding)
2. depending on your conversion settings (video & audio codecs, bit rates) quality loss could prove unavoidable
3. availability of storage space

The last two points, quality loss and storage space, weren't much of an issue as the time needed for the whole transcoding process. To avoid this, I decided to settle for a "lossless conversion" - basically what this entails is joining the individual DVD files (*.vob) into another format, in this case the very flexible MKV container (*.mkv).

Before we go any further, I should point out that you can read on how this works in this post that I'e written in detail. If you're hearing words like transcoding, codecs and containers for the first time, you definitely want to read that first.

How This Works

So how do we join VOB files from a DVD into a single MKV with no quality loss? If you read through that theory bit that I've linked to above bit and somewhat grasped it well, then perhaps you get the idea how we can accomplish that.

In a typical DVD folder, you'll find three kind of files - IFO, BUP and VOB. The VOB files are what hold the actual video and DVD menus/chapters if present. So all we need from a DVD folder are just the VOB files that have the actual video, the rest including menu/chapter segments can be discarded.

Now remember VOB, just like MKV, is a container and not the video format itself. In VOB, the codec is MPEG-2 - the standard used in all DVD Videos. So all we need to do is just change the container with no need for transcoding (i.e converting). This will ensure that the original quality in the DVD is retained but the overall video size remains unchanged. Doing this will also take only a matter of seconds to complete compared to converting.

My container of choice for this task is Matroska or simply MKV. Why MKV? Well, it's the most versatile container format out there and can virtually hold any video and audio format out there, including MPEG-2. It also supports embedded subtitles, chapters, metadata(tags), attachments and a lot more.

What's more, MKV is freely licensed and not proprietary/patented like most of the other popular containers like VOB, MP4, FLV etc. So what this means, is that anyone can use or modify it for their own needs without paying for a license or patent. In other words, MKV is like the "Linux" of containers - flexible and easily adaptable.

Should you need to reduce the size of the DVD Video, it's inevitable that you'll have to convert the video, and this time with a better codec like H.264/MPEG-4 that's achieves good quality at smaller sizes. Most video converters do this for you automatically - you just have to select you output format (a container like MKV or MP4) and the desired bit rate which is what determines quality and output size of the video.

Joining the VOBs Losslessly

First order of business is to simply join the VOB files into one VOB. The easiest way to do that is to just use a software, and in our case that's the swiss army knife for MKV - MKVToolNix.

MKVToolNix will not only join the VOB files but will also automatically "wrap" them in the MKV container. Another plus is that it automatically recognizes and adds VOB files from the same DVD - i.e. if you haven't renamed their original file names (e.g. VTS_04_1.VOB, VTS_04_2.VOB).

So this how you do it (you can also watch a video tutorial here):


1. Get and install MKVToolNix from the homepage here. It's available for almost all platforms out there (Windows, Mac, Linux, BSD etc.). There's also a portable version should you not want to use the installable one.

2. Run MKVToolNix GUI then drag and drop the first VOB containing the main video (not the menus/chapters) into the Source file box. Doing that will automatically add the remaining VOBs and append them to the first VOB.
VOB Parts Appended and Loaded

If you've renamed the VOBs, just drag and drop in the order you wish to join them and then when prompted, select the Append to existing file option. This way MKVToolNix will know the VOB files are from the same DVD.

Alternatively, you can add the VOB using the Add source files button at the bottom of the window. Likewise, the additional VOB files will be automatically added and appended. However, if you've renamed them, you'll have to select the added VOB in the Source file box then go back to that button and from the arrow select append files to add the remaining parts.
Add and Append Video Files

3. In the tracks, chapters and tags box, confirm that all the videos have the same codecs - the video (MPEG1/2) and audio (AC-3, MP3, DTS etc.). If you have a different video or audio codecs listed there the process will not work as the VOBs need to be in the same format for them to be joined. This should be the case if they all came from the same DVD.
DVD Video and Audio Codecs

4. Before finishing the process, you may want to edit some properties of the video though it's not necessary. These includes properties such as the default languages, frame rate, aspect ratio, adjustment of time codes (delays or stretch) etc. To do that, just select the video or audio item in the tracks, chapters and tags box, then in the properties box adjust the properties as you wish.

5. Select the output folder and adjust the file name in the Destination file, otherwise leave it as it is to output the MKV in the source folder. To finish, just hit the Start multiplexing button or you can Add to job cue then add more jobs so that it does them in batch.

6. Depending on the size of the video, the multiplexing (muxing) will take from a few seconds to a few minutes to finish the job. The process may end with some warning and/or errors which you can look in the job output page. You can ignore the warnings though errors may mean that the job did not complete successfully. Regardless, make sure to open the output video to verify it joined well (check the length and that the audio/video sync matches).

And that's pretty much how you join VOB files into an MKV with no quality loss. If the joining does not work or the output video has sync and length problems, you may want to try one of these other free tools for joining videos losslessly. If all fails, I think you have no choice but to join and convert the VOBs the usual way - with a Video Converter.