A poor man's technique for playing DVDs on Media Center eXtenders

Today’s entry continues the discussion of Windows XP Media Center Edition and details how to play ripped DVDs on Media Center eXtender devices. An MCX device allows you to view content from a computer running Media Center on another TV. The thought is that you can get to all of your photos, TV (recorded as well as live), and videos remotely using the same 10’ interface you have on the main MCE machine. Historically, the one weakness of the technology is that you can’t get to ripped DVDs this way. In fact, you can’t even play a DVD physically in the main MCE machine on an extender. People with plenty of disk space on the main MCE box often deal with this limitation by converting their movies to .wmv format, but I wanted a way to preserve all the “DVDness” of the movie without having to have a second copy of it. Today’s entry provides a poor man’s technique for doing that that I've been using successfully for a year or so.

(Disclaimer: I’m not encouraging anyone to break any laws. I’m just telling you how to play DVDs you have a legal right to play on an MCX device.)

This high points of the technique are that it doesn’t require you to convert DVDs to some other format, and it doesn't prevent you from using a DVD manager (e.g., DVD Jukebox, My Movies, etc.) on your main MCE box and its ability to play DVDs, display their menus, etc. Here’s how you do it:

  1. Rip a DVD to the hard drive using your favorite software. Be sure to uncheck any option it has for automatically splitting .vob files – have it produce just one .vob for the movie. DVD Shrink, for example, can be configured to produce a single .vob for the movie portion of a DVD. Where you put this on your MCE box doesn’t matter. Put it wherever you would were MCX not in the equation and add it to your favorite DVD manager if you like. You’ll actually get multiple .vob files if the DVD has a menu, but the movie itself should be in a single file.

  2. Create a folder on the same hard drive for the express purpose of hosting MCX-friendly movies. In my case, it’s a folder off the root named “My MCX Movies.”

  3. In this MCX host folder, create an NTFS hardlink Windows to the single VOB you created earlier and give the new file a descriptive name and an extension of .MPG:

    fsutil hardlink create "d:\my mcx movies\kids football dvd.mpg" "d:\my movies\kids_football\vts_01_1.vob"

  4. On the MCX device, go into My Videos and select Add Videos (you may have to hit the More Info button to see this option). Add your MCX host folder to your video folders.

That’s it. From that point on, you should be able to drill into your MCX host folder on the MCX device and play the movie. And you will still be able to view the very same copy of the movie on your main MCE box using your DVD manager and MCE’s native support for DVD navigation.

Why this works

This works because MCXs know how to play MPEG files, and a DVD .vob is really an MPEG in disguise. An MCX can play a .vob renamed (or hardlinked) as an .mpg in the same way that it can play other video such as .wmv files. The MCX treats the ripped DVD as a regular video file rather than a DVD, but at least the movie portion can be viewed. Creating a hardlink with a different file extension to the .vob allows you to reap the benefits of renaming or copying the file without actually having to do so.

Some caveats:

  1. This doesn’t work with all movies. (Remember I said “poor man’s”? J) I’ve seen the MCX pick up the wrong audio track, and I’ve seen pauses between pieces of a movie occasionally. I’ve also seen random jumping around between parts of a move. But, on the whole, this works decently for most movies.

  2. You obviously don’t get the DVD menus on the MCX with this approach, nor the coolness of a DVD manager like DVD Jukebox. You could put each .MPG symlink in its own folder under your MCX host folder and set the subfolder’s bitmap to the cover art for the movie to get a poor man’s approximation of this. That said, someone could probably easily add this functionality to their DVD manager.

  3. You obviously need bandwidth for this – the files are huge.

  4. You have to repeat step #4 above for each MCX device you have. Also, since Windows’ hardlinks don’t work across drives, you’ll need an MCX host folder on each drive where you have ripped DVDs. Just add each of these folders to your MCX’s My Videos collection as described in step #4 above.

Why do this?

  1. Converting to .wmv is extremely time-consuming. From what people say, it takes as long or longer to convert to wmv as to watch the movie (!). You also then have at least two copies of the movie to maintain. If you ever re-rip the movie, you have to re-convert to wmv. Also, even though they’re very small compared to the original DVD, .wmvs of DVDs aren’t tiny and can still add up.

  2. By keeping the ripped movie in VOB format, you remain compatible with most of the DVD managers out there. So, you can still use DVD Jukebox or My Movies to start your movies on your main MCX box, and you can still at least watch the movies on your MCX device(s) without requiring multiple copies of the movie and without having to rename the .vob files (which would break watching them as DVDs on the main MCE box).

If you’ve already ripped to ISO, obviously, you will need to mount the ISO and re-rip to a single .vob. From that point on, just use the new VIDEO_TS/AUDIO_TS folders rather than ISOs with your DVD manager app.

Also, you need a separate folder for the hardlinks rather than keeping them in the movie’s VIDEO_TS folder (or its parent) because the MCX will basically hang when it sees the VIDEO_TS folder and your video files. It evidently gets partially into the DVD navigator code of the main MCE box, but stops just shy of doing anything useful. Because of this, I decided to put the symlinks in their own folder to keep from confusing it.