Zum Hauptinhalt springen

Allgemeines

Um mehrere Kodi-Front Ends in einem Haushalt zu nutzen und dabei auf allen Geräten den gleichen Status (Gesehenstatus, neu hinzugefügte Filme/Episoden, entfernte Filme/Episoden etc.) vorzufinden bedarf es, dass alle Kodi-Front Ends auf identische Datenbanken zugreifen. Dafür gibt es verschiedene Wege. Der absolut präferierte Weg ist hierbei eine zentrale Datenbank via MySQL.

Theoretisch gibt es drei weitere Wege, um immer die gleichen Status zu erhalten. 

Erste Alternative: Die eigentlichen Datenbanken werden irgendwo im Netz zentral abgelegt. Mit dem DOS-Befehl mklink kann man den Pfad der lokalen Datenbank auf die Datenbanken im Netz verbiegen. Somit schreiben alle Kodi-Front Ends in die zentral abgeleten Datenbanken und rufen die Informationen auch direkt dort immer aktuell ab.

Zweite Alternative: Die eigentlichen Datenbanken werden irgendwo im Netz zentral abgelegt. Die jeweiligen lokalen Datenbanken werden automatisch mit den zentrale abgelegten Datenbanken durch kopieren abgeglichen (z.B. beim Starten und Runterfahren des jeweiligen PC). Damit ist die lokale Datenbank immer auf dem neuesten Stand.

Dritte Alternative: Kodi als portable Version im Netz ablegen und alle Front Ends führen diese Version aus.

Kodi-Datenbank mit MySQL einrichten

Damit alle Kodi-Front Ends auf die gleiche Datenbank zugreifen können, sind auf der NAS, der Router und bei den jeweiligen Kodi-Instanzen Arbeiten auszuführen.

Eine etwas ältere Beschreibung im Internet findet sich hier.

Synology-NAS

  • MySQL-Datenbank MariaDB
    • Auf der Snology DiskStation ist über das Paketzentrum zunächst die Webstation zu installieren. (Diese wird wohl schon für andere Anwendungen installiert sein.)
    • Danach ist die neueste MariaDB-Version zu installieren. Diese stallt die MySQL-Datenbank dar. MariaDB benutzt den Port 3307.
    • Der Benutzer ist wie folgt anzulegen
      • Benutzername: kodi
      • Passwort: S...
  • PHP ist in der neuesten Version zu installieren.
  • phpMyAdmin ist in der neuesten Version zu installieren.
    • phpMayAdminn ist zu starten und ein neuer User ist anzulegen:
    • Erster Login mit Benutzername: root und Passwort, wie in MariaDB vergeben.
    • Karteireiter Benutzerkonten > Benutzerkonto hinzufügen >
      • Benutzername: kodi
      • Passwort: #Firlefanz1
    • Globale Rechte > Alle auswählen > Button OK (ganz unten ganz rechts).
    • Logout über Icon Neu anmelden.

Dateninhalt der MySQL-Datenbank anzeigen

Ist die Datenbank einmal eingelesen/angelegt, können die Daten innerhalb der Datenbank angezeigt und exportiert werden (z.B. für eine Anzeige in Excel).

Der Vorgang ist im Artikel Aus der SQL-Datenbank heraus erläutert.

FRITZ!Box

Port 3307 der MariaDB freigeben

  • Internet > Freigaben > Gerät: Gumminase (NAS) > Icon Stift
  • Button Neue Freigabe (unten rechts) > 
    • Anwendung: Andere Anwendung
    • Bezeichnung: Kodi DB
    • Protokoll: TCP
    • Port an Gerät: 3307 bis Port 3307
    • Port extern gewünscht: 3307
    • Freigabe aktivieren: Haken setzen
    • Internettzugriff über IPv4 und IPv6: aktiv
    • Button OK

