Anleitungen zum beliebten Media Center XBMC gibt es sicher wie Sand am Meer. Nur leider sind viele davon in englischer Sprache verfasst oder setzen fundierte Grundkenntnisse voraus. Gerade Einsteiger haben es bezüglich Installation und Konfiguration nicht wirklich einfach, wie ich selber erfahren musste. Dieser Guide soll Neueinsteigern als zentrale Anlaufstelle für die Installation und Konfiguration des XBMC dienen.

Warum dieser Guide?

Ich selber habe vor kurzem ein Apple TV2 geschenkt bekommen. Da mich die vorhandene Hardware in seiner Kompaktheit begeistert, gleichzeitig die sture Bindung an iTunes aber sehr enttäuscht hat, habe ich mich zu einem Jailbreak entschlossen und anschließend das XBMC installiert. In Kombination mit dem XBMC ist das Apple TV2 wirklich eine geniale Streaming-Lösung: absolut lautlos, geringer Stromverbrauch, WLAN und extrem stylisch. Einziger Kritikpunkt: Medien werden nur bis 720p-Auflösung wiedergegeben. Alle Auflösungen darüber werden auf 720p herunterskaliert. Für mich nicht so entscheidend, da ich hauptsächlich TV-Serien und meine archivierten DVDs abspiele.

Um alle Möglichkeiten rund um das XBMC zu nutzen, habe ich dann auch meinen Windows-Rechner damit ausgestattet und einen zentralen Datenbestand mit MySQL-Datenbank eingerichtet. Auch heruntergeladene Bilddateien (Thumbnails, Poster, Fanart, etc.) sollten zentral auf meinem Netzwerkspeicher abgelegt werden.

Da ich während der Test- und Konfigurationsphase doch oftmals mit einigen Problemen zu kämpfen hatte, habe ich mir gedacht, dass gerade für Neueinsteiger ein solcher Guide hilfreich ist.

Dieser Guide beschreibt folgende (meine) Konstellation:

  • XBMC-Installationen auf Apple TV2 und Windows-Rechner
  • Bilder, Musik und Videos liegen zentral auf einem Netzwerkspeicher (NAS mit Windows-Freigaben)
  • gemeinsam genutzte MySQL-Datenbank auf NAS
  • gemeinsam genutzter Image-Ordner auf NAS
Ich werde hier Schritt für Schritt die Installation und Konfiguration ausführlich beschreiben.

Was ist das XBMC?

Fangen wir an, das XBMC zu beschreiben. XBMC als Medienplayer zu bezeichnen wäre zu einfach. Es ist viel mehr.

Wikipedia sagt:

XBMC Media Center (früher „XBox Media Center“ genannt) ist eine unter den Bestimmungen der GPL erhältliche freie Media-Center-Software. Sie dient dem Abspielen von Videos, Bildern und Musik von DVD, Festplatte und Server sowie der Wiedergabe von Audio- und Video-Datenströmen aus dem Internet.

Es spielt aber nicht nur hervorragend so ziemlich alle Inhalte von unzähligen Quellen ab, es verwaltet die Medien mit Meta- und Zusatz-Informationen und jeder Menge Bildmaterial. Und das optisch äußerst elegant und für große TV-Bildschirme optimiert. Darüber hinaus können auch eine Vielzahl von Anwendungen installiert, das aktuelle Wetter angezeigt werden und noch vieles mehr. Es ist die Multimediaschaltzentrale, welche kaum Wünsche offen lässt.

Download

Das XBMC steht für Linux, Mac OS, Windows sowie das Apple TV zur Verfügung. Die Installationsdateien erhaltet ihr auf der XBMC-Webseite.

Aktuell ist die Version 10.1 „Dharma“; in den Startlöchern steht die Version 11 „Eden“, die unter anderem TV und PVR-Funktionen bieten soll. Gerade ist eine erste Beta-Version veröffentlicht worden.

Installation

Windows

Die Installation über den Installationsassistenten sollte niemanden vor große Probleme stellen. Wichtig für uns: die benutzerspezifischen Einstellungen, die lokale Datenbank, Addons, Skins etc. werden im Verzeichnis

C:\Users\%username%\AppData\Roaming\XBMC\

gespeichert. Dieses Benutzerverzeichnis werden wir später noch benötigen. Also merkt euch den Pfad.

Apple TV2

Um das XBMC auf dem Apple TV2 zu installieren, muss das Apple TV2 gejailbreaked sein (klasse diese eingedeutschten Wörter). Beschreibungen, wie ihr einen Jailbreak macht, gibt es mehr als genug. Von daher spare ich mir diesen Schritt. Ich habe Seas0nPass genutzt und hatte keine Probleme.

