Audio & VideoNetzwerk & IP

Anleitung: Bibliothek für mehrere Kodis gemeinsam nutzen

Die Kodi-Bibliothek einzurichten ist ziemlich simpel - wenn Ihr aber mehrere Kodi-Installationen im Netzwerk betreibt, ist es lästig, dies für jede Instanz durchzuführen. Zumal Ihr später auch ständig alle einzeln aktualisieren müsst. Kodi kann statt der lokalen Bibliothek aber auch eine zentrale, gemeinsame SQL-Datenbank nutzen, die beispielsweise auf einem Raspberry Pi oder einer NAS läuft. Wir zeigen die Einrichtung zweier Kodis mit gemeinsamer Bibliothek Schritt für Schritt.

Viele weitere Kodi-Artikel findet Ihr hier.

Voraussetzungen

Zunächst benötigt Ihr einen Datenbankserver und das Verwaltungsprogramm phpMyAdmin - oder ähnliches. Für unser Beispiel nutzen wir eine QNAP 215+, aber mit anderen NASen geht es natürlich genauso. Alternativ könnt Ihr auch einen MySQL- oder MariaDB-Server auf einem normalen Rechner oder einem Raspi aufsetzen - allerdings sollte der Rechner auch wirklich immer laufen. Ganz wichtig: Kodi erstellt selbständig die eigentliche Datenbank, deren Name von der Kodi-Version abhängt. Daher müssen alle Kodi-Versionen im Netz identisch sein! Ansonsten erstellt jede Version eine eigene Datenbank.

Der Einfachheit halber setzen wir eine komplett neue Bibliothek auf, Ihr könnt aber auch bestehende lokale Datenbanken exportieren und im neuen Setup importieren. Das lohnt sich tendenziell aber nur dann, wenn Ihr viel Handarbeit in die Bibliothek gesteckt habt. Unser Setup: QNAP 215+ als Datenbankserver und Medienspeicher, Windows-Rechner für das "erste" Kodi und eine virtuelle Maschine mit Linux Mint für die zweite Kodi-Installation.

1. Datenbankserver starten

Sucht auf Eurer NAS nach dem Datenbankdienst, bei QNAP zum Beispiel Unter Systemsteuerung/Anwendungen, und aktiviert den Server, hier MariaDB. Erfeulicherweise weist Euch QNAP direkt darauf hin, dass Ihr phpMyAdmin installieren könnt.

kodi-sql-library
SQL-Server aktivieren.

Wenn Ihr den Server manuell installieren müsst, findet Ihr hier Anleitungen für Ubuntu, Mac OS X, Windows und weitere Systeme.

2. phpMyAdmin starten und Datenbanknutzer einrichten

Installiert phpMyAdmin und startet es über die QNAP-Oberfläche. Falls Euch nach der Installation kein Start-Button angeboten wird, findet Ihr das Tool meist im Browser unter ip-des-rechners/phpMyAdmin/. Die Standardanmeldedaten hängen vom Gerät ab, bei QNAP meldet Ihr Euch als Nutzer "root" mit Passwort "admin" an.

kodi-sql-bibliothek
Welches Datenbankverwaltungswerkzeug Ihr nehmt ist egal, aber phpMyAdmin ist am weitesten verbreitet und sehr einfach zu nutzen.

Klickt auf "Benutzerkonten" und legt einen Nutzer "kodi" mit Passwort "kodi" an und gewährt ihm globale Rechte.

kodi-sql-library
Der Nutzer kann natürlich auch anders heißen - muss dann aber entsprechend in der Kodi-Config auftauchen.

3. Datenbank für beide Kodis aktivieren

Jetzt kommt der eigentliche Kniff: Damit Kodi manueller statt Standardeinstellungen nutzt, könnt Ihr für etliche Gelegenheiten die Datei "advancedsettings.xml" nutzen, die Ihr im Kodi-Nutzerordner findet. Unter Windows: C:\Users\NUTZERNAME\AppData\Roaming\Kodi\userdata. Unter Linux: /home/NUTZERNAME/.kodi/userdata. Fügt folgenden Code ein:

<advancedsettings>
    <videodatabase>
        <type>mysql</type>
        <host>###.###.###.###</host>
        <port>3306</port>
        <user>kodi</user>
        <pass>kodi</pass>
    </videodatabase> 
    <videolibrary>
        <importwatchedstate>true</importwatchedstate>
        <importresumepoint>true</importresumepoint>
    </videolibrary>
