Archive for February, 2009

Streaming media from Linux to a games console

Tuesday, February 24th, 2009

I’ve been using a modified original XBox to stream media from around the house since about 2003, however that same box is getting a little long in the tooth – high res videos with a lot of visual noise chug and stutter and even at the best of times the XBox isn’t doing justice to the higher resolution plasma we now have.

So what are our other options? We’ve got a Wii and two XBox 360s. If someone ends up releasing a game on the PS3 we might even get one of those as well.


This is doable but completely pointless compared to the original xbox. I’d need to transcode everything in to the lower-quality sorenson flash video codec (whatever format it was in, this will be lower quality) and it won’t output at an HD resolution.


I’m told this works very well as a media playing client and gets along much better than the MS products with other machines on the network (as you’d expect). I don’t have one though.

XBox 360

There are basically two options for streaming to an XBox 360: Setting up Windows Media Center on your Windows-based machine or creating a UPnP (Universal Plug ‘n’ Play) based media server on the network. This is Linux (Ubuntu 8.10) we’re talking about so option one is right out. There are a few UPnP servers for Linux around though. Here’s a breakdown:

  • MediaTomb (package name, mediatomb)

    This is a very slick service which is easy to set up, automatically scans your media and presents it in an organised manner. It supports video, pictures and audio with a variety of formats and has the ability to transcode between formats on the fly using VLC. Very cool. Works with everything except a 360.

  • uShare (package name ushare)

    This is pretty cut-down. The video playback works fine but there is no rescan option at the time of writing meaning you have to restart the service for new videos to appear. Not good if you want to watch something the minute it arrives on the server. This can be partly alleviated by creating a cron job to restart the server daily, but it’s not ideal. The audio library on uShare is also completely useless. It seems to attempt to organise everything, completely fails and only lets you see a handful of tracks in amongst folders which don’t even contain audio. It would have been better if it had just let you walk through the folders like in video mode.

  • X360MediaServe (no deb package)

    This requires an old-fashioned manual setup as it’s not in any Ubuntu repository but works well. However it ONLY supports audio so is not suitable for my needs.

  • FUPPES (no deb package)

    Steer clear of this if you don’t like the idea of not only an old fashioned manual configure, make, make install style setup but having to google error messages in order to even get it visible from an XBox. It’s almost even worth just using uShare and x360MediaServe both at the same time so that at least you have reasonably hassle-free video and audio.

    If you do happen to have enough patience and you’ve managed to craft the config files into something workable it turns out that this is actually one of the better least rubbish solutions for streaming to 360. The video works and although you have to hammer on the vfolder.cfg file (which doesn’t get built for you) in order to get something workable going it does kind of do the job in a very basic and raw way. Given a bit more time and a decent setup script this might turn out to be quite decent server, but then given a rescan option and proper music support in uShare I wouldn’t even be trying this out.

  • TwonkyMedia Server

    Twonky sticks out in this list because although there is a native linux server available it’s locked to free trial only before you have to part with your readies. This proprietary nature of software releases is so foreign to Linux it left me reeling in confusion and I gave up on it before even getting it working. If none of that bothers you then it’s probably the best out of the entire list. I’m a man of principles though. Or a tight-arse.

  • Samba

    Inexplicably notable by its absence is Samba, SMB, straight-forward common Windows file sharing. Every OS on earth understands it and I’d been sharing media using it for years already so why doesn’t the 360 support it? No DRM control? Is it because the protocol has been tainted by FOSS under the evil hand of the EU courts? Whatever the reason, it’s pretty typical Microsoft.

At the time of writing I have FUPPES serving both video and music although I can’t map the 360 media player’s “Artist” and “Album” drill down options to it. After a lot of fiddling I got most video working with a drill-down directory list. I haven’t given up on FUPPES yet but the truth is that despite the lack of rescan and decent music support, uShare is still the better option for video streaming at the moment. Install via apt, edit a couple of lines in the config file and then that’s the whole thing set up. Sure you have to restart it to recache the media list but it’s still less effort than FUPPES is.


If you want to stream music, use x360MediaServe. If you want to stream video, use uShare. If you have a ton of patience or you’re a masochist, use FUPPES. If you want to stream both video and music and you have better things to do, use MediaTomb and get a PS3, or you could try both x360MediaServe and uShare at the same time. Bit messy though, right?

Oh hey – could this be the PS3’s first worthwhile exclusive? 😉

Update: Experiment1106 on Twitter pointed out PS3MediaServer which is apparently the best solution for streaming to PS3s (and claims basic 360 support).