Gehen wir also davon aus, dass ihr ein Apple TV2 habt, auf das ihr per SSH oder SFTP zugreifen könnt. Bindet das Apple TV2 in euer Netzwerk mit einer statischen IP-Adresse ein, damit wir per SSH darauf zugreifen können.

Nun wählt euch mit einem SSH-Client, wie zum Beispiel PuTTY, auf dem ATV ein. Tragt die IP-Adresse des ATV ein, wählt als Verbindungstyp SSH und klickt auf Open.

Zugang erhaltet ihr mit:

login as: root
passwort: alpine

Um das XBMC auf einem ATV mit iOS 4.x zu installieren, gebt nacheinander folgende Befehle ein:

apt-get install wget
wget -O- http://apt.awkwardtv.org/awkwardtv.pub | apt-key add -
echo "deb http://apt.awkwardtv.org/ stable main" > /etc/apt/sources.list.d/awkwardtv.list
echo "deb http://mirrors.xbmc.org/apt/atv2 ./" > /etc/apt/sources.list.d/xbmc.list
apt-get update
apt-get install org.xbmc.xbmc-atv2
reboot

Hat euer ATV bereits iOS 5.x tippt ihr diese Kommandos ein:

apt-get install wget
wget -O- http://apt.awkwardtv.org/awkwardtv.pub | apt-key add -
echo "deb http://apt.awkwardtv.org/ stable main" > /etc/apt/sources.list.d/awkwardtv.list
echo "deb http://mirrors.xbmc.org/apt/atv2 ./" > /etc/apt/sources.list.d/xbmc.list
apt-get update
mkdir -p /Applications/AppleTV.app/Appliances
apt-get install org.xbmc.xbmc-atv2
mkdir -p /Applications/XBMC.frappliance
reboot

Kleiner Tipp: ihr könnt die Befehle auch kopieren (aber bitte jede Zeile einzeln) und per Rechtsklick in PuTTY einfügen.

Der letzte Befehl löst einen Neustart aus. Ist das ATV neu gestartet, werdet ihr einen neuen Menüpunkt mit dem Namen ‚XBMC‘ entdecken.

Eins müssen wir noch tun: Apple erinnert an Updates mit einer nervenden Onscreen-Meldung, die zum Absturz des XBMC führen kann. Um die Meldungen zu unterdrücken, führt folgende Befehle aus:

apt-get update
apt-get install com.nito.updatebegone

Auch beim Apple TV gibt es einige wichtige Pfade, die wir kennen sollten und später noch benötigen:

Der Benutzerordner auf dem Apple TV2 liegt im Verzeichnis

/private/var/mobile/Library/Preferences/XBMC

Zur Fehleranalyse auch interessant: das Log-File findet ihr hier:

/private/var/mobile/Library/Preferences/xbmc.log

Updates

Natürlich wird das XBMC ständig weiterentwickelt. Neben den offiziellen getesteten Release-Versionen, gibt es auch die sogenannten Nightly-Builds. Das sind quasi Schnappschüsse vom aktuellen Entwicklungsstand. Wer diese installiert, sollte sich klar sein, dass die Versionen ungetestet bzw. nur sehr sporadisch getestet sind, und daher Fehler und Abstürze nicht auszuschließen sind. Wer auf Nummer sicher gehen will, nimmt also die aktuelle Release-Version.

Unter Windows wird das Installationsprogramm der neuen Version ausgeführt und damit die bestehende Installation überschrieben.

Ein Update auf dem Apple TV2 macht ihr auf die selbe Art und Weise, wie die Erstinstallation. Die oben genannten Befehle ermitteln die letzte stabile Version (Release) und installieren diese über die vorhandene Installation. Eure Einstellungen sollten dabei in der Regel erhalten bleiben. Wer sicher gehen will, sichert per FTP vor dem Update den Ordner

/private/var/mobile/Library/Preferences/XBMC

Schaut öfter mal auf der Webseite nach, wie der aktuelle Entwicklungsstand ausschaut. Sofern größere Versionsupdates anstehen (z.B. von 10.1 auf 11), solltet ihr euch vorher schlau machen, ob und was es beim Update zu beachten gilt.

Dazu noch ein Hinweis: nutzt ihr eine zentrale Datenbank (s. nächster Punkt) solltet ihr immer alle Clients zeitnah auf die selbe Versionsnummer bringen. Warum? Mit einer neuen Version gibt es zumeist auch Änderungen an der Datenbank. XBMC legt automatisch eine neue Datenbank an, was dazu führt, dass Clients, die noch nicht auf den neuesten Stand gebracht wurden, natürlich noch auf die alte Datenbank zugreifen. Änderungen werden so nicht synchronisiert.

Datenbank-Unterstützung für mehrere XBMCs im Netzwerk

Das XBMC speichert Meta-Informationen (Genres, Beschreibungen von TV-Serien und Filmen, ID3-Tags von Musik etc.) der Medien in einer eigenen (SQLite)Datenbank. Diese wird bei der Installation auf jedem Client automatisch angelegt.

