Streaming content from a UPnP server (in my case, the XBMC media centre in my lounge room) to an Ubuntu machine is fairly simple. But there didn’t seem to be any documentation that I could find, and I ended up spending a surprising amount of time futzing around making it work. This is how I did it in Ubuntu 13.04. I use GNOME for my desktop, but confirmed that it also works just fine with the default Unity desktop. Other environments may need to tweak how the service starts, as well as clients.
We’re using the Rygel UPnP package, specifically its MPRIS interface to enable UPnP rendering to desktop media players. In addition, we install GUPnP to provide a UPnP Control Point, and finally banshee. I had a crack at using Totem as a renderer, as of April 2013 the version in Ubuntu registered as a MediaRenderer but quietly refused to play any content I asked it to. The upnp-inspector package is nice for checking everything works.
sudo aptitude install rygel rygel-preferences gupnp-tools banshee upnp-inspector
Open Rygel’s configuration file:
And enable the MPRIS interface by adding the following at end of the file:
Rygel is designed as a UPnP media server, and by default will start offering up local video, music and picture shares as media servers. If you don’t want this, it can be disabled by running the Rygel Preferences GUI tool, or by adding this to the [general] section of your rygel.conf:
Autostart Rygel at login
cp /usr/share/applications/rygel.desktop ~/.config/autostart
Log out and back in to start the Rygel service.
Finally, the MPRIS interface needs to be enabled in Banshee. Start it up, navigate to Edit -> Preferences. Click the Extensions tab, scroll down to the utilities section, and ensure the MPRIS D-Bus Interface is enabled.
Start UPnP Inspector. It should list any available MediaServers on your network and, if you didn’t disable them, local shares from Rygel. Start banshee, and it should also appear as a MediaRenderer in the inspector window.
Any UPnP control point on the network will be able to send content to banshee (I’m fond of BubbleUPnP on Android). Or start the UPnP AV Remote control program. I’ve only been playing with it for an hour or two, but get best results from external control point software. The GUPnP remote occasionally stalls trying to play things.