Playing DVDs via VISTA's Media Center and the XBOX 360

OK, it’s no secret that you can catalog and watch your DVDs via Microsoft's Media Center feature in Windows, the feature itself is designed to work with these cool DVD changers like the one from Sony.

With that being said a small community of folks have come together and documented how you can use this feature with DVDs that have been copied to your hard disk.

How to enable "My DVDs" in Media Center

Community service where dvdid.xmls can be retrieved for existing titles

Problem with this approach is it will not work if you use a Media Center Extender like the XBOX 360 as your front end to Media Center. There are a bunch of reasons for this the main one is the Media Center client on the XBOX 360 doesn't support DVD navigation, thats the menuing stuff you get when you play a DVD in your DVD player.

Now you’re probably asking yourself how can that be? Well the answer is the extender part of the 360 doesn’t have access to the rest of the 360 where this logic exists and the work to remote this experience to the extender from the host has not been done.

So why not just start the main movie in when playing the DVD over the extender? Well most DVDs express something called Prohibited User Operations (PUOs), DVDs use PUOs to control if you have to watch other streams on the DVDs before you can watch the movie (the FBI warning, previews, etc.) Microsoft would need to implement these (and a bunch of other things) if they were to support streaming of DVDs not doing so would surley piss someone off.

OK so where does that leave us? Well standard DVDs are based on mpeg 2, and the extender can play mpeg 2 files so it’s just a matter of making the DVD look like a regular old mpeg 2.

So what does that mean we need to do?

  1. Remove all content other than the main movie (like interviews, menus, alternate endings, previews etc.)
  2. Get the multiple vob files that make up the main movie into a single file (this wouldn’t be needed if the extender supported video play lists and pre-buffering).
  3. Remove (without transcoding and lessening the picture quality) the extra "control" frames (layer breaks, chapter marks, etc.) that are baked into vobs (this wouldn’t be needed if the mpeg codec in the extender were more robust).

