First I have to apologize for the delay. I initially announced this in my GNOME.Asia talk almost two months ago.
What’s this problem?
There are already several solutions in the wild that combine Rygel and the Rasbperry Pi, be it Guacamayo or stock Raspbian. While Guacamayo provides easy server and audio renderer images, none of the existing solutions provide a video renderer.
Why’s that? Well, the RPi is (intentionally) slightly underpowered to do video decoding on the CPU. Howerver, it supports video decoding in hardware.
The issue here is that Raspbian is based on wheezy which only comes with GStreamer 0.10 while the support for hardware-based video decoding on the RPi in gstreamer-omx was only added recently to GStreamer 1.0.x. And since this is wheezy, the Rygel package that comes with it is too old to use GStreamer 1.0.
So let’s just grab the packages from sid armhf, should be working, no?
No it doesn’t. Rasbpian is basically a recompilation of Debian for ARMv5 with hard float ABI, while Debian itself is using ARMv7. So we can’t just copy packages.
Well the good news is that we don’t need to do all the heavy recompiling of GStreamer. Someone already did that for us. This work is available at http://vontaene.de/raspbian-updates/ (from the raspberrypi.org forum).
And what exactly are you doing now?
We provide a Debian repository with Rygel’s packages backported to Raspbian. That’s a bit boring, you say? Indeed. This is only the beginning. There will also be a set of instructions to convert a Rasbian installation into a hardware-accelerated DLNA renderer. The first step to this is a meta-package called
raspbian-dlna-renderer which depends on all the other important packages necessary for a complete environment.
What’s working right now?
First, add the following repositories to your
deb http://rygel-project.org/raspbian wheezy/ deb-src http://rygel-project.org/raspbian wheezy/ deb http://vontaene.de/raspbian-updates/ . main
The packages on rygel-project.org are signed with my private GPG key, key id 7696ECBF. Then run
apt-get update && apt-get install raspbian-dlna-renderer to get all updated and necessary packages.
/boot/cmdline.txt to get a screen that is as empty as possible by adding
logo.nologo to the kernel parameters.
You can then launch Rygel as user and play files on the RPi using Helium, gupnp-av-cp from GUPnP Tools or any other DLNA control point.
A next version of the meta-package will probably add auto-starting Rygel as a system service – Maybe we’ll even provide a ready-to-go image…