</advancedsettings>

Die umschließenden advancedsettings-Tags sollten bereits vorhanden sein - fügt den Rest entsprechend dazwischen ein. In die host-Tags müsst Ihr statt ###.###.###.### natürlich die IP-Adresse des Datenbankservers eintragen. Speichert die Datei anschließend.

kodi-sql-library
Hier gehört der angelegte Datenbanknutzer hinein - und natürlich Eure eigene IP-Adresse.

4. Kodi starten und Datenbank kontrollieren

Startet nun ein Kodi und aktualisiert die phpMyAdmin-Ansicht - hier sollte nun eine neue Datenbank erscheinen. Kodi 16.1 erzeugt hier die MyVideos99-Datenbank, bei einer Kodi-17-Beta heißt sie MyVideos107 - genau darum müsst Ihr auf die Versionen achten.

kodi-sql-library
Datenbank da? Hälfte geschafft.

5. Medienquellen hinzufügen

Kodi ist mit einer leeren Datenbank gestartet, also müsst Ihr jetzt wieder die Quellen einlesen, wie wir es hier gezeigt haben. Allerdings müsst Ihr darauf achten, ausschließlich Netzwerkfreigaben als Quellordner zu nutzen - nicht die lokal eingebundenen Laufwerke, also beispielsweise smb://QNAP-251P/Serien und nicht X:\Serien. Ihr findet beim Suchen in Kodi sowieso beide Varianten, also immer schön dem SMB- oder auch NFS-Pfad folgen.

kodi-sql-library
Als Quellen müsst Ihr Netzwerkfreigaben verwenden.

Dann müsst Ihr wie gehabt noch den Inhaltstyp bestimmen, damit Serien- oder Filminformationen aus den Online-Datenbanken abgeholt werden können. Nachdem das Update der Bibliothek durchgelaufen ist, solltet Ihr die Titel in Kodi sehen. Mehr zum Scrapern findet Ihr hier.

kodi-sql-library
Ob Serien oder Filme müsst Ihr manuell festlegen.

6. Datenbank erneut prüfen

Aktualisiert nochmal die phpMyAdmin-Ansicht. Die Datenbank sollte jetzt gefüllt sein. Klickt dazu einfach auf eine der Tabellen, beispielsweise "tvshow" - sind die einzelnen Dateien/Folgen hier aufgeführt, läuft alles perfekt.

kodi-sql-library
Die gemeinsame Kodi-Bibliothek als rohe Datenbankansicht.

7. Bibliothek im zweiten Kodi prüfen

Öffnet jetzt die zweite Kodi-Installation und schaut, ob die Bibliothek nun auch dort verfügbar ist. Falls nicht, kontrolliert, ob in phpMyAdmin vielleicht noch eine zweite Datenbank mit leicht anderem Namen aufgetaucht ist. Falls ja, kontrolliert die Kodi-Versionsnummern, zu finden im Hauptmenü unter System/System-Informationen.

kodi-sql-library
Das Ergebnis: Zwei Kodis auf zwei Rechnern - eine gemeinsame Bibliotheksdatenbank.

8. Troubleshooting

Wenn Es wird keine Datenbank angelegt? Das liegt aller Wahrscheinlichkeit nach an falsch gesetzten Rechten. Vergewissert Euch, dass der phpMyAdmin-Nutzer globale Rechte hat und genau die Login-Daten verwendet, die Ihr in der advancedsettings.xml-Datei eingetragen habt.

Die Datenbank bleibt leer? Aus unerfindlichen Gründen will unser Windows-Kodi nicht scrapern und in die Datenbank schreiben. Dann habt Ihr zwei Möglichkeiten: Entweder Ihr macht Euch auf unter Umständen ausufernde Fehlersuche oder Ihr folgt unserem Beispiel und nutzt einfach eine der anderen Kodi-Installationen - das Kodi unter Mint fügt anstandslos Daten zur Datenbank hinzu und diese tauchen dann auch im Windows-Kodi auf.

Datenbankserver und Kodi laufen gemeinsam auf einem Rechner? Wenn dieser Rechner nicht ständig läuft, kann es bei Neustarts zu Problemen kommen, insbesondere im WLAN-Betrieb: Wenn Kodi startet, bevor das Netzwerk etabliert wird, verbindet es sich nicht mit der Datenbank. Sofern Ihr ein spezielles "Kodi-Betriebssystem" wie Xbian oder OpenElec für Raspberry Pis oder ähnliche Konzepte für andere Hardware verwendet, findet Ihr häufig zusätzliche System-Einstellungen in Kodi, um Kodi auf das Netzwerk warten zu lassen.