Kodi

  • Die advancedsettings.xml befindet sich in Windows im Pfad:
    %appdata%\Kodi\userdata
  • Außer in der portablen Version:
    Kodi\portable_data\userdata
  • In der advancedsettings.xml sind folgende Bereiche einzutragen:
    • videodatabase: Baut die Datenbanken zu Filmen und Serien auf.
    • musicdatabase: Baut die Datenbanken zur Musik auf.
    • videolibrary: Enthält die Statuszu Ggesehenstatus und die Marker der Filme, wo man stehen geblieben ist.
  • Innerhalb der Bereiche bedeuten:
    • type: mysql - wird direkt so eingetragen, da die Datenbank eine MySql-Datenbank ist.
    • host: Hier kommt die IP-Adresse rein, die die MySQL-Datenbank enthält. Normalerweise ist es die Adresse der NAS.
    • port: der freigegebene Port der MySQL-DB; in dem Fall der MariaDB (siehe weiter oben).
    • user: Der angelegte Username in der Datenbank.
    • pass: Passwort, mit dem man auf phpMyAdmin zugreifen kann.
  • Kodi startet mit einer leeren Datenbank. Alle Filme, Serien und Musik muss erneut eingelesen werden.
  • bei phpMyAdmin entstehen jetzt die entsprechenden zentralen Video- und Musikdatenbanken.

Weitere Kodi-Instanz

  • Wird ein neues Kodi mit der entsprechenden advancedsetting.xml auf einem anderen Rechner gestartet, findet dieses die Datenbanken bereits vor und bedient sich sofort derer.

advancedsettings.xml zum kopieren

<advancedsettings>
  <videodatabase>
    <type>mysql</type>
    <host>192.168.178.36</host>
    <port>3307</port>
    <user>kodi</user>
    <pass>#Firlefanz1</pass>
  </videodatabase>
  <musicdatabase>
    <type>mysql</type>
    <host>192.168.178.36</host>
    <port>3307</port>
    <user>kodi</user>
    <pass>#Firlefanz1</pass>
  </musicdatabase>
  <videolibrary>
    <importwatchedstate>true</importwatchedstate>
    <importresumepoint>true</importresumepoint>
  </videolibrary>
</advancedsettings>

1. Alternative: Windowspfad verbiegen mit mklink

Die Arbeitsweise mit dem Befehl mklink ist in diesem Artikel beschrieben.

Der gesamte Befehl müsste für Kodi wie folgt lauten:

mklink /d "C:\Users\*username*\AppData\Roaming\Kodi\userdata\Database" "K:\Kodi portable\portable_data\userdata\Database"

2. Alternative: Kodi Datenbanken abgleichen

Allgemeines

Ist Kodi auf mehreren Frontend-Systemen installiert, so sollten alle Kodis anzeigen, welche Filme/Episoden bereits gesehen sind oder fortgesetzt werden sollen. Um diese Anzeige überall zu ermöglichen, müssen sich alle Datenbanken auf gleichem Stand befinden.

Auf dem Netzwerk ist das Verzeichnis Database abzulegen, so dass alle Kodis drauf zugreifen können. Das Verzeichnis Database für das installierte Kodi ist hier zu finden:
C:\Users\*username*\AppData\Roaming\Kodi\userdata\Database
Wird Kodi auf einem Frontend gestartet, wurden die Datenbanken zuvor per Autostart (in Windows) vom Netzlaufwerk und den lokalen Datenbanken verglichen und die aktuelleren Dateien werden kopiert, um damit die älteren Dateien zu überschreiben. Danach wird alle 10 Minuten der Vergleich wiederholt. Somit wird sichergestellt, dass immer die aktuelleren Datenbankdateien auf beiden Verzeichnissen vorhanden sind und Kodi immer auf dem aktuellen Stand ist.

Auf allen Frontends werden in Kodi folgende Dinge abgeglichen:

  • Neu hinzugefügte Filme/Episoden sind anschließend auf jedem Frontend in der Anzeigeliste im Kodiaufgeführt.
  • Status ist gesetzt (noch nicht gesehen / fortsetzen / bereits gesehen).
  • Die jeweiligen Filme/Episoden kann man an der gestoppten Stelle an jedem Frontend wieder fortgesetzt werden.
  • Entfernte Filme/Episoden (mit anschließend bereinigter Datenbank) sind anschließend auf jedem Frontend aus der Anzeigeliste im Kodi entfernt.

Synchroniziertool DSynchronizePortable

(alternative: FreeFileSync portable)

Als Tool kommt DSynchronizePortable zum Einsatz.

First at all: Da ich beim Einrichten Probleme mit dem im Programm angebotenen Punkt Autostart hatte, habe ich das Programm in den Windows-Autostart gelegt.

Unter Menü > Options sind Sound advise at the end und Sound effects abzuwählen.

