Mediacenter on a Stick: OpenElec, XBMC, Spotimc
Als Follow-Up auf meinen Blogpost "Spotify unter Ubuntu mit Android fernsteuern" möchte ich wie angekündigt im Folgenden aufschreiben, wie mein aktuelles "Wohnzimmer-Setup" aussieht. Damit kann ich Musik und Filme nicht nur von meinem lokalen Home-Server streamen, sondern Musik eben auch über Spotify, und ich kann alles mit meinem Android-Handy bequem von der Couch aus fernsteuern. Zwar ist die Bedienung wahrscheinlich weniger elegant als bei mancher kommerziellen Lösung, dafür sind aber die Möglichkeiten dank Open Source weitaus weniger eingeschränkt.
Meine Voraussetzungen: Ich besitze ein Netbook - ein Medion Akoya E1210 von Aldi, nahezu baugleich mit dem MSI Wind U100 - und hatte es schon häufig neben den großen Fernseher im Wohnzimmer gestellt, um darauf Filme aus der Mediathek oder von Platte anzusehen. Auf dem Netbook läuft ein aktuelles Ubuntu, allerdings boote ich dieses in letzter Zeit kaum noch. Deshalb habe ich mich nach einer passenden Media-Lösung umgesehen. Da das Netbook nur einen VGA-Ausgang besitzt, habe ich den TV über ein VGA-zu-VGA-Kabel angeschlossen.
XBMC
Um die Wiedergabe von Medieninhalten auf dem großen TV zu vereinfachen, habe ich irgendwann das Paket xbmc
(und xbmc-standalone
) installiert. XBMC hieß früher Xbox Media Center und entstand als Open Source-Projekt genau für diesen Anwendungsfall: ein Mediacenter für eine (ausrangierte) Microsoft Xbox der ersten Generation.
Mittlerweile lässt sich XBMC auf einer Vielzahl von Hardware-Plattformen einsetzen, auf dem letzten LinuxTag konnte ich sogar eine Variante für den Raspberry Pi-Minicomputer bewundern. Die Hardware-Anforderungen sind also erfüllbar, mein Netbook mit einem 1,6 GHz Intel Atom-Prozessor, integriertem Intel GMA 950-Grafikchip und nur 1 GB RAM reicht für die meisten Anwendungsfälle aus. Mag sein, das sehr anspruchsvolle HD-Filme mein Setup in die Knie zwingen - in diese Verlegenheit kam ich aber bislang nicht.
Für XBMC existieren recht hübsche grafische Oberflächen, wie man sie von Mediacentern kennt. Im eigenen WLAN lässt sich XBMC sogar über einen anderen PC via Browser oder übers (Android-)Smartphone bequem von der Couch aus fernbedienen. Dazu später mehr.
Von meinem Ubuntu-Desktop aus ließ sich XBMC ganz einfach als Programm starten und erkannte die Auflösung des Fernsehers automatisch korrekt. Meinen Heimserver mit Videos und Musik konnte ich ebenso wie andere Add-Ons (YouTube, Mediathek, Soundcloud) einfach verbinden und nutzen. Die Standalone-Variante von XBMC, die ohne Ubuntu-Desktop als Unterbau auskommt, lief ebenso - allerdings wurde hier die HD-Auflösung des Fernsehers nicht richtig erkannt. Auch dazu weiter unten mehr.
OpenElec
Auch wenn sich Ubuntu so konfigurieren lässt, dass nach dem Bootvorgang automatisch XBMC gestartet wird, dauert das Hochfahren verhältnismäßig lange. Viele Komponenten, die währenddessen geladen werden, sind für den Mediacenter-Betrieb auch gar nicht nötig. Daher sah ich mich nach einer Alternative um und fand sie in OpenElec.
OpenElec, kurz für Open Embedded Linux Entertainment Center, ist eine aufs Wesentliche reduzierte Linux-Distribution, die einzig dafür ausgelegt ist, XBMC zu starten. Durch viele Optimierungen wird die Boot-Zeit kurz gehalten, und die Installation geht beinahe ebenso schnell von der Hand. Das Schönste: OpenElec lässt sich auf USB-Sticks, Compact Flash- oder SD-Karten, aber natürlich auch auf Festplatten oder SSDs installieren.
Die Installation gestaltet sich recht einfach: In meinem Fall hatte ich praktischerweise die zwei USB-Sticks vom Barcamp Karlsruhe zur Hand Nach dem Download des Intel-Builds von OpenElec 2.0.0 habe ich wie hier beschrieben den einen USB-Stick als Installationsmedium vorbereitet:
Dieser Stick und der zweite, noch leere Stick kamen nun ans Netbook, das vom Installationsmedium bootete. Im Prinzip ist diese Anleitung gültig, allerdings sind mittlerweile offenbar ein paar Abfragen hinzugekommen. Insbesondere die Frage, ob der SSH-Server immer gestartet werden soll, habe ich mit "Ja" beantwortet. Das vereinfacht später den Zugriff auf den OpenElec-Rechner deutlich:
Ist der Installationsvorgang beendet, kann der Computer neu gestartet werden; den Installations-Stick bitte vor dem Booten entfernen! Nach nur wenigen Sekunden steht XBMC zur Verfügung. Unter dem Menüpunkt "System > OpenElec Settings" müssen nun ggf. nur noch der WLAN-Zugang und weitere Voreinstellungen eingetragen werden.
xorg.conf
Wie oben angesprochen, hatte ich das Problem, dass auf meinen Sony-Fernseher ein zu kleines Bild ausgegeben wurde, d. h. die tatsächlich unterstütze Auflösung von 1920x1080 Pixeln wurde nicht richtig erkannt. Abhilfe schafft das Anlegen einer entsprechenden Konfigurationsdatei xorg.conf.
Um dort die passenden Werte eintragen zu können, loggte ich mich zunächst per SSH als root auf dem Netbook ein. Dort schaute ich im X-Logfile nach folgenden Zeilen:
<h1 id="-">[...]</h1>
<p>[2102000.182] (II) intel(0): Printing probed modes for output VGA1
[2102000.182] (II) intel(0): Modeline "1920x1080"x60.0 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync (67.5 kHz eP)
[2102000.182] (II) intel(0): Modeline "1280x1024"x60.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz e)
[2102000.182] (II) intel(0): Modeline "1360x768"x60.0 85.50 1360 1424 1536 1792 768 771 777 795 +hsync +vsync (47.7 kHz e)
[2102000.182] (II) intel(0): Modeline "1280x720"x60.0 74.44 1280 1336 1472 1664 720 721 724 746 -hsync +vsync (44.7 kHz)
[2102000.183] (II) intel(0): Modeline "1024x768"x60.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz e)
[2102000.183] (II) intel(0): Modeline "800x600"x60.3 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz e)
[2102000.183] (II) intel(0): Modeline "640x480"x60.0 25.20 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz e)</p>
<h1 id="-geshi-">[...]
Die erste Modeline ist die, nach der ich gesucht habe. Aus diesen Angaben schrieb ich folgende /storage/.config/xorg.conf
:
Identifier "Intel 945G"
Driver "intel"
Option "UseEdidFreqs" "no"
EndSection
Section "Monitor"
Identifier "LVDS1"
Option "Ignore" "1"
EndSection
Section "Monitor"
Identifier "VGA1"
Option "DPMS"
Option "primary" "1"
DisplaySize 1600 900
Modeline "1920x1080@60" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
EndSection
Section "Screen"
Identifier "Screen0"
Device "Intel 945G"
Monitor "VGA1"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1920x1080@60"
Virtual 1920 1080
EndSubSection
EndSection
Spotimc
Es gibt jede Menge Add-Ons für XBMC, die sich ganz einfach installieren lassen, aber leider (noch) nicht für Spotify. Das ist allerdings nicht ganz richtig: Mit Spotimc existiert eine Möglichkeit, Spotify auch unter XBMC zu nutzen, vorausgesetzt man nennt einen Premium-Account sein eigen.
Spotimc lässt sich wie folgt installieren: Von der Downloadseite ist die aktuellste Version herunterzuladen (momentan die 1.0-beta2). Bevor man die ZIP-Datei allerdings auf das Mediacenter kopiert, sollte noch dieser Bug gefixt werden (wie hier beschrieben). Das solchermaßen angepasste Archiv kann jetzt z. B. per scp
ins Home-Verzeichnis /storage
kopiert werden.
In XBMC lässt sich das Add-On nun unter System > Settings > Add-ons > Install from zip file
installieren und im Anschluss als Musik-Add-On aufrufen. Zunächst will Spotimc noch einige benötigte Dateien aus dem Netz herunterladen, danach ist ein Reboot notwendig. Im Anschluss sollte aber alles funktionieren.
Fernbedienung
Im eigenen Netzwerk lässt sich dieses Setup sogar recht komfortabel mit dem Smartphone fernsteuern. Am besten funktioniert das bei mir unter Android mit der Official XBMC Remote, obwohl sie seit fast einem Jahr nicht mehr aktualisiert wurde. Ausführliche Infos dazu finden sich im Wiki. In eurem Mediacenter müsst ihr den Zugriff für externe Rechner erlauben (unter Einstellungen > Netzwerk), in den App-Einstellungen müsst ihr die IP des XBMC eintragen. Die Funktionen der App wären einen eigenen Blogpost wert, aber eigentlich erklärt sich vieles von selbst. Über die Remote Control-Funktion kann wie mit Pfeiltasten navigiert und somit auch Spotimc fernbedient werden.
Als nützlich hat sich die etwas versteckte Funktion "Text Entry" erwiesen, mit deren Hilfe sich Text über die Tastatur des Smartphones eingeben und an das XBMC senden lässt. Leider gehen bei der Übertragung teilweise einzelne Buchstaben verloren (bei mir das "e"; aus "Beach House" wird "Bach Hous"), was den guten Eindruck wieder etwas trübt. Ich hoffe, dass die Entwicklung hier weitergeht, auch wenn der letzte Commit vom September datiert.
Fazit
Für meine Zwecke ist die Kombination aus OpenElec und XBMC nahezu ideal. Ich kann meine alte Hardware weiter sinnvoll nutzen und muss kein Geld für doch recht teure kommerzielle Soft- und Hardware ausgeben. Trotzdem möchte möchte ich die zukünftige Anschaffung eines schnellen, kleinen und leisen Mini-PCs mit SSD und HDMI-Ausgang, z. B. von Shuttle, nicht ausschließen. Damit wären dann wirklich alle Wünsche erfüllt.
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt
Markus Sowada am :
Vielen Dank für diesen sehr komplett wirkenden Artikel! Wirkend auch nur deshalb, weil ich natürlich nicht in fünf Sekunden schon alles nachprüfen konnte, aber es hört sich alles sehr schlüssig an.
Vor allem trifft das Thema an sich genau auf eine Erwartung von mir: auch ich denke schon eine Weile über so einen kleinen, lüfterlosen Shuttle-Rechner nach. Deine Lösung wäre aber was für sofort und vor allem könnte man wirklich austesten, ob man so eine Lösung im Alltag wirklich einsetzen würde; und das erstmal ohne finanziellen Aufwand. Die Hardware hätte ich bei der Hand (USB-Sticks und Netbook) und die Software gibt es ja in diesem Internetz.
Fazit: Nochmal vielen lieben Dank für diesen Artikel!
Matthias Gutjahr am :
Ich hatte bei meinem Setup ein paar sehr spezielle Probleme, die in der Regel vermutlich gar nicht auftreten. Wenn die ausbleiben, geht das Setup wirklich fix von der Hand. Und da nichts auf die Festplatte geschrieben werden muss, sondern alles auf dem USB-Stick passiert, ist es wirklich eine gute Lösung zum Ausprobieren - und ich weiß ja, dass du davor nicht zurückschreckst
Aber auch im fast täglichen Betrieb bei mir läuft alles gut. Inklusive Stand By-Modus und Power On übers Smartphone.
Markus Sowada am :
Du ahnst richtig: Ich werde das definitiv ausprobieren, aber noch nicht in dieser Woche. Da gibt es einfach andere Prioritäten. Zwar sind meine großen Projekte durch für dieses Jahr. Es bleiben aber noch viele Kleinigkeiten zu tun und außerdem erlaube ich mir, tageweise oder mindestens stundenweise abzuschweifen und mich anderen Themen zu widmen, die sonst im Jahr deutlich zu kurz kommen.
Immerhin klingt dieser Ansatz nach genau dem, was ich 1) ohnehin suchte und es macht mir 2) einen stufenweisen Einstieg möglich. Diese Lösung soll ja von mir und von Steffi genutzt werden und sie ist da nicht so bereit dazu, sich auf neue Bedienkonzepte einzulassen. Ergo: es muss im Alltag eine frappierende Einfachheit an den Tag legen. Dann hat es gute Chancen, verwirklicht zu werden. Aber, wenn ich Deinen Artikel so lese, dann ist da eine ausreichende Menge an Einfachheit da, wenn man das Teil nur benutzt. Und einrichten tu ich das ja.
Unter dem Strich ist es einfach toll, was die 'freie Szene' so alles möglich macht. Da muss man sich gar nicht zwingend an große Konzerne binden. Und das ist am Ende für mich persönlich vielleicht das größte Pluspunkt.