Ein zentraler Datenbestand hat viele Vorteile:

  • Daten werden nur einmal vorgehalten, nicht auf jeder XBMC-Installation
  • synchrone Datenhaltung, einmalige Aktualisierung
  • jeder Client ist immer aktuell
  • Filme, Videos, Musik werden zentral als abgespielt gekennzeichnet

Ein weiterer Vorteil ist die Speicherung der Wiedergabezeit bei Unterbrechung. Wer beispielsweise an seinem XBMC im Wohnzimmer begonnen hat einen Film zu schauen, und sich dann aufgrund einsetzender Müdigkeit entschieden hat, den Film mit dem XBMC im Schlafzimmer weiterzuschauen, kann mit einem Druck auf Play an genau der gleichen Stelle weiterschauen. Cool, oder?

Voraussetzung für eine zentrale Datenbank ist ein Datenbankmanagementsystem (DMS). Wir nutzen hierfür den kostenlosen MySQL-Server. Ladet euch das Installationspaket für den MySQL Community Server hier herunter und installiert diesen auf eurem NAS.

Zur Installation gibt es nicht viel anzumerken. Wählt einfach ‚Typische‘ Installationsmethode.

Nach Abschluss der Installation müssen wir eine SQL Server Instanz anlegen. Lasst den Haken gesetzt und klickt auf Finish.

Die Instanz richten wir bequem über einen Wizard ein.

Ihr wählt die Standard-Konfiguration:

Der MySQL Server soll als Windows-Dienst eingerichtet werden, damit er automatisch beim Windows-Start mitgestartet wird.

Vergebt ein Kennwort für den Root-Zugriff (oder auch nicht).

Damit ist die Konfiguration abgeschlossen und der MySQL Server lauffähig. Nun gilt es einen Datenbankuser anzulegen, durch den das XBMC Zugriff auf die Datenbanken bekommt. Dazu öffnet ihr aus dem Startmenü die MySQL Eingabeaufforderung

und gebt folgende zwei Befehle ein:

CREATE USER 'xbmc' IDENTIFIED BY 'xbmc';

um einen Datenbank-User mit Kennwort anzulegen und

GRANT ALL ON *.* TO 'xbmc';

um dem Datenbank-User Zugriffsrechte auf alle Datenbanken zu erteilen.

Die Datenbanken selber brauchen wir nicht anzulegen. Dies erledigt XBMC später automatisch für uns.

Um XBMC mitzuteilen, dass wir nun nicht mehr die lokale sondern eine zentrale Datenbank nutzen, müssen wir eine Datei mit dem Namen advancedsettings.xml erstellen und den folgenden Inhalt einfügen:

<advancedsettings>
    <videodatabase>
        <type>mysql</type>
        <host>ipadresse_nas</host>
        <port>3306</port>
        <user>xbmc</user>
        <pass>xbmc</pass>
        <name>xbmc_video</name>
    </videodatabase>
    <musicdatabase>
        <type>mysql</type>
        <host>ipadresse_nas</host>
        <port>3306</port>
        <user>xbmc</user>
        <pass>xbmc</pass>
        <name>xbmc_music</name>
    </musicdatabase>
</advancedsettings>

Diese Datei werden wir später in den Benutzerordner der XBMC-Installationen kopieren.

Eine Besonderheit gilt es dabei noch zu erwähnen: XBMC hängt an den von uns vergebenen Datenbanknamen noch die Version der internen Datenbank. Es wird also keine Datenbank xbmc_video oder xbmc_music angelegt, sondern der Name der Datenbank lautet in XBMC Version 10.1 xbmc_video57 und xbmc_music18.

Datenbanksicherung einrichten

Wo wir gerade beim Thema Datenbanken sind, passt sicher auch der Hinweis auf die regelmäßige Datenbanksicherung. So könnt ihr bei Hard- oder Softwareproblemen die Daten bei Bedarf schnell wiederherstellen.

Die einfachste Möglichkeit besteht darin, dass MySQL-Tool mysqldump.exe im Programmverzeichnis der MySQL-Server-Installation mit folgender Syntax für die Video-Datenbank (Version 10.1) auszuführen:

mysqldump -uxbmc -pxbmc xbmc_video57 > <einandererpfadaufeineranderenfestplatte>\xbmc_video.sql

und für die Musikdatenbank (Version 10.1)

mysqldump -uxbmc -pxbmc xbmc_music18 > <einandererpfadaufeineranderenfestplatte>\xbmc_music.sql

Das kann natürlich jetzt noch nicht funktionieren, da noch keine Datenbanken angelegt sind. Das macht XBMC, wie bereits erwähnt, beim erstmaligen Start.