Durch Klicken auf den Button Jobs kommt man in die Job-Liste. Hier ist der Job01 durch einen sprechenden Namen zu ersetzen (hier z.B.: Kodi DB abgleichen > klicken auf den Jobnamen > F2).

  1. RMB auf die erste Zeile in Sources > Browse... und der Quellpfad ist rauszusuchen.
  2. RMB auf die erste Zeile in Destinations > Browse... und der Zielpfad ist rauszusuchen.
  3. RMB auf einen der Pfade > Duplicate
  4. RMB auf die neue Zeile > Swap
  5. Container General > Copy only newer files > Haken setzen
  6. Container General > Save settings on exit > Haken setzen
  7. Container General > Exit/Shutsown at the end > Haken setzen
  • Durch Punkt 1 bis Punkt 4 wird erreicht, dass die Verzeichnisse in beiden Richtungen verglichen werden.
  • Durch Punkt 5 wird erreicht, dass nur die neueren Dateien der verglichenen Dateien ersetzt werden (in beiden Richtungen).
  • Durch Punkt 7 wird das Programm beendet. Wird das Programm durch z.B. PC herunterfahren hart geschlossen,kommt beim nächsten Start des Programms nur eine Fehlermeldung, die mit OK bestätigt werden muss.

Das Programm muss per Taskplaner mit dem Start von Windows gestartet werden. Dann wird die Datenbank abgeglichen. Das gleiche geschieht mit dem Taskplaner auch beim Herunterfahren des PC.

Dadurch ist sichergestellt, dass, wenn ein Film einen Staus erhält (neu, raus, beendet, angehalten), beim Runterfahren des PCs die entsprechend aktuelle Datenbank abgeglichen wird.


Taskplaner einrichten

Über den Taskplaner wird die Synchronisierung über das oben genannte Tool beim Starten und beim Runterfahren des PC gestartet. So wird sichergestellt, dass die lokale Datenbank beim Starten von Kodi aktuell ist und dass beim Runterfahren des PC die Datenbank mit den, durch das Benutzen von Kodi, neuen Datenbankeinträgen ins Netz übertragen wird.

  • Der Taskplaner wird im Windows aufgerufen durch klicken auf die Lupe in der Taskleiste und dann die Eingabe von Aufgabenplanung.
  • Damit meine Tasks nicht in den vielen anderen Tasks untergehen, muss ein neuer Ordner (in dem Fall Steffens Tasks) erstellt werden. Dieser muss beim Erstellen der Tasks angewählt sein, dann kommen hier alle selbst erstellten Tasks rein.
  • Im rechten Bereich auf Aufgabe erstellen... klicken.
  •  Tab Allgemein
    • einen sprechenden Namen für den Task wählen (hier: Kodi-DB Abgleich bei PC-Start).
    • unabhängig von der Benutzeranmeldung ausführen anwählen
    • Mit höchsten Privilegien ausführen > Haken setzen
  • Tab Trigger
    • Aufgabe starten: > Bei Anmeldung bzw. Bei Trennung von Benutzersitzung
    • Jeder Benutzer anwählen
    • Aktiviert > Haken setzen
  • Tab Aktionen
    • Aktion: > Programm starten
    • Programm/Skript: entsprechendes auszuführendes Programm raussuchen
  • Tab Bedingungen
    • An einem PC können alle Haken entfernt werden
  • Tab Einstellungen
    • Ausführung der Aufgabe bei Bedarf zulassen > Haken setzen
    • Aufgabe so schnell wie möglich nach einem verpassten Start ausführen > Haken setzen
    • Aufgabe beenden, falls Ausführung länger als: 3 Tage > Haken setzen
    • Beenden der aktiven Aufgabe erzwingen, falls sie auf Aufforderung nicht beendet wird > Haken setzen
  • Beim drücken des Button OK erfolgt eine Abfrage des User-Passwort.

Taskplaner Screenshots

3. Alternative: Kodi portable zentral ausführen

Kodi wird als portable Version installiert (Beschreibung siehe hier). Nun kann dieser portable-Ordner im Netzwerk abgelegt werden. Auf den einzelnen Front Ends werden auf dem jeweiligen Desktop Verknüpfungen zu der kodi.exe auf dem Netzwerk erstellt, und im Ziel, wie oben beschrieben, mit einem -p versehen. Nun kann dieser Link ausgeführt werden. Allerdings läuft Kodi auf dieser Basis extrem langsam und ist somit keine Alternative, um auf die Datenbanken zentral zuzugreifen.

Nach oben