Raspberry als Media Extender / UPnP-Renderer

 

 

339950427 - Kopie links bubbleupnp - Kopie rechts Raspberry-pi - Kopie

 

 

Eine interessante Option, seinen Raspberry Pi zu nutzen ist die, ihn als Media Player einzusetzen. Dabei wird auf das Protokoll UPnP gesetzt, das weit verbreitet und für jedes System verfügbar ist. Der wohl bekannteste Client für Android ist BubbleUPnP.

[appbox googleplay com.bubblesoft.android.bubbleupnp]

 

 

Durch diese Anleitung wird es möglich sein, auf einem UPnP-fähigen Gerät wie das Android-Smartphone oder Tablet wahlweise vom lokalen Speicher oder aus einer UPnP-Quelle Musikdaten zu wählen und diese auf einem Raspberry als Ausgabegerät wiederzugeben. Dabei werden die Audiodaten lediglich in die Playlist des Raspberrys gelegt, so dass die Daten direkt von der Quelle abgespielt werden und das Steuergerät (in unserem Beispiel das Android-Smartphone) ggf. ausgeschaltet werden kann.

Selbst eine parallele Bedienung von mehreren solchen Steuergeräten ist möglich. Um einen Raspberry Pi in einen Media-Player zu erweitern, benötigen wir folgende Hardware:

  • Raspberry Pi + notwendiges Zubehör (fertig installiert)
  • Lautsprecher, aktiv, 3,5mm Klinkenstecker
  • Musik ;)

Was auf dem Raspberry installiert und konfiguriert werden muss, zeigen die folgenden Schritte.

 

1. Raspberry aktualisieren

Wie vor jedem Projekt wird der Raspberry zunächst aktualisiert. Dazu bietet sich das Script rpi-update an:

apt-get install rpi-update
rpi-update

Anschließend starten wir den Pi neu:

shutdown -r now

Nun suchen und ggf. aktualisieren wir die restlichen Pakete:

apt-get update
apt-get upgrade

 

2. GMediaRenderer installieren

GMediaRenderer bietet ein UPnP-Ziel auf dem Raspberry und arbeitet somit als sog. Renderer wie viele andere Gerät auf dem Markt ebenfalls. Dazu zählen Fernseher mit „Smart“- Funktionen oder sonstige HiFi-Geräte.

Zur Installation aller notwendigen Pakete wechseln wir als Nutzer root in unser Home-Verzeichnis mit

cd ~

…und laden gmrender herunter:

git clone https://github.com/hzeller/gmrender-resurrect.git

Um genauer zu sein, kommt hier eine Weiterentwicklung von gmrender zum Einsatz. Bei gmrender-resurrect wurden Fehler behoben, Erweiterungen hinzugefügt und vor allem: es wurde vom Ersteller für einen Raspberry optimiert.

Ist der Download beendet, konfigurieren, kompilieren und installieren wir gmrender-resurrect sowie notwendige Abhängigkeiten:

cd gmrender-resurrect
apt-get install autoconf automake libtool
apt-get install libupnp-dev libgstreamer0.10-dev 
    gstreamer0.10-plugins-base gstreamer0.10-plugins-good 
    gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly 
    gstreamer0.10-ffmpeg 
    gstreamer0.10-pulseaudio gstreamer0.10-alsa
./autogen.sh
./configure
make
make install

 

3. GMediaRenderer konfigurieren

Ist die Kompilierung fehlerfrei durchgelaufen, kopieren wir die init-Scripts an die dafür vorgesehene Stelle:

cp scripts/init.d/gmediarenderer /etc/init.d/

Dieses sog. init-Script sorgt dafür, dass der gmrender-Service beim Systemstart geladen werden kann.
Damit unser UPnP-Client nicht unter dem unzuordbaren Namen „Raspberry“ im (UPnP-)Heimnetzwerk erscheint, ändern wir im init-Script den Namen (hier im Beispiel mit dem Texteditor nano):

nano /etc/init.d/gmediarenderer

Dort die Variable „UPNP_DEVICE_NAME“ ändern und anschließend mit „STRG“ und „X“ nano beenden und mit „y die Änderung speichern.

 

4. Neustart und Test

Nun aktivieren wir das init-Script, so dass der gmrender-Dienst beim booten geladen wird. Anschließend erfolgt ein Neustart unserer Himbeere, um das Script zu testen:

update-rc.d gmediarenderer defaults
shutdown -r now

Ein Aufruf von

ps aux | grep gmedia

sollte im Erfolgsfall eine Ausgabe wie

grep

liefern. Also startet der gmrenderer bei einem Systemstart automatisch.

 

5. Lautstärke erhöhen

Als letzten Konfigurationsschritt erhöhen wir die Systemlautstärke des Raspberrys auf 100%. Dafür eignet sich am besten das Programm alsamixer. Dieses starten wir in der Befehlszeile mit

alsamixer

 

alsamixer

 

Mit den Hoch- und Runter-Pfeiltasten erhöhren bzw. verringern wir die Lautstärke und „ESC“ beendet das Programm. Die getroffene Einstellung wird mittels

alsactl store

(ausgeführt als Nutzer root) gespeichert.

 

6. Abspielen von Medien testen

Nun ist es an der Zeit, auf dem Android-Phone die App BubbleUPnP zu starten. Im Registerreiter „Devices“ sollte nun der Raspberry mit dem im Punkt 3 gesetzten Namen erscheinen und kann als „Renderer“ gewählt werden. Sämtliche Medien, welche nun in die Playlist gesetzt werden, werden auf dem Raspberry abgespielt. Ob diese Medien nun lokal auf dem Smartphone/Tablet liegen oder auf einem UPnP-Server (wie z.B. Twonky) spielt dabei keine Rolle. Bei der Möglichkeit, dass die Medien von einem UPnP-Server abgespielt werden, kann nach der Auswahl der zu wiedergebenen Titel das Steuergerät sogar abgeschaltet werden, ohne dass die Wiedergabe unterbrochen wird.

Dies ist möglich, da der Raspberry die Medien nun direkt vom UPnP-Dienst bezieht und vom Steuergerät nur die Anweisung des Abspielens erhielt.