Achtung! Dieser Artikel vom 24. Oktober 2015 hat schon ein paar Jahre auf dem Buckel. Der Inhalt kann (muss er aber natürlich nicht) in Teilen oder im Ganzen nicht mehr dem aktuellen Stand der Technik entsprechen!

Falls Ihr jetzt noch so gar nicht in der Materie seid und Euch fragt warum man Kodi (XBMC) mit einer MySQL Datenbank die zentral im heimischen Netzwerk liegt installieren sollte, nun denn. Der Hauptvorteil liegt darin das nur noch ein Kodi-Client neue Filme oder Serien scrapen (einlesen), also in die Datenbank aufnehmen muss. Alle anderen Kodi Installationen sehen dann die neuen Einträge sofort und ohne Verzögerung. Ein weiterer Vorteil ist, das der Gesehen/Ungesehen Status dann auch Clientübergreifend funktioniert.

Ihr habt im Schlafzimmer die neue Folge von Serie XY gesehen und schwups weiß das auch Euer Kodi der am Fernseher im Wohnzimmer hängt. Auch wenn Ihr einen Film im Wohnzimmer angefangen habt und dann stoppt, kann Euer Kodi im Schlafzimmer den Film genau dort dann weiterabspielen. Da Kodi immer beliebter wird und auch auf genügsamer Hardware läuft (Raspberry, FireTV, Google ChromeCast) wird es zwangsläufig bald eher Normalität sein das im Haushalt einige Kodis vor sich hin werkeln.

 

Kodi-15.2-Isengard

Kodi-15.2-Isengard

Ich habe in meiner damaligen Artikelreihe „Vom Windows Media Center zu XMBC wechseln“ das Prinzip und Installation mit dem MySQL Server schon erklärt, aber bitte vergesst diese Anleitung. Sie ist fast 2 Jahre alt und seitdem hat sich auch bei Kodi eine Menge getan, ausserdem kann ich heute guten Gewissens auch den MySQL Community Server nicht wirklich empfehlen. Zu umständlich zu administrieren und einzurichten. Wir machen das jetzt easy mit XAMPP und der momentan aktuellen Kodi Variante für Windows, 15.2 Isengard. WICHTIG ist bei einer zentralen Datenbank das Ihr alle Kodi Clients auf die gleiche Hauptversion installiert, besser noch gleich auf den exakt gleichen Versionstand. Es wird knallen wenn 1 Kodi noch auf Helix läuft ein anderer aber bereits Isengard sein Eigen nennt. . .Kodi stellt bei jeder Hauptversion auch das Datenbankschema um, Clients mit unterschiedlichen Hauptversionen können daher nicht zusammen auf einer MySQL Datenbank laufen!

  • MySQL Server mit XAMPP unter Windows installieren und einrichten

Besorgt Euch als erstes die zum Zeitpunkt des Artikels aktuelle XAMPP Installation 5.6.14 für Windows und installiert Sie am besten auf einer Maschine die eh 24/7 online ist, im besten Fall ist dies wie bei mir ein kleiner Windows Server. Während der XAMPP Installation werden Euch mehrere weitere Tools vorgeschlagen die Ihr installieren könnt, für den Betrieb mit Kodi brauchen wir lediglich den Apache Webserver, die MySQL Datenbank sowie PHPMyAdmin um MySQL zu administrieren. Ich mach das jetzt hier mal kurz weil es gibt 1001 Anleitungen im Netz wie man XAMPP für Windows installiert. Wichtig ist nur das am Ende der Apache und auch der MySQL Server als Windows Services installiert sind, der MySQL auf Port 3306 läuft (kann auch ein anderer Port sein, aber als Beispiel werde ich diesen hier weiterhin benutzen) Desweiteren muss für die MySQL Datenbank der user „xbmc“ mit dem Passwort „xbmc“ eingerichtet sein. ( Auch dies könnt Ihr selbst wählen, aber ich benutze dies weiterhin für die Beispieleinrichtung).Wenn Ihr alles richtig installiert habt, sollte Euer XAMPP Control Center jetzt so aussehen.