Ein Tipp noch: wie ihr eine regelmäßige automatisierte Sicherung unter Windows einrichtet, beschreibe ich in diesem Artikel.

Gemeinsamer Thumbnail-Ordner

Für die im XBMC verwalteten Medien gibt es diverses Bildmaterial (Fanart, Poster, Cover, Banner, etc.), welche durch Scraper (ermitteln Meta-Informationen zu TV-Serien, Filmen, etc.) hinzugefügt und automatisch heruntergeladen werden. Diese Bilddateien werden generell im Benutzerordner der XBMC-Installation gespeichert. Damit diese nicht für jedes XBMC separat gespeichert werden, kann man den Bilder-Ordner umleiten und zentralisieren, beispielsweise auf einen Netzwerkspeicher. Das solltet ihr unbedingt machen, da ihr sonst beim Apple TV irgendwann Speicherplatzprobleme bekommen werdet.

Die Umleitung erfolgt durch einen Eintrag in der bereits bekannten advancedsettings.xml. Aber der Reihe nach.

Wir wollen die Bilder zentral auf dem NAS mit einer Windows-Freigabe einrichten. Dazu müssen wir erst einmal das Verzeichnis auf unserem NAS anlegen und freigeben. Achtet darauf, dass ausreichend Festplattenplatz zur Verfügung steht, denn die Bilder (Fanart, Poster, Cover, etc.) benötigen einiges an Speicherplatz. Wer eine große Sammlung hat, sollte hier schon einige Gigabyte einplanen.

Legt ein Verzeichnis mit dem Namen xbmcthumbs an und gebt es wie folgt frei:

Da wir ja lokal in unserem Netzwerk bleiben, können wir das Verzeichnis ruhigen Gewissens ohne Beschränkungen, also für ‚Jeden‘, freigeben.

Wir testen die Freigabe von unserem Windows-Rechner, indem wir im Explorer die IP-Adresse oder den Hostnamen unseres NAS aufrufen. Dort sollte dann die Freigabe xbmcthumbs auftauchen.

Habt ihr eine bestehende XBMC-Installation, in der bereits Bilder vorhanden sind, könnt ihr den vorhandenen Thumbnails-Ordner aus dem Verzeichnis C:\Users\%username%\AppData\Roaming\XBMC\userdata\Thumbnails in die Freigabe xbmcthumbs verschieben. Das sieht dann in etwa so aus (wundert euch nicht über die Verzeichnis-Struktur):

Wer ein jungfräuliches XBMC und noch keine Bilder heruntergeladen hat, braucht die Ordner natürlich nicht zu kopieren.

Nun öffnen wir nochmals die Datei advancedsettings.xml, die wir vorhin bereits angelegt haben. Dort fügen wir folgenden Eintrag, innerhalb des bestehenden Bereichs <advancedsettings> hinzu:

<pathsubstitution>
  <substitute>
	<from>special://masterprofile/Thumbnails/</from>
	<to>smb://ipadress_nas/xbmcthumbs</to>
  </substitute>
</pathsubstitution>

Speichert die Datei und schließt den Editor. Die Datei sollte nun folgenden Inhalt haben:

<advancedsettings>
    <videodatabase>
        <type>mysql</type>
        <host>ipadresse_nas</host>
        <port>3306</port>
        <user>xbmc</user>
        <pass>xbmc</pass>
        <name>xbmc_video</name>
    </videodatabase>
    <musicdatabase>
        <type>mysql</type>
        <host>ipadresse_nas</host>
        <port>3306</port>
        <user>xbmc</user>
        <pass>xbmc</pass>
        <name>xbmc_music</name>
    </musicdatabase>
    <pathsubstitution>
        <substitute>
	     <from>special://masterprofile/Thumbnails/</from>
	     <to>smb://ipadress_nas/xbmcthumbs</to>
        </substitute>
    </pathsubstitution>
</advancedsettings>

Wir haben in der Datei nun also den Verweis auf die Datenbanken für Musik und Videos eingetragen sowie den Bilderordner umgeleitet. Nun können wir die Datei auf unsere XBMC-Installationen verteilen und zwar auf dem Windows-Rechner in das Verzeichnis

C:\Users\%username%\AppData\Roaming\XBMC\userdata\

sowie auf dem Apple TV 2 in das Verzeichnis

/private/var/mobile/Library/Preferences/XBMC/userdata

Zum Kopieren auf das Apple TV benötigen wir eine FTP-Verbindung. Schmeißt euren FTP-Client (z.B. das kostenlose Filezilla) an und tragt die Zugangsdaten zum Apple TV ein (sind identisch zur SSH-Verbindung per Putty).

Startet die Verbindung und kopiert die Datei.

Das war der erste Teil zum XBMC-Guide. Wir haben nun die Installation abgeschlossen und widmen uns im zweiten Teil der Konfiguration.