X360 Media Streaming

August 12, 2007

This was to be an article about a gazillion ways one can stream media to your X360 from whatever platform, but instead I’m just going to say that, with it’s current software, the Xbox 360 really isn’t a viable media hub solution.

The problem is of course video playback and the console fails in two key areas: DivX and subtitle support. Given the history of DivX, the former may never actually change. Who knows, maybe they would officially support XviD, but that would also mean support for DivX. In any case, it’s an interesting situation where support for a non-industry-standard media format may become a deal breaker for a leading systems manufacturer.

Anyway, instead of just tossing this project out the window, I thought I’d write down some findings I made in the hopes they may come in useful for someone else. I thought that concentrating only on Mac-based solutions would give an inaccurate picture since Macs aren’t “officially supported” so the leading Windows-based solutions will be looked at as well. Not every possible media server is listed here, only the ones I found to be the most relevant.

The options

  • Windows Media Center Edition 2005. I installed this on our PC to be used as a reference point for all other streaming solutions as I was under the impression that this should “form the complete package”.

MCE 2005 quickly reminds you of what a bloated, mediocre, over-managed software company Microsoft really can be. This is absolutely terrible software with nothing “media center” about it, really. It’s Windows XP Pro with an extra application hidden away under Start > Accessories > Media Center. I will not waste our your time talking about this awful mess, except to say that when I finally did get it to work with the 360 (and MS really doesn’t get any excuses here - it’s their OS and console, damn-it) it did nothing any standalone UPnP server couldn’t do.

Mac users, if you’ve ever wondered if maybe MS would actually be on to something with Windows MCE, forget about it and move on, there’ really isn’t anything to see here. :)

  • TVersity. This is the closest I got to a working solution on the PC. It’s a really straight-forward self-contained media server with some really nice extra features. You just set up your media directories, start it up and that’s pretty much it. What makes it special is it’s ability to transcode media on the fly using either WMP or ffmpeg with many meaningful options to tweak. Transcoding typical SD material completely choked our PC (2.5Ghz Celeron w/ 512 MB RAM, 100-base-T network) so unfortunately this doesn’t have all the answers. Also, subtitles are not supported (AFAIK). The app also supports straight playback from RSS media feeds, which I think is the coolest media delivery combo out there.

TVersity mops the floor with WMCE 2005 and doesn’t charge a cent for doing so. I think we’ll be hearing more from this project.

  • VME. Again, Windows-only, and I only mention this briefly here since it tends to pop up amongst the top results when you google for this stuff. It reads and looks very promising (even subtitles should be supported) but I think the dev should really focus on streamlining the whole installation process.

For starters, this requires .NET Frameworks 2.0 or later (MCE needs 1.1 + 1.1 SP1 exactly), which for me caused massive problems with J2SE. You also have to install WMP 10+, WME and a whole bunch of codecs.

Once you have all that, there appears to be 4 different ways of running this software. I tried installing and running it twice, with 2 different Windows installs and neither really worked. I really hate to comment on something, especially from an indie developer, that I couldn’t actually get to work, but that’s pretty much exactly what happened.

  • Connect360. This Mac-only media server was actually the first one I tested and it worked right off the bat. After the recent 360 media update, H.264 inside MP4 or MOV will work fine (which pretty much means being able to play video podcasts on the 360). Audio (MP3, M4A/AAC) works as expected and it’s really nice to be able to play back photo slideshows in the living-room.

Connect360 is dependent on the 360’s native format support and so it doesn’t do live media transcoding. You can still do it yourself, of course, but that’s not exactly convenient (or good).

At $20, Connect360 is pretty much a no-brainer if you just want your supported media into your living-room via a 360, the Mac way. Totally recommended.

-EyeConnect. Doesn’t actually explicitly mention X360 support anywhere but should be a standard UPnP server so I decided to try it anyway. It doesn’t work with the 360 though. I know nothing about UPnP, but comparing the tcpflow session dumps (Connect360 and EyeConnect) suggests that the 360 requires some additional (non-standard?) handshaking. As a result, EyeConnect sees the Xbox, but not vice versa.

This is a big shame, because the thing which makes EyeConnect particularly interesting, is their plugin architecture. As the user guide says:

Transcoding Services These extensions enables EyeTV to transcode content which is not compatible with certain players from its original format to a file type that is readable by the player.

That, combined with the awesome power of Perian and QuickTime would’ve maybe given use the complete package. Maybe some day…

  • MediaTomb and uShare - two open source projects that people seem to have had success with. MediaTomb can be installed through fink, but also compiles without modifications on OS X (using sqlite as the db back-end). As-is, it unfortunately doesn’t support the Xbox - there’s an option you can enable for that (–enable-mrreg-service) and I can even see the code implemented, but compilation just fails. It doesn’t seem like a big thing to fix and I’m pretty sure it’s working in SVN, but the SVN version unfortunately requires automake 1.9 or later and I just don’t feel like potentially messing up my XCode tool-chain just to try this out.

uShare on the other hand was meant to work with Xboxes from the ground up. The only problem is, it’s not yet OS X compatible. I modified some platform detection “code” and actually got it as far as compiling but strangely, linking would fail, even though all the requirements should be met. I’ll definitely keep playing with this.

These are just two of a pretty wide array of open source media servers out there. I think OS X could definitely use one of these, packaged neatly as a System Preference and I’m a bit surprised that this hasn’t been done already…

So there you have it, a short rundown on the dominant Xbox 360 compatible media servers for both the Mac and Windows. PS3 owners should be pretty happy since their consoles allegedly supports XviD. Also it would appear that the PS3 sticks closer to the UPnP specs and so enjoys wider media server support. So if you add the cost of a dedicated cross-format media bridge, BluRay player and 60 GB HDD (the 360 has 20) to the 360, then the PS3 turns out to be much cheaper. :)

This was a rather interesting subject to research and so this article will have two followups - in the next one, I’ll take an in-depth look at MediaTomb and uShare and after that, do a 180 and build and end-to-end solution from a Mac mini. Stay tuned! ;)