I have also posted this message in the Media Center Developers forum; I apologize for the cross-post, but it appeared that that forum had very little activity and I thought the chances of this post being read twice by the same person would be very unlikely.
Greetings
After searching the net for a few days, I have what appears to be a fairly surprisingly uncommon question/problem/desire.
I have borrowed, and own, a great deal of DVDs (500+). I hate keeping track of physical plastic discs, and/or purchasing writable ones when I want to copy one that I've borrowed.
Consequently, for the past 3-4 years, I've simply been ripping the DVDs to ISO images on my network file servers. Sometimes, when space got tight, I would burn a few to DVD+R. However, I have recently upgraded my network, as well as all of my principal network devices, to gigabit ethernet, and am building a more "robust" fileserver for this purpose. It will be a Linux machine with a 5-6TB RAID5 array using 12 SATA disks; the machine will be in a 2U rackmounted case while the disks will be in a separate 4U case mounted directly above or below the machine itself (the SATA cable length spec is long enough for this to actually work).
My problem is that, to watch these DVD images is rather inelegant; I have a laptop dedicated to the task with a DVI cable plugged into my HDTV running Daemon Tools, which mounts any given ISO(s) onto one or more virtual DVD-ROM drives; the operating system (and DVD player software) see the mounted ISO as a DVD inserted into a physical DVD drive. Then, I simply output a 1920x1080 signal via the DVI cable to the HDTV, and play the DVD in full-screen. Digital audio is routed to my receiver via coaxial S/PDIF for Dolby Digital or DTS sound (depending upon the DVD).
While this solution works, it's a real pain to stumble over to the computer and set it up each time I want to watch a movie. It also looks awful in my living room.
So I got an idea in my head when I bought my Xbox 360 that I could use a Windows XP Media Center machine to do the same thing -- mount the ISO as a virtual DVD-ROM drive, and use the 360 as an extender to play the DVD.
Of course, had I read up on the subject, I would have learned that playing DVDs is not supported on the 360 as an extender, because apparently nobody wants to play ISO images, and everyone would rather put the physical disc into their 360 or HD-DVD drive and watch DVDs that way.
So I looked into the Transcode360 add-in, which as of the latest version does support transcoding DVDs to the 360. I set it up correctly and have successfully watched a number of DVDs (no menus of course) mounted on a virtual drive on the MCE PC, encoded in realtime to WMV and streamed to the 360, since the 360 will only play back MPEG-2 and WMV streams.
However, since the odd PC I had lying around on which I installed XP MCE was pretty old (2.8GHz P4, 512MB RAM, 80GB HDD), it pretty much brings the machine to its knees, and as a result there are occasional artifacts and skips in the audio during DVD playback.
Since DVDs are just MPEG-2 streams anyway, though, I got to wondering whether or not I should just write an MCE add-in that only works for playing DVD images; it would open the various VOB files in the VIDEO_TS directory, grab their MPEG-2 video and audio frames, and stream them to the 360 for playback. I have been a programmer/software developer designer/architect/manager/executive for over 11 years and currently have the (dis)pleasure of writing in C#.NET nearly every day of my life, so if it's supported and not buggy, this would not be a challenging operation.
But then I learned that there are all sorts of caveats when developing for the 360 using the MCE SDK. Many features supported by add-ins running on the MCE machine itself are not supported by the extenders; furthermore, I've read conflicting information about whether "streaming" is the right idea when it comes to video playback on the 360 -- I have heard that it actually needs a file created and transferred to it which it plays as it receives.
Furthermore, neither of the above solutions (nor any I can imagine) would support DVD menus.
So I have a few questions --
- Would it be possible to do what I want to do by writing an MCE add-in that gets the MPEG-2 video and digital audio streams out of a DVD VOB file and streams them to the 360 for playback?
- Am I correct in assuming that DVD menus are pretty much not going to be possible to implement unless I do some pretty amazingly creative things that probably aren't supported in the SDK viz. playing the menu MPEGs, parsing the menu regions, parsing their destination MPEGs, writing support for the remote to navigate them, etc.?
- Is it really worth all this trouble? Would it be easier to just throw an oldish laptop/small form factor computer with DVI or component out and an infrared interface supporting some type of remote control (CIR or other) in the entertainment center, and writing software to respond to commands from the remote control and simply spawn a DVD player application that would automatically play whatever image was currently mounted? Obviously later I could go crazy and add a UI controlled by the remote that would allow selection of an image from the fileserver(s), etc.
Thanks for any information or feedback.
BB
Bookmarks