Speicherprobleme MYSQL mit advancedsettings.xml (gelöst)

  • Sehr geehrte Damen und Herren,

    seitdem ich die "neue" Version von Kodi auf meinem Fire TV Stick installiert habe, ist es mir nicht mehr möglich, die Datenbank auf MySQL auszulagern. Obwohl keine Fehlermeldungen erscheinen, bleibt die Datenbank leer.

    Zum Test habe ich das Addon "WatchedList" mit derselben Datenbankverbindung installiert. In diesem Fall wird korrekt in die Datenbank geschrieben.

    PS: Auf einigen meiner Fire TV Sticks tritt ein weiteres Problem auf: Wenn ein Film pausiert wird und der Bildschirmschoner aktiviert oder der Monitor ausgeschaltet wird, beginnt die Wiedergabe nach dem Resume ohne Ton.

    Ich bitte um Unterstützung bei der Lösung dieser Probleme.

    Mit freundlichen Grüßen

  • Nicht dass ich jetzt viel damit anfangen könnte, ist aber meines Erachtens schon ein Debug log, denn
    2024-09-30 17:56:03.704 T:12156    info <general>: Enabled debug logging due to GUI setting (2). Wundere mich allerdings sehr, dass ich überhaupt keine Debug-Meldungen sehe und gar keine Meldungen zur DB-Kommunikation. Sollten auch ohne den Vorschlag von don zu sehen sein, ich meine grundlegende Meldungen sogar ohne Debug. Funktioniert Kodi mit lokaler DB?

    Mit Watchedlist kenne ich mich gar nicht aus, daher kann ich da deine Beobachtungen nicht deuten. Sehe allerdings, dass das Log nur 20 s lang ist, und Kodi während des Logs nicht beendet wird. Funktioniert denn Zugriff auf die Medien über Videos -> Dateien?

    Mir fällt noch auf, dass du enorm großen Cache konfiguriert hast. Früher war im Wiki immer noch dokumentiert, dass da in Wirklichkeit sogar die dreifache Menge genutzt wird - das wäre zu viel für typische FireTV Geräte? Welches genau hast du? Ich würde Default lassen, wenn nicht ein Problem mit der höheren Einstellung nachweisbar gelöst wird. Hohe Cache-Einstellung kann verursachen, dass bei "Pausieren" (im SInne von auf andere App gehen) das Betriebssystem Kodi beendet. Evt. auch sonst was bei Kodi aufräumt.

    Zum Ton-Problem. Seit Kodi 21 funktioniert auf FireTV in vielen Konfigurationen der Ton nicht mehr zuverlässig ohne Tuning in advancedsettings. Siehe Audio changes for kodi 21 Omega Zu den einzelnen Punkten findest du auch Info in https://kodi.wiki/view/Advancedsettings.xml Hier im Forum findet man auch (nicht ganz leicht) spezifische Vorschläge für Fire-TV. Ich persönlich habe es noch nicht getestet und bin vorerst bei Kodi 20.5 geblieben (da erfahrungsgemäß das nicht einfach zu testen ist - mal mit AVR, mal ohne, verschiedene Audio-Codecs, und bisweilen halt Probleme, die erst beim zweiten Film mit Codec-Wechsel auftreten, erst nach Pause oder Skip, etc.).

    Du nutzt Kodi 21.0. Wenn 21, würde ich auf 21.1 gehen.

    EDIT: Du hast schon die Bibliothek aktualisiert? Und auch mal bereinigt. Z.B. über Filme -> Cursor hoch und Bibliothek aktualisieren und über Einstellungen -> Medien -> Bibliothek -> Bibliothek bereinigen.

    Hast du einen anderen Client, mit dem die DB funktioniert? (Ohne zweiten Client macht die externe DB meines Erachtens ja wenig Sinn, u.a. auch da sie nach wie vor als experimentell kategorisiert ist).

    Kodi 21.1, 17.6, 21.1, 16, 20.5 on Windows 11 Pro, Android 6, Android 12, FireTV Box 2nd Gen, FireTV 4k Max 2nd Gen
    Media on NAS, OpenMediaVault 6 (Debian Linux).

    3 Mal editiert, zuletzt von buers (1. Oktober 2024 um 09:08)

  • Hallo buers und erstmal danke für deinen Text.


    WatchedList macht auch nichts anders, er speichert alle gesehenen Filme und Serien in einer Mysql Datenbank und man kann dann auf andere Clienten die gesehenen halt Synchronisieren. Nachteil ist eben, man muss auf jedem Clienten, die lokale DB aktualisieren. Vorteil ist auch dem Addon ist der Pfad zur Datei Egal er nimmt den Titel und legt ihn als gesehen ab!


    Ja der Zugriff auf sämtliche Videos funktioniert wunderbar. Ich beende Kodi nicht beim Log download, sondern hole sie mir 1 min nach dem starten ausn Ordner. Aber ist der Cachewert nicht egal? es wird ja nicht im RAM gespeichert sondern auf dem Stick selber. Die Idee dahinter war, wenn ich unterwegs bin und schaue, das schnell viel vorgepuffert wird, damit wenn ich mal in einem toten Winkel von Deutschland bin, der Film oder Serie, sauber weiterläuft.


    Ja die Bibliothek habe ich schon regelmäßig aktualisiert, das bereinigen will ich eigentlich nicht so gern, da das neue einlesen lange dauert :) Und ja ich habe 3 Clienten daheim und 2 auf arbeit *hust* Das oben genannte Addon ist schon ne feine Sache, aber wenn man auf jeden clienten neu Aktualisieren muss ist das "doof"


    Mit dem Ton werde ich mir mal am Wochenende zu Gemüte führen, ob da was funktioniert.


    Ist halt verwirrend das das Addon in MYSQL schreibt aber die advancedsettings sich da ohne Fehler weigert, hätte ja sein können das es in der neuen Version was geändert wurde!

  • Was mir gerade durch den Kopf geht bei UPnP werden ja auch keine Daten in die Datenbank geschrieben bzw hat mein KODi mir doch damals angesagt kann es vielleicht am SMB Protokoll liegen?


    Edit: habe gerade auf dem Handy mal KODi installiert und da wird auch bei SFTP nichts in die MySQL Datenbank geschrieben

  • Ich wollte primär was zu Audio-Problemen sagen, was ich ja auch getan habe. Bei DB können vielleicht andere besser helfen. Dennoch paar Beobachtungen.

    mit derselben Datenbankverbindung installiert

    muss ja nicht zwingend viel heißen. (Ist jedenfalls für mich nicht eindeutig, könnte anderen User, anderswo PW gespeichert, andere Berechtigungen, etc. heißen) Auffällig und für mich rätselhaft ist halt, dass man nicht mal den DB-Connect sieht im Log (und den sieht man als "info" normalerweise sogar schon ohne Debug, und auch Fehler, wenn der Connect nicht klappt). Kannst ja auch für dich mal Log files von den verschiedenen Clients vergleichen. Gab hier auch schon Hinweise, dass in manchen Situationen PW mit Sonderzeichen Probleme machen.

    Datenbank leer gemacht und neu gestartet damit Kodi reinschreibt, Fehlanzeige!

    Dir ist schon klar, dass Kodi beim Scrapen = Aktualisieren der Bibliothek in die DB schreibt? Ein nicht in der DB befindlicher Film kommt da auch nicht rein, wenn du ihn über Datei abspielst. Es ist auch nicht ganz klar, was du mit dem log zeigen willst. Wenn die DB leer bleibt, solltest du ein Scrapen antriggern und das im Log ansehen. Ist übrigens normalerweise nicht verkehrt, sich das Log bis zum Ende anzusehen. In dem Log sehe ich gar keine Aktionen (vielleicht was mit watchelist).

    das bereinigen will ich eigentlich nicht so gern, da das neue einlesen lange dauert

    Nö, nach Bereinigen wird normalerweise kein neues Einlesen benötigt. Außerdem, wenn du sagst die DB sei eh leer??? Mir scheint, da reden wir aneinander vorbei oder nutzen unterschiedliche Terminologie. Hast du denn eine gefüllte Bibliothek ("Library") in Kodi?

    Aber ist der Cachewert nicht egal? es wird ja nicht im RAM gespeichert sondern auf dem Stick selber.

    Diese Annahme ist nicht korrekt bezüglich des 2024-09-30 17:56:03.709 T:12156    info <general>: New Cache GUI Settings (replacement of cache in advancedsettings.xml) are:                                                     Buffer Mode: 1                                                     Memory Size: 384 MB, was mir halt im log auffiel.

    Nutzt du auf allen Clients die identische Kodi Version? (Ich will nicht behaupten, dass unterschiedliche Versionen deine geschilderten Beobachtungen erklären würden).

    Kodi 21.1, 17.6, 21.1, 16, 20.5 on Windows 11 Pro, Android 6, Android 12, FireTV Box 2nd Gen, FireTV 4k Max 2nd Gen
    Media on NAS, OpenMediaVault 6 (Debian Linux).

  • Gut, dann Versuche ich es nochmal zu erkären. Da die AdvancedSettings nicht so will, schreibt Kodi ja Automatisch in die lokale Datenbank. Watchlist vergleicht nur die Lokale Datenbank mit der Onlinedatenbank die erstellt wurde (WatchlistDB) das Hauptproblem man muss auf jedem "System" eben bei neuen Serien oder Co. neu Einlesen. Wenn man nun die LokaleDB von Kodi ins MYSQL Outsourced, muss ja nur das "Main"system die Datenbank aktualisieren und alle kriegen es mit, wenn sie die abrufen über die AdvancedSettings.xml .

    Die log habe ich gepostet das man sieht was passiert, nämlich gar nichts, was mich verwundert. WatchedList kann schreiben, Kodi selbst aber nicht.

    Dir ist schon klar, dass Kodi beim Scrapen = Aktualisieren der Bibliothek in die DB schreibt? Ein nicht in der DB befindlicher Film kommt da auch nicht rein, wenn du ihn über Datei abspielst. Es ist auch nicht ganz klar, was du mit dem log zeigen willst.

    Ja, das ist mir klar. Deshalb sagte ich ja auch er schreibt nur in die Lokale aber nicht in die MYSQL, was wiederum bedeutet da ist was faul

    Hast du denn eine gefüllte Bibliothek ("Library") in Kodi?

    Ja, die lokale Datenbank ist gefüllt mit Filmen und Serien.

    Diese Annahme ist nicht korrekt bezüglich des 2024-09-30 17:56:03.709 T:12156 info <general>: New Cache GUI Settings (replacement of cache in advancedsettings.xml) are: Buffer Mode: 1 Memory Size: 384 MB, was mir halt im log auffiel.

    Habe die 4k Max version der Gen 1 mit 1,5 GB Ram und Gen 2 mit 2 GB RAM. der Kleine hat 700 MB noch frei, somit kann ich doch 50% dafür benutzen. mehr als Kodi läuft da eh nicht drauf. Das aufn Speichermedium speichern war ja paar Punkte weiter unten nach dem 1 GB. Hab ich mich falsch ausgedrückt.


    #Edit: Habe gerade einen entscheidenden Fehler gefunden. es heißt ja nicht nur Database es heißt Videodatabase [dy]

  • zuspät dein edit gelesen [ah]
    Gerade gesehen:

    Bei deiner asl:

    <advancedsettings>
       <database>
       <type>mysql</type>
       <host>192.168.178.55</host>
       <port>3306</port>
       <user>sebastian</user>
       <pass>XXXXX</pass>
       <name>daheim</name>
       </database>
    </advancedsettings>

    fehlt der Typ. es muss heisen

     <videodatabase> 
    blablabla
     </videodatabase>

  • Gut, wie ihr es rausgefunden habt! Dachte mir noch, ob man daraus was lernen kann. Beispielsweise, ob es da eine Komponenten-spezifische Debug-Option gibt, die für den Fall eines unbekannten Elementnamens (<unknown_nonsense>) eine Logmeldung rauswirft. Gibt es aber offenbar nicht. Wenn ich den Quelltext richtig verstehe, liest Kodi halt zunächst das ganze xml in eine interne Struktur, und sucht in dieser Struktur nach bekannten zu interpretierenden Elementnamen. "Ungebrauchte" syntaktisch korrekt verwendete Elementnamen werden nicht identifiziert (und das wäre nach meiner Einschätzung nicht ganz trivial, obwohl natürlich wünschenswert).

    Ich nehme an, du Asatru hast auch das Passwort im Log selbst ersetzt durch XXXXX? Fiel mir halt im Quelltext auf, dass Kodi "*****" nutzt, und das Passwort <passs> lediglich in den bekannten Elementen "videodatabase", "musicdatabase", "tvdatabase", "epgdatabase" ersetzt (bei "adspdatabase" nicht). Erfahrenem Log-Leser hätte das PW im Klartext im Log vielleicht gleich den entscheidenden Hinweis gegeben. Aber natürlich klar, dass du das sinnvollerweise ersetzt hast.

    Und noch ein Kommentar zur Memorysize für Cache. Meine Empfehlung hatte ich gegeben. Habe da auch noch mal Quelltext geprüft. Ist mir leider zu komplex und zu spartanisch kommentiert, dass ich es gut verstehen könnte. Auch empirisch kann ich nicht mehr nachvollziehen (durch bekannte low-level OS-Tools) wieviel Speicher sich da Kodi wirklich schnappt. Meine früheren Tests, dass der Puffer nicht wirklich gut funktioniert, konnte ich nachvollziehen. Beispielsweise wird Kodi bei mir immer Film unterbrechen, nach kurzem Netzwerk-Unterbruch. (Netflix beispielsweise überlebt den kurzen Unterbruch). Auch vor dem Hintergrund der Aussage von Dev Fritsch würde ich Default-Größe lassen (wenn nicht nachweislich eine Änderung was hilft). "[...] I think it [buffer cache code] needs complete replacing at a point as the internal knowledge was lost and we see tons of issues [...]" https://forum.kodi.tv/showthread.php…6668#pid3166668

    Enger Speicher im OS (das ja assynchron neben Kodi noch viele andere Sachen tut, andere Apps lädt) kann schon unerwünschte, schwer zu reproduzierende Auswirkungen haben (Ruckeln, Stottern, ....).

    Kodi 21.1, 17.6, 21.1, 16, 20.5 on Windows 11 Pro, Android 6, Android 12, FireTV Box 2nd Gen, FireTV 4k Max 2nd Gen
    Media on NAS, OpenMediaVault 6 (Debian Linux).

  • Gut, wie ihr es rausgefunden habt! Dachte mir noch, ob man daraus was lernen kann. Beispielsweise, ob es da eine Komponenten-spezifische Debug-Option gibt, die für den Fall eines unbekannten Elementnamens (<unknown_nonsense>) eine Logmeldung rauswirft.

    Da gebe ich dir voll recht und ich denke mal Programmiertechnisch sollte das kein großer aufwand sein!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!