Well there are lots of ways to remove all but the main movie, one way (that also satisfies #2) is to look at the VIDEO_TS folder, identify each of the 1GB (or so) VTS_*_*.vob files (the file names will be sequential) and concatenate them together into a single file using the copy command:

copy /b VTS_06_1.VOB+VTS_06_2.VOB+VTS_06_3.VOB+VTS_06_4.VOB+VTS_06_5+VOB+VTS_06_6.VOB+VTS_06_7.VOB "E:\Movie Name.VOB"

Now with #1 and #2 satisfied you need to need to remove the "extras" in the mpeg stream that make it a special DVD mpeg; there are a number of tools out there that can be used for this but for examples sake we will use one called VideoReDo Plus.

VideoReDo Plus has a feature called quick stream fix, what this does is remove these extras it takes just a few minutes to do this, although there is a proper user interface for VideoReDo Plus you can also do this with a command line, for example:

cscript //nologo "C:\Program Files\VideoReDoPlus\vp.vbs" "E:\Movie Name.vob" "E:\Movie Name.mpg" /t1

Now you have a plain-ol-mpeg that will play just fine from the "Videos" section on Media Center.

There is one more thing I should say, there is a bug in the extenders mpeg 2 handling code that did not exist in the earlier releases; it will only play the default audio track (0x80), if there is no default audio track no audio will play.

Again there are many ways to fix this, one is by using a tool called TMPGEnc 4.0 Xpress, it has something it calls its MPEG Tool. Using this you can fix this problem easily (use the multiplex option).

So in summary what are the limitations of this approach?

  1. No DVD extras like like interviews, menus, alternate endings, previews etc
  2. No subtitles (they are still in the mpeg but Media Center doesn’t support subtitles in mpegs).
  3. No alternate audio tracks (there is no way to toggle which audio track will be played media center gets to pick).
  4. Loss of chapter based navigation.
  5. No support for fast forward and rewind, only skip forward and skip back (this is related to the way Microsoft implemented fast forward and rewind, they just don't do it on mpegs).

For me the biggest shortcoming is the lack of sub-titles, this technically should be able to be fixed by a add-in that sits in the mpeg processing path that would overlay the text but from the mpeg stream (I am 90% sure all the right interfaces exist to do this).

If these limitations are a problem for you a alternative to what I have described is called Transcode360. What this does on-the-fly transcode the VOB into another video format called a WMV. This approach addresses 1 & 2 above but it also has its own short comings, some of which include:

  1. When playing streamed content a extender has to guess at where it ends, there are cases where it will guess incorrectly and end the streamed content too early.
  2. On the fly transcoding requires lots of CPU and memory, it will take a pretty beefy machine to do this hiccup free.
  3. By transcoding the video you lose video quality.
  4. Its unclear what the future of Transcode360 is, the author has publicly stated he will stop work on it and the updates to make it work on VISTA are being done by someone else; who knows how long development will continue.

Oh, I almost forgot the most important part! How do you get all these lovely mpegs to show up in Media Center like they are movies and not just MPEGS? After all the DVD Gallery doesn’t show for extender sessions, well my friend Brian produces a program for managing DVD collections, this program also has a Media Center front end, the program is called My Movies.

01The biggest shortcoming with My Movies is that it is what is called Hosted HTML Media Center add-in, before VISTA this was all that was available to third-parties like Brian; the downside of this model is that it’s very slow especially with large collections. In VISTA a new markup language called MCML was introduced that will allow him to have a 1st class experience just like the rest of Media Center but this will take some time as this essentially requires a total re-write.

One last point, all I described above will not work on just any DVD, only those that do not have DRM on them (DVDs use a form of DRM called CSS) this is to prevent people from stealing movies; buy the content you watch it’s only fair!

Print | posted on Tuesday, January 16, 2007 7:18 PM

Feedback


Gravatar

# Beefy machine? 1/16/2007 9:47 PM Trevin

Great blog post Ryan, informative as usual. Quick question though. You said:

"On the fly transcoding requires lots of CPU and memory, it will take a pretty beefy machine to do this hiccup free."

How beefy of a machine are we talking about? In my case this CPU-bound since I'm going over at least 100Mbit/s and likely Gigabit ethernet if I can get the right server going. What CPU would be sufficient? I'm thinking of the Shuttle X100 box configured with a "Intel Core 2 Duo T5500 1.66GHz" since the T7400 (2.16ghz) is a $266 premium over it.


Gravatar

# re: Playing DVDs via VISTA's Media Center and the XBOX 360 1/16/2007 10:08 PM Ryan

Well I was using a dual processor 3GZ XENON machine and I still had some hiccups, I think you might need aa 3.2GHZ Duo its hard to say but your probably better off checking on Runtime360.com for specific guidance as I decided against going this way because I may stream to two hosts at the same time and my tests showed this not to be workable with this model.

As for whay kind of network you need, 360s only support 10/100MB so gigabit wont buy you anything on the actual streaming but it will help with moving large files around.

BTW, another way to get the main movie only into a single VOB is to use a tool called DVDShrink; be sure to turn off 1GB chunking, and to set the target media at the largest size so you dont loose any picture quality.


Gravatar

 re: Playing DVDs via VISTA's Media Center and the XBOX 360 6/17/2007 6:25 PM IR1SH SN1PER

There is a way of adding the subtitles back into the mpg file.

The trick is to rip the subtitles from the original .vob file (after you join them), using 'SubRip'. You then end up with a .srt file.

Run the .vob file through VideoRedo as usual.

The next part requires a good video editor, I use 'Ulead Video Studio Plus'.($100) (You need to use the 'Plus' version if you want to keep the 5.1) I don't know of any freeware programs that can do this.

Launch Ulead and insert the .mpg file into the time line. Click on Overlay and click on Title ('T'). You will then see an option to add a subtitle file. Click on this and select the .srt file.

Select 'Share' and select 'Output to file'. For the quality settings, select 'Same as original'.

Ulead will then merge the files together, re-rendering the frames with subtitles where necessary.

So now, when you play them through the extender, all the subtitles appear because they are now embedded in the frames.

Works beautifully!


 re: Playing DVDs via VISTA's Media Center and the XBOX 360 4/20/2008 1:31 AM on

xvid4psp - is a freeware softwarer with subs overlay and 5.1 sound


Gravatar

# re: Playing DVDs via VISTA's Media Center and the XBOX 360 12/13/2008 2:28 AM kids game

thanks


Gravatar

# re: Playing DVDs via VISTA's Media Center and the XBOX 360 12/13/2008 8:38 AM Ryan

xvid4psp will not work for extenders.


Gravatar

 re: Playing DVDs via VISTA's Media Center and the XBOX 360 1/6/2009 9:56 AM Bert Magin

You said: When playing streamed content a extender has to guess at where it ends, there are cases where it will guess incorrectly and end the streamed content too early."

All my "Transcode360" ripped to VOB DVDs end early when "watched streamed" using MM2 on a Linksys DMA2100 Extender. However, the SAME transcoded file "plays" just fine front eh "Vidoes" interface of MC. Is there a difference between "playing" and "streaming"?


Gravatar

# re: Playing DVDs via VISTA's Media Center and the XBOX 360 1/6/2009 11:08 AM Ryan Hurst

Yes there is a difference between playing and streaming, in the case of streaming the PC is doing a on-the-fly conversion, you start watching the content before the conversion is done so MCE is guessing on where in the stream you are.

In your case I guess your playback rate is faster than the conversion, its just a guess though.

Title  
Name  
Email
Url
Comments   
Please add 5 and 1 and type the answer here: