Der Raspberry Pi als Mediacenter

Aus LinuxUser 04/2013

Der Raspberry Pi als Mediacenter

Smarte Himbeere

Ihrem Fernseher fehlen Mediacenter- oder Smart-TV-Funktionen? Die rüsten Sie mit einem Raspberry Pi preisgünstig und individuell nach.

Selbst gebaute HTPCs (“Home Theater Personal Computer”) sind schon seit der Jahrtausendwende auf dem Vormarsch. Anfangs handelte es sich noch um gewöhnliche Desktop-Rechner, die sich nach dem Umbau in einem für das Wohnzimmer tauglicheren Gehäuse wiederfanden. Dementsprechend hoch fielen die Anschaffungs- und Energiekosten aus. Doch die Community kam rasch auf neue Ideen: So tauchte für XBox-Konsolen die Mediacenter-Software XBMC auf. Sie wurde im Laufe der Jahre für verschiedenste Plattformen und Betriebssysteme portiert. So kamen als Hardwarebasis Nettops wie zum Beispiel die Zbox von Zotac in Kombination mit der OpenELEC-Distribution in Mode.

Jetzt stellt eine neue Plattform alle bisherigen Mediacenter-Lösungen in Sachen Preis/Leistung, Platzbedarf und Energieeffizienz in den Schatten: Der Raspberry Pi in Kombination mit XBMC. Freilich kann ein 35 Euro teurer Embedded-PC nicht in allen Punkten die gleiche Leistung bringen wie ein 200-Euro-Nettop oder gar ein 600 Euro teurer Selbstbau-HTPC. Für viele Anwendungszwecke muss er dies aber auch nicht zwingend.

Zwar kann es nach der Auswahl eines Videos durchaus zwei Sekunden dauern, bis dieses startet – anschließend gibt der Raspberry Pi es jedoch ruckelfrei in HD-Qualität wider. Die GPU gleicht bei vielen Multimedia-Anwendungen das aus, was dem 700-MHz-Hauptprozessor an Power fehlt. Der Platzbedarf in der Größe einer Zigarettenschachtel fällt angenehm gering aus, für den Stromverbrauch in Höhe von einer niedrigen einstelligen Watt-Zahl gilt dasselbe.

Für manche Anwendungszwecke kommt man um teurere Alternativen jedoch nicht herum: Wer ein externes Blu-Ray-Laufwerk anstöpseln möchte, kann dann nur Scheiben ohne Kopierschutz abspielen. Auch bei Live-TV-Anwendungen, bei denen sowohl Back- als auch Frontend auf demselben Gerät laufen, stößt der Raspberry Pi schnell an seine Grenzen.

Einkaufsliste

Am Anfang steht in der digitalen Welt nicht das Wort, sondern die Hardware. Die Lieferzeiten des Raspberry Pi haben sich erfreulicherweise gegenüber der Anfangszeit stark verbessert. Einer der beiden offiziellen Distributoren, Farnell/element 14 [1] verschickt oft innerhalb ein bis zwei Wochen nach Bestelleingang, bei RS Components [2] dauert es dem Vernehmen nach gerne etwas länger.

Wer nicht warten möchte, bestellt das Gerät gegen einen Aufpreis direkt aus dem Lager von Wiederverkäufern. Modmypi [3] bietet beispielsweise für zusätzliche acht Euro ein Gehäuse an, welches in seiner schwarzen Ausführung im Wohnzimmer optisch nicht negativ auffällt. Aber auch deutsche Händler wie Vesalia [4], Exp-Tech [5] oder Watterott [6] führen den kleinen Einplatinen-Computer im Sortiment. Dabei gilt es jedoch stets zu kontrollieren, ob laut der Homepage des Import-Händlers derzeit Geräte auf Lager liegen und der Preisaufschlag gegenüber den offiziellen Distributoren maximal fünf Euro beträgt – ansonsten lohnt sich eher ein Direktimport aus England.

Das für den Minicomputer benötigte Zubehör, wie etwa ein HDMI-Kabel, gibt es in vielen Haushalten bereits, sodass es sich selten lohnt, zu einem vergleichsweise hohen Preis ein “Raspberry Pi Starter Kit” zu ordern. Zwar zeigt sich das Gerät etwas wählerisch darin, mit welcher Peripherie es zusammenarbeitet, doch lässt sich die Kompatibilität zu Komponenten in einschlägigen Listen [7] recherchieren.

Zum Beispiel liefert ein Smartphone-USB-Netzteil auch für den Pi genügend Strom – 5 Volt, 1 Ampere. Die an manchen Stellen zitierten 700 mA genügen dem Pi nur dann, wenn weder ein Ethernet-Kabel noch USB-Geräte angeschlossen sind. Möchten Sie eine externe Festplatte nutzen, sollte diese eine eigene Stromversorgung mitbringen oder über einen aktiven USB-Hub mit dem Pi verbunden werden. Eine Unterversorgung mit Strom kann zu unerklärlichen, willkürlich wirkenden Fehlern im Betrieb führen. SD-Karten sollten optimalerweise den schnellen Class-10-Standard beherrschen.

Ein modernes Mediacenter spielt nur dann alle Möglichkeiten aus, wenn es über Internetzugriff verfügt: Liegt keine Netzwerkdose in der Nähe des Fernsehers, bietet sich (schon aus Gründen der Optik) der Einsatz eines Micro-USB-WLAN-Sticks an, da dieser mit seiner geringen Größe fast in einer der beiden USB-Buchsen des Raspberry Pi verschwindet. Hier erweist sich zum Beispiel der N150-Stick von Netgear als unproblematisch – er läuft unter gängigen Distributionen auf Anhieb.

Prinzipiell bietet es sich an, das Mediacenter über eine Fernbedienung zu nutzen – was auch problemlos klappt. Möchten Sie jedoch später häufig Plugins nutzen, die eine Texteingabe verlangen (wie etwa die Suche beim Youtube-Plugin), ist eine Bluetooth-Funktastatur das Mittel der Wahl. Hier bevorzugen viele Nutzer das Modell K400 von Logitech, da hier auch das integrierte Touchpad funktioniert.

Theoretisch lassen sich Menüpunkte im Mediacenter auch über die XBMC-Remote-App des eigenen Smartphones auswählen. Aufgrund des Umwegs über einen WLAN-Router fällt die Latenzzeit für Reaktionen in diesem Fall jedoch höher aus. Für den Genuss von konventioneller Fernsehübertragungen können Sie an den Raspberry Pi auch per USB einen externen DVB-Empfänger anschließen – Kompatibilität vorausgesetzt. Dies ist allerdings nicht uneingeschränkt zu empfehlen – mehr dazu später im Abschnitt über Live-TV.

Distributionen

Das Einrichten einer speziellen Mediacenter-Distribution geht angenehm schnell von der Hand. Dazu laden Sie lediglich die entsprechende Image-Datei herunter und schreiben diese auf eine SD-Karte, von der Sie den Raspberry Pi anschließend booten.

Bei OpenELEC [9] handelt es sich um eine speziell für das Mediacenter XBMC zusammengestellte Distribution (Abbildung 1). Dieser Purismus sorgt für eine höhere Geschwindigkeit als bei vielen Alternativen. Das Dateisystem setzten die Entwickler hingegen absichtlich auf read-only, sodass der Nutzer nicht so leicht XBMC-fremde Programme nachinstallieren kann. Sie laden von der offiziellen Homepage ein Archiv des Images, entpacken es und nutzen anschließend mit Root-Rechen die darin enthaltene ausführbare Datei create_sdcard, um eine SD-Karte für den Raspberry Pi zu beschreiben.

Abbildung 1: Ein Einstellungsdialog der OpenELEC-Distribution.

Abbildung 1: Ein Einstellungsdialog der OpenELEC-Distribution.

