Videos ruckeln unter Kodi 19.4

  • Johnny1982fd schrieb:

    "Nein, in der GUI ist auch nur die GUI gemeint.
    In der Whitelist trägst du dort die erlaubten Auflösungen ein.
    Die Einträge dort gibt dir dein Fernseher an Kodi "zurück" bzw. sagt dir, was für ihn OK ist."

    Ich habe leider noch nicht ganz verstanden, wie ich mit der Whitelist umgehe:
    - sie ist nicht die EDID?
    - wenn nicht: wie erstelle ich sie (Syntax) bzw. wo liegt sie im System (konnte keine Datei mit solchem Namensteil finden...)

    Ich bitte um Aufklärung, vielleicht kommen wir dann der Sache näher.
    Sollte die EDID gemeint sein, die Werte habe ich wie oben beschrieben angelegt.

    Danke!

  • Johnny1982fd schrieb:

    "Nein, in der GUI ist auch nur die GUI gemeint.
    In der Whitelist trägst du dort die erlaubten Auflösungen ein.
    Die Einträge dort gibt dir dein Fernseher an Kodi "zurück" bzw. sagt dir, was für ihn OK ist."

    Ich habe leider noch nicht ganz verstanden, wie ich mit der Whitelist umgehe:
    - sie ist nicht die EDID?
    - wenn nicht: wie erstelle ich sie (Syntax) bzw. wo liegt sie im System (konnte keine Datei mit solchem Namensteil finden...)

    Ich bitte um Aufklärung, vielleicht kommen wir dann der Sache näher.
    Sollte die EDID gemeint sein, die Werte habe ich wie oben beschrieben angelegt.

    Danke!

    Also die EDID Datei habe ich auch erstellt. Und zwar musste ich das machen weil ich einen AV Receiver zwischen meinem PI und dem TV habe. Über die Verbindung mit dem Receiver wurde Kodi initial nicht alle Auflösungen die der TV unterstützt übermittelt. Deshalb habe ich den PI direkt mit dem TV verbunden und dann eine EDID angelegt in der alle Auflösungen bekannt sind.

    Damit zwingst du Kodi praktisch, diese erstellte EDID Datei zu lesen (mit allen möglichen Auflösungen)

    Die Whitelist besagt, welche Auflösung due Kodi "erlaubst", an deinen TV zu senden.
    Du kannst natürlich testweise mal alles anhaken und schauen wie sich das System verhält.

  • Als Hinweis....

    Wenn ein AVR dazwischen hängt, der nur 1080p kann, der TV aber 4k-fähig ist, dann bringt euch eine vom TV erstellte EDID auch nicht weiter.

    Und nur weil Kodi dann die Auflösungen "kennt" (weil ihr ein falsches Gerät vorgaukelt mit Spezifikationen, die das angeschlossene Geräte nicht kann), heißt das nicht, dass Kodi damit auch umgehen kann.

    Man sollte Kodi immer die EDID geben von dem Gerät, welches auch abgeschlossen ist. Es sei denn, der Hersteller des Geräts hat beim Übermitteln der EDID murks gemacht. Dann nimmt man eine EDID, die der des Geräts ähnlich ist. Aber niemals eine völlig andere.

  • Ich habe mir das Log jetzt nochmal genauer angesehen. Habe aber nicht den ganzen Thread gelesen

    Wenn das Video sauber und ohne Ruckeln abgespielt werden soll, dann müssen, wie schon erwähnt, die entsprechenden Auflösungen passend zum Video in der Whitelist erlaubt werden. Das kann beim Abspielen dann etwas unsauber aussehen, was das OSD anbelangt. Aber wenigstens sieht das Video dann gut aus und läuft ohne Ruckeln.

    Eine weitere EDID braucht es da meiner Meinung nach nicht

    Ich würde erstmal die selbst hinzugefügte EDID wieder entfernen. Dann schaltet man in der Whitelist alle gängigen Auflösungen ein. Du kannst auch einfach erstmal alles einschalten. Dann siehst du den Effekt schneller und kannst dann ggf. Dinge wieder abschalten.

    Auf jeden Fall solltet ihr nicht mit EDIDs rumspielen, wenn es nicht nötig ist.

  • Im Logfile des ersten Beitrages stehen alle Auflösungen drin. Hattest du dir das angesehen?

    Es würde mich wundern, wenn dort alle Auflösungen gelistet werden, diese aber dann innerhalb von Kodi nicht verfügbar sind.

    Ich kann da aber gern nochmal nachhaken ob diese Option besteht.

    Ich kenne es aus der Vergangenheit nur so, dass wenn Auflösungen nicht verfügbar waren, wurden sie auch im Logfile nicht gelistet.

    Weiter sehe ich hier im Threads keinerlei Screenshots, die das bestätigen würden. Ich sehe aber ein Logfile und das spiegelt für mich erstmal die Wahrheit wider.

  • Irgendwie habe ich das Gefühl es gibt hier noch sehr viele Unklarheiten oder Missverständnisse und es würde Sinn machen das weiter aufzudröseln.

    Die EDID (Extended Display Identification Data) ist eine Samlung von Informationen die ein Ausgabegerät an via HDMI angeschlossene Zuspieler ausgibt und diesen mitzuteilen, welche Eigenschaften (Bildformate, Bildwiederholrate, Auflösung sowie Kombinationsn daraus, Tonformate, etc) er unterstützt. Somit wissen die angeschlossenen Zuspieler Geräte welche Bild- und Tondaten an das Display zur Anzeige weitergeleitet werden können.


    In einigen Fällen kann es so sein, dass aufgrund der HDMI-Kette (wenn z.B. das Signal noch durch einen A/V-Receiver oder eine Soundbar geschleift wird) die EDID vom Zuspieler nicht richtig gelesen werden können, oder der Zuspieler die EDID-Daten des zwischengeschalteten Gerätes ausliest.
    Auch kann es sein, dass manche Displays keine EDID-Informationen oder EDID-Informationen mit falschen Inhalten ausgeben.

    Um eine optimale Wiedergabe zu erzielen wäre es jetzt wichtig, zu wissen, wie die HDMI-Kette aussieht und welche Auflösungen/Hz-Kombinationen dein Fernseher bzw. andere Geräte in der Kette untertützen.
    Dazu kannst du dir die EDID-Informationen mit deinem Raspberry Pi 4 auslesen in dem du ihn direkt an das Display bzw. andere Geräte aus der HDMI-Kette anschließt und folgenden Befehl über die Konsole (Putty, etc.) eingibst:

    Code
    getedid create
    edid-decode /storage/.config/firmware/edid/edid-HDMI-A-1.bin

    Der erste Befehl erzeugt eine Datei edid/edid-HDMI-A-1.bin unter /storage/.config/firmware/edid/ auf dem Raspberry Pi.

    Der zweite Befehl decodiert die Datei und zeigt dir die ausgelesenen Metadaten im Klartext an.

    Die ausgelesenen Werte solltest du dir dann für alle Komponenten notieren.

    Um sicherzugehen, dass die ausgelesenen Werte auch den tatsächlich unterstützten Werten entsprechen, empfielt sich hier dann nochmal ein Abgleich mit dem Datenblatt des jeweiligen Geräts.


    Die Schnittmenge der Werte, die von allen Geräten in der HDMI-Kette tatsächlich unterstützt werden, ist dann das, was du unter LibreELEC in die Whitelist einträgst.
    Im Idealfall sollten jetzt genau die Werte übrig sein, die auch in dem von dir angehängten [definition=9,3]Kodi.[definition='1','0']log[/definition][/definition] aufgelistet sind.
    Die erstellte edid-Datei kannst du anschließend wieder löschen. Die wird an sich nur unter ganz bestimmten Konstellationen benötigt. Z.B. wenn der Raspberry die EDID-Informatioen des Displays im Regelbetrieb überhaupt nicht lesen kann, oder falsche Informationen ausgelesen werden. Davon gehen wir hier aber erstmal nicht aus.

    Ansonsten hat @DaVu eigentlich alles gesagt :)

  • oder der Zuspieler die EDID-Daten des zwischengeschalteten Gerätes ausliest.

    Und das ist auch richtig so.

    Denn, z. B. in meinem Fall, wenn der TV 4k kann, der AVR aber nicht (mein AVR unterstützt nur bis zu 1080p und mein TV 4k), dann bringt mir dir EDID des TVs rein gar nichts. Ich würde dann dem Zuspieler vorgaukeln, dass der AVR 4k kann (was in meinem Fall defakto nicht der Fall ist) und ich könnte mit der Auflösung nichts anfangen. Wähle ich sie aus, bekomme ich kein Bild, da der AVR das Signal gar nicht handeln könnte.

    Ich wollte mit meinem Beitrag oben nur sagen, dass

    1. es mir nichts bringt, wenn ich die EDID eines anderen Gerätes auslese (TV) und dann aber den Zuspieler (RPI) an ein drittes Gerät anschließe, welches ggf. andere Spezifikationen hat (AVR).
    2. es ggf sogar gefährlich sein kann, eine fremde EDID auf ein anderes Gerät "los zu lassen".
    2. es nicht nötig sein sollte überhaupt eine EDID auszulesen, da die Auflösungen schon vorhanden sein sollten (siehe Logfile)
    3. wir hier ein paar mehr Bestätigungen brauchen ob die Auflösungen wirklich nicht vorhanden waren oder der OP vielleicht nur an falscher Stelle geschaut hat.

    Dafür würde ich sehr gern mit dem Themenstarter nochmal von vorn beginnen. Ohne irgendwelche komischen Hacks oder Tricks. Der RPi ist bei LibreELEC immer noch das am meisten genutzte Gerät und wenn das mit den Auflösungen an einem AVR oder einem TV nicht sauber funktionieren würde, dann hätten wir schon wesentlich mehr davon gehört. Hier im Forum lese ich nicht viel davon, dass die Leute Probleme mit ruckelnden Bildern haben.

    Gut...wenige verwenden auch eine 720*576 Auflösung in ihren Videos. Aber auch das sollte JEDER AVR hinbekommen.

    @psychofaktory
    kurzer Nachtrag noch....

    getedid create ist ggf. nicht für den RPi verfügbar. Ich habe das Script seiner Zeit selbst geschrieben und wenn ich mich recht erinnere ist es nur für x86 Geräte und Intel und Nvidia brauchbar. Irgendwann haben wir mal AMD mit einbezogen. Für den RPi ist es aber nicht brauchbar.

    Siehe: https://github.com/LibreELEC/Libr…getedid#L30-L40

    Einmal editiert, zuletzt von DaVu (15. April 2022 um 18:32)

  • Und das ist auch richtig so.

    Ich hatte das bewusst so allgemein wie möglich formuliert, da es ja auch den umgekehrten Fall wie bei dir geben kann.
    Also wenn ein zwischengeschalteter AVR 4K kann, und der TV dann aber z.B. nur Full-HD. Das Szenario habe ich z.B. so hier.
    Dann bringt es natürlich genauso wenig wenn Kodi ein 4K-Bild ausgeben möchte weil das direkt angeschlossene HDMI-Gerät in der Kette die Unterstützung dafür in seiner EDID aufführt.

  • Ja, auch das ist korrekt. Aber du gefährdest deinen AVR nicht mit einem Signal, welches er nicht versteht. Er würde es verstehen, der TV kann aber nichts damit anfangen. Da ist die angesprochene Schnittmenge dann ausschlaggebend.

    Und wie gesagt, falls du oben meinen Edit übersehen hast, getedid create sollte auf den RPi nicht möglich sein, da die GPU nicht unterstützt ist.

  • @DaVu
    Mit LibreELEC 10 hat sich das offenbar geändert.

    Bin selbst am Mittwoch erst darauf gestoßen:
    https://www.kodinerds.net/index.php/Thre…0982#post680982

    An meinem Raspberry Pi 3 konnte ich mit dem Befehl unter LibreELEC 10.0.2 eine edid-HDMI-A-1.bin erzeugen und mit dieser waren meine Probleme dann auch tatsächlich gelöst.
    Der Sachverhalt war allerdings bei mir auch ein ganz anderer als hier.
    Bisher hatte ich Workarounds rund um die EDID überhaupt nicht benötigt und denke das dürfte auch nur in absoluten Ausnahmefällen erforderlich sein.

    Am besten @tetomte_kodi verrät uns erstmal wie die HDMI-Kette aussieht und welche Geräte genau verwendet werden (TV-Modell, etc.)

  • Alles zurück

    "getedid" funktioniert. Was wir bei LE aber machen ist....wir benennen das Script "getedid-drm" nach "getedid" um. Somit ist es im Endeffekt ein anderes Script welches ausgeführt wird ;)

    Viel Wind um nichts und wir hatten beide Recht :D

    Hier passiert die Magie:

    https://github.com/LibreELEC/Libr…ge.mk#L108-L111

    Und ja...das kann gut sein, dass das seit LE 10 so ist ;)


    Also allein um das zu testen, werde ich auf meinem RPi 4 mal wieder LibreELEC installieren. Das sollte nämlich erst gar nicht funktionieren.

    Wie @PvD schon sagte, bezieht sich das Wiki ausschließlich auf x86 Geräte und der Auszug des Scripts besagt eindeutig, dass wir nur gewisse GPUs unterstützen. Sollte das auf dem RPi aber dennoch funktionieren, muss ich das Script anpassen. Denn dafür ist es nicht gebaut worden. Ich bin mir da wirklich zu 99% sicher. Denn, wie gesagt, ich habs geschrieben ;)

    Weiter würde der weitere Weg des Scripts auf keinen Fall auf einen RPi zutreffen und somit "getedid create" nicht das machen, was es eigentlich auf einer x86 Maschine machen würde.

    getedid create ruf die Funktion check_gpu auf und da sollte der Schmutz schon fehl schlagen da beim RPi weder Intel, AMD oder Nvidia raus kommt.

    Ich werde mir das aber anschauen. Ich bezweifele aber ganz stark, dass das so funktioniert hat, wie du es dir vorstellst ;)

    Tu mir doch mal bitte einen Gefallen und für auf deinem RPi mal lspci | grep -i vga aus und poste die Ausgabe mal hier rein. Damit würdest du mir ein wenig Zeit sparen.

    Danke im Voraus

    Edit:

    "lspci" sollte auf einem RPi gar nicht funktionieren, da der RPI offensichtlich keine PCI-Bus hat. Somit kann es natürlich sein, dass er in der Funktion "check_gpu" nicht in den "exit" läuft. Dann aber, startet die Funktion "run" die nochmal prüft welche GPU denn verwendet wird. Da könnte ich noch einen exit einbauen damit das auf einem RPi keinen Unsinn macht. Die Funktion "run" entscheidet nur, welche weitere Funktion aufgerufen wird.

    Meintest du vielleicht getedid-drm? Das wäre ggf auf einem RPi4 verfügbar und würde vielleicht auch funktionieren.

    3 Mal editiert, zuletzt von DaVu (15. April 2022 um 20:02)

  • getedid create war definitiv der einzige Befehl den ich abgesetzt habe.
    Und umgehend wurde unter /storage/.config/firmware/edid/ eine edid-HDMI-A-1.bin angelegt.

    Die .bin-Datei habe ich dann auch auf edid.tv hochgeladen, wo sie als valide erkannt wurde.

    Mit edid-decode /storage/.config/firmware/edid/edid-HDMI-A-1.bin konnte ich die Datei dann auch dekodieren und sämtliche Inhalte im Klartext lesen. Die Inhalte entsprechen auch den tatsächlichen Werten meines Samsung-Fernsehers.

    Die Info dazu hatte ich von hier:
    https://forum.libreelec.tv/thread/24144-l…6989#post156989

    Tu mir doch mal bitte einen Gefallen und für auf deinem RPi mal lspci | grep -i vga aus und poste die Ausgabe mal hier rein

    LibreELEC (official): 10.0.2 (RPi2.arm)
    Kodi:~ # lspci | grep -i vga
    -sh: lspci: not found

  • Vielen Dank für alle Beiträge!

    Momentan kann ich jedoch keinen Weg für mein Anliegen darin erkennen.

    Daher erstmal meine Hardwarekette und Software:
    - RPi4 mit Libreelec 10.0.2
    - Hdmi-Kabel (4K-fähig)
    - TV Samsung GQ50QN93AAT

    - gespeist wird der Raspi via NFS (Linux-NAS) oder USB3-SSD (ext4-Filesystem)
    - die Videodateien sind i.d.R. ISO-Dateien von DVD oder BD

    (Das geschilderte Problem hat sich jetzt stellenweise verschärft, da sich nun beim Abspielen eines Videos die Versätze Ton/Bild mit der Zeit immer mehr steigern, so dass Ton und Bild überhaupt nicht mehr übereinstimmen und das Bild letztlich eingefroren ist, der Ton aber weiterläuft.)

    Ich habe die GUI von Kodi mal auf 4k eingestellt (bei 30Hz), als auch wie empfohlen auf 1920x1024p, ohne Änderung der Wiedergabequalität.

    Ich habe, wie beschrieben, die EDID erstellt und konnte sie auch entschlüsseln und anzeigen mit:

    getedid create
    edid-decode /storage/.config/firmware/edid/edid-HDMI-A-1.bin

    Leider ohne Erfolg, das Ruckeln bleibt.

    Was mich noch umtreibt: ich habe den Zugang zur Whitelist noch nicht verstanden.

    Hier erstmal der Pfad wo die Datei liegt. Der Rest kommt gleich

    ?????Ich sehe dort nur den Pfad zur EDID...bin.

    Kann mir das nochmal jemand aufdröseln: wie komme ich an die Whitelist und wo hat sie in welcher Syntax zu stehen. Vielleicht hilft mir das weiter.

    Danke!!!

  • Ich habe, wie beschrieben, die EDID erstellt und konnte sich auch entschlüsseln und anzeigen

    Super. mit den decodierten Werten siehst du die Parameter die dein Samsung-Fernseher unterstützt.
    Die trägst du dann in den Kodi-Einstellungen in die Whitelist ein.

    Hier ist beschrieben wo du die Whitelist findest und wie sie funktioniert:
    https://kodi.wiki/view/Settings/System/Display#Whitelist

    Du musst dazu die Ansicht der Kodi-Einstellungen übrigens auf "Expert" gestellt haben. Sonst wird dir die Option in den Einstellungen zur Konfiguration nicht angezeigt.

  • Prima!
    Zuerst noch etwas anderes: ich habe versuchsweise auf Libreelec 10.0.1 umgestellt (andere SD-Karte) und: unter dieser Version klappt alles ohne Anpassungen. Das als Hinweis.

    Weiter mit der Whitelist: ich habe alle Werte übertragen und voila --> nach bisheriger Prüfung laufen SD- wie auch HD-Inhalte wieder ruckelfrei.
    Eine Videokalibrierung war noch nötig.

    Also danke für die Hinweise!

    Fazit: unter LE 10.0.2. braucht es in (meinem Hardware-Fall) dezidierte Angaben in der Whitelist, um zu passenden Auflösungen zu kommen.

    Ich werde noch weitere Tests machen und mich dann final nochmal zurückmelden.

  • Video Kalibrierung sollte nicht nötig sein. Oder verwendest du noch einen Röhren-TV?

    Wenn nicht, dann ist es eine der Zoom-Eindtellungen deines TVs. Video Kalibrierung bedeutet bei modernen TVs nichts anderes als den Verlust nativer Auflösung und ist nicht nötig.

    Bitte lies die BDA deines Fernsehgeräts.

  • Video Kalibrierung sollte nicht nötig sein. Oder verwendest du noch einen Röhren-TV?

    Wenn nicht, dann ist es eine der Zoom-Eindtellungen deines TVs. Video Kalibrierung bedeutet bei modernen TVs nichts anderes als den Verlust nativer Auflösung und ist nicht nötig.

    Bitte lies die BDA deines Fernsehgeräts.

    okay.
    TV ist keine Röhre (siehe oben).
    Das Bild war nur verzerrt und mit der Kalibrierung konnte ich es wieder "in Form" bringen. Das habe ich aber in Kodi gemacht, nicht am TV!

Jetzt mitmachen!

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