Mirco Lang

Freier Journalist, Exil-Sauerländer, (ziemlich alter) Skateboarder, Dipl.-Inf.-Wirt, Einzelhandelskaufmann, Open-Source-Nerd, Checkmk-Handbuchschreiber. Ex-Saturn'ler, Ex-Data-Becker'ler, Ex-BSI'ler. Computer-Erstkontakt: ca. 1982 - der C64 des großen Bruders eines Freunds. Wenn Ihr hier mehr über Open Source, Linux und Bastelkram lesen und Tutonaut unterstützen möchtet: Über Kaffeesponsoring via Paypal.freue ich mich immer. Schon mal im Voraus: Danke! Nicht verpassen: cli.help und VoltAmpereWatt.de. Neu: Mastodon

20 Kommentare

  1. Hallo Mirco, ich benutze seit längerer Zeit bereits eine zentrale Kodi-Datenbank auf einem Synology-NAS, die ich damals nach deiner guten Anleitung installiert habe. Vor einigen Tagen habe ich nach längerem Zögern ein Update des NAS auf DSM 7 vorgenommen. Gleichzeitig habe ich ein Update von Kodi auf Nexus auf allen Geräten (Windows-Desktop-PC und 2 FireTV-‚Sticks) durchgeführt. Da die Migration der Datenbank von MariaDB 5 auf MariaDB 10 nicht geklappt hat, musste ich die Datenbank mit meinem Dektop-PC neu einlesen. So weit so gut. Auf dem Desktop-PC läuft alles wieder super. Bei beiden FireTV-Sticks kann ich zwar die Filme im Dateien-Ordner einsehen und starten, nicht jedoch im Filme-Ordner. Dort sehe ich zwar die gesamten Filminformationen, aber ich kann die Filme nicht wiedergeben. Es erscheint die Fehlermeldung „Allgemeiner Fehler bei der Wiedergabe. Für mehr Informationen Protokoll einsehen.“ Im Ereignisprotokoll steht leider nichts. Wo könnte der Fehler liegen?

      1. Danke fürs Update! Das hätte ich jetzt nicht mal eben nachprüfen können … Außerdem schön zu hören, dass die ganze Updaterei überhaupt geklappt hat, drauf gewettet hätte ich nicht, da die zentrale Datenbank sicherlich nicht sooo populär ist.

  2. Hallo Ich habe leider ein Problem. Mysql und kodi läuft auf einem QNAP nas. Ich habe die advancedsettings.xml in den ordner xbmc/user gelegt. Anscheinend wird sie da aber nicht benutzt/gefunden. Nach einem neustart von kodi erscheint weiter die alte bibliothek und auch eine db wird nicht angelegt. Ich habe schon die ip:port in firefox eingegeben, dann meldet sich Maria R��� 5.5.57-MariaDB�l���a^2~G’+@�ÿ÷� ����������Af^$7hP9i0�mysql_native_password�!��ÿ„#08S01Got packets out of order

    Hat jemand irgendeine Idee?

  3. Super geschriebene Anleitung und es hat soweit funktioniert. Nur das Einbinden der Datenbank bei weiteren Installationen funktioniert offenbar nur wie angegeben, wenn man den Kodi Master User verwendet. Hat man mehrere Kodi Nutzerprofile muss man offenbar die Datenbank an anderer Stelle angeben. Ich hab letztlich das andere Profil gelöscht und Master verwendet weil ich nicht lange suchen wollte wie das gehen könnte, dann hat es funktioniert. Ein Hinweis dazu in der Anleitung wäre gut. Ansonsten ist die Performance überraschend gut.

  4. super Tutorial aber warum so kompliziert? xDDD einfach einen FTP server oder NAS aufsetzen und FTP einbinden schon habt ihr überall die gleichen Medien..

    1. Da bräuchte ich jetzt ein paar mehr Infos … Die Datenbank liegt im Profil-Ordner. Und der soll auf einen FTP-Server ausgelagert werden? Wo lässt sich das denn einstellen? Ich wüßte nicht, dass das geht, wäre aber nett.

      Und nur um sicher zu gehen: Überall die gleichen Medien zu haben ist kein Problem, das versteht sich eigentlich von selbst. Es geht um die Datenbank, in die die Dateien eingelesen werden. Nicht, dass Du das meinst.

  5. Hellou, Danke für diese gelungene Anleitung. Auf Kodi Version 16 funktionierte dies wunderbar, nun habe ich auf Kodi 17.3 und openelec 7.0 upgedatet. Folgendes; die Library wurde problemlos übernommen, aber auf dem Rasp Pi 3 kann ich keine Filme abspielen, es steht: „Diese Datei ist nicht mehr verfügbar. Soll der Eintrag aus der Bibliothek entfernt werden“ Aktuell sind 2 Server im Kodi eingebunden. Bei Server 1 lässt sich alles abspielen. Server 2 wo auch der grösste Teil drauf ist kommt eben diese Fehlermeldung. Beides Qnap Server. Vielleicht irgendeine Idee ?

    1. Habe leider das gleiche Problem. Hatte bis vor kurzem zwei Raspberry PIs am laufen, einen PC und mein Handy. Die PIs wurden durch einen Firetv Stick ersetzt. Kodi läuft mit Version 18.6. Die Datenbank ist erzeugt und liegt auf der Synology. Wird auch gefunden von den Clients. Aber nur am PC geht’s. Beim Handy und Fire TV kommt die Fehlermeldung „Diese Datei ist nicht mehr verfügbar. Soll der Eintrag aus der Bibliothek entfernt werden“.

      1. Problem selber gelöst. Alle Bibliotheken gelöscht und an einem Gerät neu eingebunden. Nun geht’s wieder.

  6. Wenn ich neue Inhalte (Serien, Filme) auf der NAS hinzufüge, muss ich dann immer erst auf dem Windows Kodi die Bibliothek aktualisieren damit diese auch auf meinen Kodi FireTV’s wieder aktuell ist? Wollte die Bib. gestern, nachdem ich neue Inhalte aufs NAS geschoben habe, im FireTV Kodi aktualisieren. Nichts passierte.

    1. Nein, das sollte nicht so sein, die Kodi-Installationen wissen gar nichts voneinander, sie speichern lediglich in dieselbe Datenbank. Wenn das Aktualisieren nicht funktioniert würde ich aus dem Stegreif auf ein Problem mit den Zugriffsrechten tippen. Wie im Troubleshooting-Abschnitt kurz erwähnt: Bei mir im Netzwerk wollte damals das Windows-Kodi aus unbekannten Gründen nicht in die Datenbank schreiben – die möglichen Fehlerquellen sind leider reichhaltig.

  7. Gute Anleitung.

    Kann das ganze auch auf eine „bestimmte Datenbank“ eingeschränkt werden? sonst bekommt Kodi Grant Access zu meiner Nextcloud Datenbank.

  8. Kannst du dieses Tutorial noch mal für die Version 18 machen?

    Da scheint alles anders zu sein. Es gibt keine Advandedsetting.xml mehr oder ich finde diese nicht. Weder wenn ich die App Version noch wenn ich die Windows Version installiere. Wenn ich diese Manuell erstelle und Kodi starte stürtz Kodi ab. Bei der V16 hat das alles noch funktioniert.

    1. Genau das habe ich auch probiert, ich glaube bei mir scheitert es daran das mein NAS (Diskstation 209+II) nur DSM 4.2 unterstützt und damit auch nur eine ältere MySQL Version. Kodi 18.1 benötigt allerdings MySQL 5.6 oder MariaDb 5.5. Dies wird bei meinem NAS nicht unterstützt, mit dem Effekt, das Kodi keine Datenbank erzeugen kann. Ärgerlich, muss ich wohl oder über auf ein aktuelleres NAS mit DSM 5 oder höher upgraden.

    2. Sollte das problem weiterhin bestehen….

      Hab einfach die Datei Advandedsetting.xml selber erstellt und alles eingetragen… hab Kodi 18.4 und die Datenbank liegt bei mir auf einem Nuc, der bei mir 24/7 läuft. Hab als SQL einfach XAMPP genommen. Läuft…. Hoffe kann den nächsten damit helfen.

  9. So weit, so gut. Hat im Großen und Ganzen gut funktioniert und läuft jetzt.

    Nur ist Kodi damit leider elend langsam, weil ALLE Grafiken und Infos on-the-fly über Netzwerk vom NAS geladen werden, während man durch seine Bibliothek browsed.

    Gibt’s keine lokale Cache-Möglichkeit, so daß zumindest die Grafiken (poster, fanart, logo etc.) von der SSD kommen?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Schaltfläche "Zurück zum Anfang"