RaspBMC [10] kommt ebenfalls häufig zum Einsatz. Diese Distribution entstand ursprünglich aus einem abgewandelten Raspbian (ein Debian-Derivat), hat sich jedoch inzwischen stark weiterentwickelt. Das Dateisystem lässt sich zwar hier beschreiben. Trotzdem sollten Sie nicht anfangen, ungehemmt Dutzende Programme aus den Raspbian-Paketquellen nachzuinstallieren: Laufen zu viele Services auf dem kleinen Medienserver, steigt sonst die Systemlast recht schnell an. Für das Installieren von RaspBMC gibt es ein ein Python-Skript [11], welches das Image herunterlädt und auf eine SD-Karte ausgibt.

Als Dritter im Bunde fungiert Xbian [12], das hauptsächlich dadurch auffällt, dass es anders als die anderen beiden Lösungen über keine Auto-Update-Funktion verfügt. Sie installieren das Image nach dem Herunterladen händisch via dd – falls sich die SD-Karte also etwa unter /dev/sdb befindet, mit dem Kommando

$ sudo dd if=xbian.img of=/dev/sdb

Insgesamt fallen die Unterschiede zwischen den drei Distributionen eher marginal aus. Kein Wunder: Die oberhalb des Betriebssystems verwendete Mediacenter-Software XBMC ist schließlich in allen Fällen fast dieselbe. Betrachtet man die kleinen Unterschiede genau, lässt sich sagen, dass RaspBMC tendenziell benutzerfreundlicher und OpenELEC tendenziell schneller ist als Xbian.

Wollen Sie Videos im MPEG2- oder VC1-Format (bei manchen Blu-Ray-Disks) abspielen, müssen Sie die Codecs hierfür nachträglich über die Raspberry Pi Foundation erwerben: Aus Kostengründen werden diese Codecs nicht automatisch für jeden ausgelieferten Raspberry Pi lizenziert. Hierfür rufen Sie zunächst auf der Konsole des Kleinrechners die Seriennummer des Geräts ab:

$ cat /proc/cpuinfo | grep Serial

Mit dieser und der Zahlung von je 4,50 Euro erhalten Sie die Codec-Lizenzen für MPEG2 [13] und VC1 [14] in Form von Seriennummern. Bei Xbian und OpenELEC tragen Sie die Letzteren in der Datei /boot/config.txt als decode_MPG2=0x12345678 respektive decode_WVC1=0x12345678 ein, wobei Sie natürlich jeweils die nach dem Bestellvorgang erhaltenen Serials einsetzen. Bei RaspBMC läuft der Vorgang anders ab: Diese Distribution ignoriert einfach die Standard-Konfigurationsdatei config.txt. Hier geben Sie die Seriennummern komfortabel innerhalb der XBMC-Oberfläche in einem Einstellungsdialog an.

Als nächstes sollten Sie sich die Addons von XBMC anschauen – eine der großen Stärken dieses Mediacenters. Dabei handelt es sich (meistens) um Python-Skripte, die vielerlei Erweiterungen ermöglichen – etwa den Zugriff auf Youtube oder die Mediatheken von Fernsehsendern, aber auch das Browsen in Internet-Foren mittels Fernbedienung oder das Spielen von Konsolen-Emulatoren. Für solche Erweiterungen stellt XBMC ein eigenes Paketquellen-System bereit.

Haben Sie selbst ein neues Addon geschrieben, können Sie es bei der “offiziellen” XBMC-Paketquelle zur Veröffentlichung einreichen – anschließend hat weltweit jeder XBMC-Anwender die Möglichkeit, die neue Erweiterung mit wenigen Klicks zu installieren. Aber auch dort nicht verzeichnete Addons lassen sich nutzen – diese beziehen Sie in der Regel als Zip-Datei direkt von der Homepage des Programmierers.

Medienserver

Auch wenn die Cloud-Anbietern uns gerne glauben machen wollen, dass inzwischen alles aus dem Netz kommt – nach wie vor dient typischerweise die eigene Festplatte als verlässlichste Medienquelle. Welche Lösungsmöglichkeiten bieten sich nun an, um dem heimischen Medienserver Zugriff auf einen solchen Massenspeicher zu gestatten?