XAMPP-Control-Panel-unter-Windows

XAMPP-Control-Panel-unter-Windows

Auf dem Server ist alles soweit erledigt, widmen wir uns nun dem ersten Kodi Client zu. Es spielt im Übrigen keine große Rolle ob Ihr jetzt schon mehrere Kodi Clients habt die alle mit Ihrer eigenen, lokalen Datenbank laufen, oder ob Ihr gerade anfangt den ersten Client zu installieren und einzurichten. Das Procedere ist fast immer das Gleiche, vorhandene Clients biegen wir von der lokalen Datenbank auf die neue, zentrale MySQL Datenbank um, ganz neue Clients schubsen wir direkt da hinein.

  • Kodi Clients auf die zentrale MySQL Datenbank umziehen/oder neu anlegen

Wer schon mindestens einen Kodi Client am Laufen hat, für den ist es insofern ein wenig einfacher als das er in Kodi unter -> System ->Video ->Bibliothek ->Video-Bibliothek exportieren… anwählen kann. Hier bitte ->separat ->Bilder und Fanart ja ->Vorschaubilder der Darsteller ja ->Alte Dateien überschreiben ja -> anwählen. Der Export schreibt nun alle relevanten Dateien in das jeweilige Film oder Serien(episoden) Verzeichnis genau dorthin, wo sich auch die wirklichen Videodateien befinden. Das hat den Vorteil das später beim Umsteig auf die zentrale Datenbank beim Einlesen des Scrapers das Downloaden von Infos aus dem Internet ausbleibt, der Kodi Scraper bevorzugt lokale Dateien und nimmt diese bevor er im Internet sucht!

Um jetzt einen oder den ersten Kodi Client auf den MySQL Server umzustellen müsst Ihr eine Datei mit einem Texteditor erstellen. Diese Datei muss heissen „advancedsettings.xml“ und sieht in der sparsamen Variante folgendermaßen aus:

<advancedsettings>
<videodatabase>
<type>mysql</type>
<host>192.168.xxx.xxx</host>
<port>3306</port>
<user>xbmc</user>
<pass>xbmc</pass>
</videodatabase>
</advancedsettings>

Bei „host“ muß die IP Adresse der Maschine rein, die Eure MySQL Installation beherbergt. Port, user und pass ist wie gesagt so wie ich es als Beispiel weiter oben angeführt habe, falls Ihr das bei Eurer MySQL Installation anders gewählt habt, gehören hier dann Eure Daten rein!

Da wir ja aber den Gesehen/Ungesehen als auch den Status (Film gestoppt wann?) mit in die Datenbank holen möchten, gilt es die „advancedsettings.xml“ noch ein wenig zu erweitern. Dann sieht sie so aus:

<advancedsettings>
<videodatabase>
<type>mysql</type>
<host>192.168.xxx.xxx</host>
<port>3306</port>
<user>xbmc</user>
<pass>xbmc</pass>
</videodatabase>
<videolibrary>
    <importwatchedstate>true</importwatchedstate>
    <importresumepoint>true</importresumepoint>
  </videolibrary>
</advancedsettings>

Wer mit Kodi auch seine Musik abspielt oder verwalten möchte kann hier auch die Musikdatenbank zu MySQL rüberholen (Vorher natürlich auch die lokale Musikdatenbank exportieren). Diese „advancedsettings.xml“ sähe dann komplett so aus:

<advancedsettings>
<videodatabase>
<type>mysql</type>
<host>192.168.xxx.xxx</host>
<port>3306</port>
<user>xbmc</user>
<pass>xbmc</pass>
</videodatabase>
<musicdatabase>
<type>mysql</type>
<host>192.168.xxx.xxx</host>
<port>3306</port>
<user>xbmc</user>
<pass>xbmc</pass>
</musicdatabase>
<videolibrary>
<importwatchedstate>true</importwatchedstate>
<importresumepoint>true</importresumepoint>
</videolibrary>
</advancedsettings>

