Moderne AV-Receiver beherrschen neben WLAN und Bluetooth auch Streaming via UPnP, DLNA oder Airplay. Mit XBMC auf dem Raspberry Pi rüsten Sie diese Funktionen auf einer klassischen Stereoanlage nach.
Üblicherweise läuft auf einem RasPi eine von der Raspberry Pi Foundation offiziell abgesegnete Distribution wie Raspbian, Pidora oder – im Mediacenter-Einsatz – Raspbmc respektive OpenELEC. Doch im Internet tummeln sich zahlreiche andere RasPi-Linuxe, die sich gezielt individueller Aufgaben annehmen.
Zu den entsprechenden Nischen zählt der Einsatz des RasPi als Jukebox, für den in den einschlägigen RasPi-Gemeinden verschiedene Distributionen kursieren. Allen gemein ist ein Linux-Kern und ein vorkonfigurierter Musikplayer-Daemon, sodass sich die Wiedergabe vom Handy oder mithilfe von MPD-Clients vom Rechner aus steuern lässt. In der vorigen Ausgabe [1] widmeten wir uns drei Audio-Distribution und krönten Pi Musicbox [2] zum Gewinner.
Doch es braucht nicht zwingend eine auf Musik spezialisierte RasPi-Distribution. Mittels Airplay und DLNA streamen Sie Musik und Multimedia-Inhalte vom Handy oder PC auf einen an die Stereoanlage angeschlossenen Raspberry Pi. In diesem Beitrag konzentrieren wir uns auf das Mediacenter XBMC (das künftig Kodi heißt) in Form von OpenELEC [3] sowie auf Linux-Rechner und Android-Geräte als Quelle.
Installation
Bevor Sie den nächstbesten RasPi vorbereiten, sollten Sie sich überlegen, welches Modell sie als HiFi-Player nutzen wollen. Für die Ausgabe von Musik in bestmöglicher Qualität über die analoge 3,5mm-Klinkenbuchse empfiehlt es sich, zu einem RasPi B+ zu greifen. Dessen überarbeitetes Board verfügt über eine stabilisierte Stromversorgung, sodass weniger Störungen in das Audiosignal des analogen Ausgangs gelangen [4].
Zur Installation flashen Sie OpenELEC auf eine SD-Speicherkarte mit mindestens 4 GByte Speicherplatz. Linux-Anwender lesen dazu am besten mit lsblk
die Geräte-IDs der am Rechner angeschlossenen Speichermedien aus. Über die Größe lässt sich dann erkennen, unter welchem Gerätenamen der Computer die Speicherkarte führt – in Listing 1 wäre es /dev/sdd
. Mit dd
schreiben Sie das Image auf die Speicherkarte.
Anschließend richten Sie über System | Einstellungen und OpenELEC das Mediacenter ein ein. Für den späteren Einsatz als DLNA-Senke aktivieren Sie unter Dienste | UPnP den UPnP-Server und lassen das Steuern über UPnP zu.
Listing 1
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 59,6G 0 disk +-sda1 8:1 0 53,7G 0 part / +-sda2 8:2 0 5,9G 0 part [SWAP] +-sdd1 8:49 1 29,3G 0 part /run/media/clangner/usb-stick sr0 11:0 1 1024M 0 rom $ sudo dd if=OpenELEC-RPi.arm-4.0.7.img of=/dev/sdd
Android mit BubbleUPnP
Mit dem Raspberry Pi, angeschlossen an Stereoanlage und Netzwerk, verfügen Sie nun über einen DLNA-Empfänger, dem nur noch Musik fehlt. Am einfachsten gelingt das Bespielen mit einem Android-Smartphone und der App BubbleUPnP [5]. Deren Testversion installieren Sie kostenlos aus dem Play Store. Damit die Anwendung den Stream nicht regelmäßig unterbricht, benötigen Sie noch den kostenpflichtigen Lizenzschlüssel [6].
Anschließend wählen Sie Ihre Kodi/XBMC-Installation aus der Seitenleiste aus (Abbildung 1) und streamen Bilder, Videos oder Musik. Die Daten müssen dabei nicht zwingend auf dem Smartphone liegen: BubbleUPnP erlaubt auch den Zugriff auf verschiedene Cloud-Speicher. Alternativ holt sich die App Inhalte auch von Google+. Als Spezialität bietet BubbleUPnP das Streamen von Google Music an.
Auf gerooteten Handys erlaubt BubbleUPnP zudem noch das Streamen sämtlicher auf dem Handy ausgegebener Klänge. So spielen Sie zum Beispiel Musik aus Apps wie Spotify oder Soundcloud, die das Umleiten des Tons via DLNA eigentlich gar nicht unterstützen, auf dem RasPi und damit der Stereoanlage ab.
Für die Audio Cast getaufte Funktion benötigen Sie das Xposed-Framework [7] auf dem gerooteten Android-Gerät (Abbildung 2). Anschließend aktivieren Sie dann das mit der BubbleUPnP-App automatisch installierte Xposed-Modul [8]. Danach finden Sie im Kopf der Seitenleiste den Schalter Audio Cast, der die komplette Audiowiedergabe des Handys umleitet.
Gnome, Pulseaudio und DLNA
Ganz so einfach wie bei Android funktioniert das Umleiten von Audioausgaben eines Linux-Rechners zum RasPi nicht. Mit PulseAudio und dem DLNA-Aufsatz Rygel [9] lässt sich DLNA-Streaming dennoch leicht umsetzen. Unter Debian, Ubuntu oder Linux Mint installieren Sie diesen und die PulseAudio-Tools via Paketverwaltung (Listing 2) und füllen dann die Konfigurationsdatei ~/.config/rygel.conf
mit dem Inhalt aus Listing 3.
Listing 2
$ sudo apt-get install rygel rygel-gst-launch paprefs pavucontrol
Listing 3
[GstLaunch] enabled=true launch-items=mypulseaudiosink mypulseaudiosink-title=Audio on @HOSTNAME@ mypulseaudiosink-mime=audio/flac mypulseaudiosink-launch=pulsesrc device=upnp.monitor ! flacenc
Anschließend öffnen Sie die PulseAudio-Einstellungen über das Startmenü oder den Befehl paprefs
und aktivieren die Punkte Lokale Audio-Geräte als DLNA/UPnP Media-Server bereitstellen und Separates Audio-Gerät für Multicast/RTP erstellen. Anschließend sollte im PulseAudio-Lautstärkeregler pavucontrol
im Reiter Ausgabegeräte das virtuelle Gerät DLNA/UPnP-Streaming erscheinen (Abbildung 3) – tut es das nicht, starten Sie den Rechner neu.