Den meisten Anwendern dürfte hier die Idee kommen, eine externe Festplatte direkt an den Raspberry Pi anzuschließen. Das funktioniert zwar, stellt jedoch nicht das Nonplusultra im Spektrum der Möglichkeiten dar. Komfortabel wäre schließlich, wenn nicht nur das Mediacenter Zugriff auf den Massenspeicher mit der eigenen Film- und Musiksammlung hätte, sondern alle im heimischen LAN eingebuchten Geräte.

Direkt auf dem Raspberry Pi eine Server-Software laufen zu lassen, welche die angeschlossene externe Festplatte im LAN zur Verfügung stellt, ist jedoch eher nicht ratsam: Aufgrund der relativ schwachen CPU kann es beim Abspielen eines Films schnell zu einer Systemüberlastung kommen, wenn im Hintergrund gleichzeitig aktive Datentransfers zu mehreren Clients stattfinden. Eine sauberere und mit weitaus alltagstauglichere Lösung besteht darin, das Gerät im Wohnzimmer und den Massenspeicher physisch voneinander zu trennen – etwa durch ein im LAN vorhandenes NAS.

Nun sind handelsübliche NAS zum einen nicht eben preisgünstig, zum anderen erweisen sie sich als wenig flexibel: Es gilt mit den Protokollen zu leben, die der Hersteller von Haus aus implementiert hat. Als billige und flexible Alternative bietet es sich an, einen zweiten Raspberry Pi als Eigenbau-NAS zu nutzen. Als Distribution für das selbstgebaute NAS kann beispielsweise eine Minimal-Installation von Raspbian [15] dienen.

Falls im Netzwerk nicht das Raspberry-Mediacenter auf das NAS zugreift, sondern auch der ein oder andere Windows-Client, besteht die einfachste Vorgehensweise darin, das Samba-Protokoll zu verwenden. Dessen Performance lässt allerdings ausgerechnet bei breitbandigen Übertragungen, wie sie gerade bei Videodateien vorkommen, deutlich zu wünschen übrig. Besser fahren Sie hier mit NFS oder WebDAV. Haben Sie also auf dem NAS-Raspberry eine Server-Software wie Mediatomb installiert, um die Ordner der externen Festplatte freizugeben, kann der Mediacenter-Raspberry ohne Probleme auf die geteilten Daten zugreifen – XBMC beherrscht UPnP.

Damit durch die rund um die Uhr laufende NAS-Festplatte keine hohen Stromkosten entstehen, sollten Sie dieser einen Spindown verordnen, wenn mehrere Minuten am Stück niemand auf die Daten zugreift. Dafür installieren Sie das Paket hdparm auf dem NAS-Pi. Um die Festplatte unter /dev/sdanach einer Minute Inaktivität automatisch einzuschläfern, fügen Sie der Datei /etc/hdparm.conf folgende Zeile hinzu:

sudo hdparm -S 12 /dev/sda

Optische Scheiben kommen zwar langsam aus der Mode, aber dennoch hat der ein oder andere noch einige Filme in Form von Silberlingen zu Hause. Bei DVDs stellt das kein Problem dar – die spielt XBMC klaglos ab, vorausgesetzt, am Raspberry Pi hängt ein externes USB-DVD-Laufwerk. Bei Blu-ray-Disks sieht es jedoch eher düster aus – auf Grund eines rigiden DRM-Schutzes lassen sich verschlüsselte Scheiben derzeit nicht abspielen.

Des Kaisers neue Kleider

Die Oberfläche von XBMC lässt sich anpassen und auf Wunsch stark verändern. Alle drei für den Raspberry Pi erhältlichen Distributionen nutzen als Vorgabe den Standard-Skin von XBMC, “Confluence” (Abbildung 2). Via XML-Datei wird für einen solchen Skin festgelegt, wie die Menüstruktur aussieht und welche Bilder, Schriftarten und Grafiken der Benutzer zu Gesicht bekommt.

Abbildung 2: Confluence ist der Standard-Skin von XBMC.