Wenn Ihr alles eingegeben habt, speichern und dann diese Datei in das Verzeichnis des (ersten) Kodi Clients kopieren:

C:\Users\DeinBenutzerName\AppData\Roaming\Kodi\userdata

Ok, jetzt diesen Kodi starten und dann sollte Kodi keinerlei Serien oder Filminfo mehr am Start haben und es sollte nackig (je nach Skin) ungefähr so aussehen:

Kodi-Client-ohne-Datenbankeinträge

Kodi-Client-ohne-Datenbankeinträge

Soweit so gut, noch besser wäre es wenn Ihr jetzt auf Euer XAMPP ControlPanel schaut, beim Eintrag MySQL auf „Admin“ klickt und dann im Browser mit phpMyAdmin auf Eure Datenbank direkt schaut. Hier sollte es jetzt links einen Eintrag geben der „myvideos93“ lautet und wo beim Feld „Datensätze“ alles auf NULL steht. Wenn das bei Euch so ist, goil – alles richtig gemacht!

MySQL-Kodi-Datenbank-myvideos93

MySQL-Kodi-Datenbank-myvideos93

  • Filme und Serien in die neue zentrale Datenbank einlesen mit dem Kodi Client

OK, ihr startet wieder Euren nackten Kodi Client mit nix drauf und bearbeitet dann als Beispiel zuerst die Quelle für  Eure Serien. Dazu einfach ein bisschen durchs Menü „Serien“ wühlen und die oberste Ebene jeweils mit „…“ anwählen. Dann bei „Dateien“ den Rechtsklick und „Quelle bearbeiten“ nehmen. Wählt das richtige Verzeichnis (eventuell einfach nochmal aus) (und benutzt im Netzwerk besser smb Freigaben wie z.B. „smb://Server/Serien“ anstatt gemappte Netzlaufwerke wie „S:\Serien“) wo eure Serienfilmdateien liegen und lasst dann bei der Frage ob „Informationen zu aktualisieren sind“ mit „ja“ den Kodi Client auf die Einträge los. Sagt Kodi ob es sich um Filme oder Serien handelt, damit Kodi den richtigen Scraper einstellt und ab geht die wilde Fahrt!

Kodi-liest-neue-Filme-und-Serien-in-MySQL-ein

Kodi-liest-neue-Filme-und-Serien-in-MySQL-ein

Ihr solltet nach einer Weile alle Eure Serien wieder sehen und zwar mit dem korrekten Gesehen/Ungesehen Status! OK, das gleiche Spielchen noch mit den Filmdateien ->und siehe da der MySQL Server sollte jetzt massenhaft Einträge in der „myvideos93“ haben und Kodi hat jetzt alle Serien und Filme Info zentral abgelegt. Ihr müsst jetzt nur noch bei jedem (neuen) Kodi Client die besagte „advancedsettings.xml“ ins oben beschriebene jeweilige Benutzerverzeichnis kopieren und Kodi neustarten.

Kodi-mit-MySQL-und-importierten-Serien-Filmen

Kodi-mit-MySQL-und-importierten-Serien-Filmen

Das sollte es gewesen sein. Wer jetzt auf den Geschmack gekommen ist, das Kodi-Wicki listet noch ein paar Möglichkeiten auf auch andere Kodi Parts (Playlisten, RSS, Sources etc.) in die zentrale Datenbank zu manövrieren. Wer interessiert ist kann dann hier weiterlesen

Menschen mit sehr begrenztem Speicherplatz auf der Systempartition checken dann auch mit oben genannten Link wie man den „Thumbnail“ Ordner ( ~2 GB je nach Anzahl der Filme und Serien) loswird nachdem auf My SQL umgestellt wurde.

Update: 29.03.2017

Ich bin gerade dabei meine Kodi Clients statt mit einer zentralen MySQL-Datenbank nun mit einer Emby-Datenbank zu betreiben. Das hat einige Vorteile, aber bitte lest selbst…

Viel Spaß mit Kodi