Abbildung 2: Confluence ist der Standard-Skin von XBMC.

In der offiziellen XBMC-Paketquelle finden sich mittlerweile einige weitere Skins, die sich dementsprechend einfach über das Einstellungsmenü nachinstallieren lassen. Als Beispiele dafür Skins seien hier Xeebo (Abbildung 3), Back Row (Abbildung 4), Quartz (Abbildung 5) und Metropolis (Abbildung 6) erwähnt. Es existieren jedoch noch weitaus mehr.

Abbildung 3: Xeebo erinnert nicht nur zufällig an Boxee.

Abbildung 3: Xeebo erinnert nicht nur zufällig an Boxee.

Abbildung 4: Back Row gestaltet das Thema Kino optisch ansprechend.

Abbildung 4: Back Row gestaltet das Thema Kino optisch ansprechend.

Abbildung 5: Quarz imitiert auf dem Pi die Optik eines Apple-TV.

Abbildung 5: Quarz imitiert auf dem Pi die Optik eines Apple-TV.

Abbildung 6: Wer es futuristisch mag, greift zur Metropolis-Skin.

Abbildung 6: Wer es futuristisch mag, greift zur Metropolis-Skin.

Live is Live

Wäre es nicht schön, in XBMC auch Fernsehkanäle anzuschauen und gegebenenfalls aufzuzeichnen? An den Raspberry Pi müssen Sie dazu per USB eine externe DVB-Empfangseinheit anschließen, für die es auch Linux-Treiber gibt. Dazu hält LinuxTV.org umfangreiche Informationen bereit. Dort finden Sie auch für jedes unterstützte Modell Anleitungen zur Installation der passenden Treiber und Firmware-Dateien. Mit etwas Glück bringt der Kernel bereits Treiber für das vorhandene Gerät mit, und Sie müssen nur noch die richtige Firmware-Datei herunterladen und nach /lib/firmware/ kopieren.

Die DVB-Hardware sollten Sie auf jeden Fall nicht unmittelbar an den Raspberry Pi anschließen, sondern sie nur mittelbar über einen aktiven USB-Hubs mit dem Mediacenter verbinden – DVB-Empfangseinheiten benötigen vergleichsweise viel Strom. Sobald das Gerät problemlos erkannt wurde, installieren Sie die Server-Software TV-Headend. Konkrete Hinweise, wie Sie das das beispielsweise unter RaspBMC erledigen und für XBMC gleichzeitig ein zugehöriges Client-Addon aktivieren, finden sich beispielsweise in den Foren von Stm Labs [17]. Zudem müssen Sie zu einem Nightly-Build von XBMC wechseln – bei RaspBMC klappt das beispielsweise problemlos über das Einstellungsmenü.

Allerdings funktioniert Live-Fernsehen (und erst recht dessen Aufzeichnung) auf dem Raspberry Pi derzeit nur sehr rudimentär. Je nach verwendeter Hardware gibt es gröbere Instabilitäten. So konnten wir zwar einen externen DVB-S-Empfänger problemlos am Mediacenter in Betrieb nehmen, doch für einen Produktiveinsatz disqualifizierte sich der Aufbau recht schnell: Die Umschaltzeiten zwischen verschiedenen Programmen fielen derart lang aus, dass dagegen selbst ein billiger Baumarkt-Satellitenreceiver noch pfeilschnell erscheint.

Live-TV auf dem Raspberry Pi wirkt also derzeit eher noch wie ein Proof of Concept. Falls Ihnen dieses Feature sehr wichtig ist, weichen Sie lieber auf einen teureren HTPC aus. Alle anderen in diesem Artikel beschriebenen Funktionen meistert der Raspberry Pi jedoch bereits jetzt problemlos. 

Glossar

Class-10-Standard

Die SD-2.00-Spezifikation sieht die vier Geschwindigkeitsklassen 2, 4, 6 und 10 für SD-Cards vor. Dabei entspricht die Bezeichnung der Klasse der minimalen Schreibgeschwindigkeit in MByte/s.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 04/2013 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben