Video Treiber für Odroid-N2+ (softhdodroid)

  • Tja, da bin ich auch überfragt. Empfangsprobleme kannst Du ausschließen? Was ist Deine iptv-Quelle? Sind die Einträge der channels.conf korrekt?

    Ein DVB device hast Du ja nicht

    Display Spoiler

    Jun 23 10:23:33 CoreELEC vdr[3519]: [3519] registered source parameters for 'T - DVB-T'

    Jun 23 10:23:33 CoreELEC vdr[3519]: [3519] no DVB device found

    Diese timeout-Kernelmeldungen vom Decoder habe ich jedenfalls nicht.

    Dieter schrieb in VDR auf 40€ TV-Box - Tanix TX3 und ähnlichen Amlogic basierten Boxen

    Quote

    Den S912 sollte man meiden, ebenso die anderen Varianten with S905X4, X2, X, W und L.

    Den S905Y erwähnt er nicht, aber vielleicht weiss er mehr

    VDR1: Odroid N2+ mit CoreELEC und Ubuntu in chroot, 2x WinTV DualHD, Sandisk 2TB SSD

    VDR2: Tanix TX3 mit VDR*ELEC, WinTV DualHD, 500GB SSD

  • Empfangsprobleme kann ich ausschließen. Das ist IPTV mit MagentaTV von hier. Die Channels.conf funktioniert auch am anderen VDR.

    Hab gerade die VDR Aufnahmen per NFS eingebunden und beim Abspielen von Aufnahmen das gleiche Problem. Ich kann aber auch nur H264 Sender/Aufnahmen testen.

    Gruß dile

  • @Dr. Seltsam vielen Dank für die mpeg Testdatei.

    Leider auch hier beim Abspielen das gleiche Verhalten. Video bleibt beim abspielen schwarz. Audio funktioniert. Allerdings setzt das Audio auch alle paar Sekunden kurz aus. (Ist aber beim h264 auch so) Und das OSD funktioniert.

    Im Log sieht es etwas anders aus:

    journalctl1.txt

  • tja, da habe ich keine Idee. Vielleicht kann jojo61 nach seinem Urlaub mal schauen, ob andere Programme wie kodi für den S905Y besonderen Code verwenden.

    Amlogic ist leider mehr oder weniger undokumentiert.

    VDR1: Odroid N2+ mit CoreELEC und Ubuntu in chroot, 2x WinTV DualHD, Sandisk 2TB SSD

    VDR2: Tanix TX3 mit VDR*ELEC, WinTV DualHD, 500GB SSD

  • Wenn alles gut geht, dann sollten bis morgen früh neue Images gebaut worden sein. Die Images mit "-s" am Ende beinhalten den softhdodroid patch. Aber das dauert halt ein paar Stunden.

    Ich konnte ein Image mit den softhdodroid patch testen. Das Umschalten ist tatsächlich noch etwas flotter und liegt jetzt bei so etwa 1 Sek. Das Springen in Aufnahmen und der Vorlauf funktionieren auch einwandfrei. Ansonsten konnte ich keine Fehler feststellen.

    Ein Problem habe ich noch bei Rückwärtsspulen in HD-Aufnahmen. Da bewegt sich nur der Anzeigebalken, aber das Bild bleibt stehen. Das ist aber unabhängig vom Patch und bereits zuvor aufgetreten. Ist das ein bekanntes Problem oder nur bei mir so?

    Meine VDR's


    VDR1: ASUS M5A78L-M/USB3, AMD Sempron 140, 4GB Kingston HyperX DDR3-1600, 1000GB Samsung EcoGreen F2 HD103SI, 1024MB Asus GeForce GT 520 Passiv, L4M-Twin S2 (v.5.4), TT S2-1600, 300W be quiet! Pure Power L7, Atric IR receiver, yaVDR 0.6
    VDR2: Gigabyte GA-MA78LMT-US2H, AMD Sempron 140, 2GB Kingston HyperX DDR3-1600, 500GB Samsung EcoGreen F2 HD502HI, 1024MB Asus GeForce GT 520 Passiv, L4M-Twin S2 (v.5.5), 300W be quiet! Pure Power L7, Atric IR receiver, yaVDR 0.6
    VDR3: ... [keine Zeichen übrig]

  • Ja, das ist auf alle Fälle noch eine Baustelle. Ich zitiere mich aus #373:

    Quote

    Das Springen geht verzögerungsfrei, nur das Spulen ist nicht ganz flüssig. Es werden anscheinend nicht alle Frames angezeigt, und alle paar Sekunden bleibt das Bild bei einem Frame stehen. Beim Rückwärtsspulen aktualisiert sich das Bild gar nicht, aber das war schon immer ein Problem auch bei den anderen softhd*-Plugins und mag auch vom Sender und der Aufnahme abhängen

    Ich habe noch nicht ganz verstanden, wie das Spulen überhaupt umgesetzt wird. Der Amlogic Treiber scheint nicht selbst verschiedene Abspielgeschwindigkeiten per ioctl zu unterstützen, sondern nur einen allgemeinen Trickmode.

    VDR1: Odroid N2+ mit CoreELEC und Ubuntu in chroot, 2x WinTV DualHD, Sandisk 2TB SSD

    VDR2: Tanix TX3 mit VDR*ELEC, WinTV DualHD, 500GB SSD

  • Ich habe es jetzt mal mit einer mpeg2-Aufnahme (SD RTL) getestet. Dort klappt das Spulen vorwärts und rückwärts einwandfrei. Man sieht die einzelnen Frames und es läuft flüssig. Das Problem scheint nur bei h264 zu existieren. Wobei ich bisher nur 720p getestet habe. Muss mal suchen, ob es frei empfangbare 1080i Sender im Kabel gibt.

    VDR1: Odroid N2+ mit CoreELEC und Ubuntu in chroot, 2x WinTV DualHD, Sandisk 2TB SSD

    VDR2: Tanix TX3 mit VDR*ELEC, WinTV DualHD, 500GB SSD

  • Das ist leider "noch" nicht implementiert. Als ich den Treiber entwickelt habe dachte ich das es gar nicht geht. Das decodieren macht ja der Kernel und ich sehe das fertige Frame nie. Zwischenzeitlich habe ich aber gesehen das es wohl doch Kernelparameter gibt die ein crop ermöglichen. Ob das aber dann damit funktioniert muss ich noch ausprobieren. Wenn es geht dann baue ich es ein.

    Dr. Seltsam Ich habe mir deinen Patch angesehen und werde ihn einbauen. Ich will es aber vorher nochmal testen. Komme aber erst am Montag dazu.

    Schonmal danke für deine Mühe.

  • jojo61 Kannst Du Dich erinnern, warum Du in VideoSetTrickspeed den speed-Wert auf 6 begrenzt hast?

    Code
    if (speed > 6)
            speed = 6;

    Das macht m.E. keinen Sinn.

    die device.h von vdr beschreibt

    So wie es ist, kann die Zeitlupenfunktion also nur vorwärts in Stufe 2 und 3 richtig funktionieren.

    VDR1: Odroid N2+ mit CoreELEC und Ubuntu in chroot, 2x WinTV DualHD, Sandisk 2TB SSD

    VDR2: Tanix TX3 mit VDR*ELEC, WinTV DualHD, 500GB SSD

  • Ich habe nun den Patch von Dr.Seltsam eingecheckt. Allerdings habe ich den default von FastSwitch auf false gesetzt.

    Trickspeed ist schwierig weil ich dem Treiber nicht sagen kann wie schnell er abspielen soll. Also verzögere ich die Frames bei TrickSpeed.

    Dabei habe ich ehrlich gesagt nicht an die Zeitlupe gedacht.

  • jojo61 danke für die schnelle Umsetzung meines Wunsches.

    Ich werde es testen und berichten sobald Zabrimus es in seinen Images aktualisiert hat! ;)

    meine aktuelle Hard- und Software

    Heimkino: . . . . . . . AVR Denon AVR-X4800H . . . MiniLED-UHD-TV SONY BRAVIA XR-75X95L. . . Universal-FB: Sofabaton U2
    VDR-Hardware: . . Grafik MSI GT1030, Quad-DVB-C/T2 TBS-6205, Quad-DVB-S2/S2X TBS-6904SE

    VDR-Software: . . . yaVDR-ansible-noble - Kernel 6.08.0 - VDR-2.7.x - nvidia-550
    VDR-Client 1+ Media-Player: . . . Odroid N2 . 4GB mit VDR*ELEC Kodi-21.x + VDR-2.7.x_@Zabrimus
    VDR-Client 2+ Media-Player: . . . Dune HD Homatics Box R4K Plus . 4GB mit Kodi-21.x + VDR-2.7.x_@Zabrimus

  • jojo61: magst Du das noch einchecken:

    es entfernt lediglich die falsche Begrenzung auf speed 6. Der Rest ist Formatierungskorrektur.

    Alle Geschwindigkeiten funktionieren, sowohl FF/REW als Zeitlupe vor und zurück.

    Bei der Zeitlupe gibt es noch das Problem, das nach dem Wechsel vom Standbild zur Zeitlupe vorwärts das Bild erstmal ein Stück schnell vorwärtsläuft, ehe die langsame Zeitlupe beginnt. Das untersuche ich noch.

    Und bei h264 funktioniert die Bildaktualisierung beim Rückwärtslauf nicht. Letzteres könnte vielleicht daran liegen, dass in PesParse einiger h264-spezifischer Code fehlt, der an der Stelle in softhddevice vorhanden ist.

    VDR1: Odroid N2+ mit CoreELEC und Ubuntu in chroot, 2x WinTV DualHD, Sandisk 2TB SSD

    VDR2: Tanix TX3 mit VDR*ELEC, WinTV DualHD, 500GB SSD

  • So ich habe nun auch das crop eingebaut. Leider geht das nur per Codec und nicht mehr per Auflösung.

    Ich habe es getestet und prinzipiell läuft es erstmal. Das Bild wird gezoomt, wenn man die Werte für softhdodroid.xxx.CutTopBottom bzw. softhdodroid.xxx.CutLeftRight ändert.

    Ob das jetzt mit den "codec-Variablen" auch so funktioniert wie vorher muss ich nochmals in Ruhe testen.

    Denn damit das Bild gleichmäßig gezoomt wird, ohne das z.B. Eierköpfe entstehen, muss man ja die Werte für Oben/Unten und auch für Links/Rechts entsprechend der aktuellen Auflösung prozentual richtig ändern.


    Allerdings muss ich jetzt immer einmal den Sender wechseln, damit der geänderte Zoom aktiv wird. ?(

    Vorher hat das auch ohne Senderwechsel funktioniert. siehe hier! Da klappte es durch neu zeichnen des Bildes.

    meine aktuelle Hard- und Software

    Heimkino: . . . . . . . AVR Denon AVR-X4800H . . . MiniLED-UHD-TV SONY BRAVIA XR-75X95L. . . Universal-FB: Sofabaton U2
    VDR-Hardware: . . Grafik MSI GT1030, Quad-DVB-C/T2 TBS-6205, Quad-DVB-S2/S2X TBS-6904SE

    VDR-Software: . . . yaVDR-ansible-noble - Kernel 6.08.0 - VDR-2.7.x - nvidia-550
    VDR-Client 1+ Media-Player: . . . Odroid N2 . 4GB mit VDR*ELEC Kodi-21.x + VDR-2.7.x_@Zabrimus
    VDR-Client 2+ Media-Player: . . . Dune HD Homatics Box R4K Plus . 4GB mit Kodi-21.x + VDR-2.7.x_@Zabrimus

  • Allerdings muss ich jetzt immer einmal den Sender wechseln, damit der geänderte Zoom aktiv wird

    Ja ich dachte mir schon das dich das stören wird. Ich werde das noch ändern damit es sofort passiert. Da ich die Frames nicht mehr sehe müsste ich bei jeden Frame das crop an den Kernel schicken. Das möchte ich nicht. Ich werde nun einbauen das dies nur geschieht wenn sich das crop ändert.

    Leider ist mir vor 2 Tagen bei einem Gewitter mein Entwicklungsrechner kaputt gegangen und ich kann derzeit nichts einchecken. Ich kann erst nächste Woche wieder normal arbeiten :(

  • jojo61 wäre super, wenn Du das noch bei Gelegenheit ändern könntest. Eilt aber nicht so sehr! ;)

    meine aktuelle Hard- und Software

    Heimkino: . . . . . . . AVR Denon AVR-X4800H . . . MiniLED-UHD-TV SONY BRAVIA XR-75X95L. . . Universal-FB: Sofabaton U2
    VDR-Hardware: . . Grafik MSI GT1030, Quad-DVB-C/T2 TBS-6205, Quad-DVB-S2/S2X TBS-6904SE

    VDR-Software: . . . yaVDR-ansible-noble - Kernel 6.08.0 - VDR-2.7.x - nvidia-550
    VDR-Client 1+ Media-Player: . . . Odroid N2 . 4GB mit VDR*ELEC Kodi-21.x + VDR-2.7.x_@Zabrimus
    VDR-Client 2+ Media-Player: . . . Dune HD Homatics Box R4K Plus . 4GB mit Kodi-21.x + VDR-2.7.x_@Zabrimus

  • jojo61

    Danke für die neue Version vom softhdodroid-Plugin.

    Das Zoomen klappt nun sofort, brauche also nicht mehr einen Senderwechsel. Super. :thumbup:

    Was leider nicht so optimal ist, das nun der Codec "MPEG-2 , MPEG-4 , H.265" an Stelle der Bildauflösung "576i , 720p , 1080i , UHD" verwendet wird.

    Da muss ich mir noch was einfallen lassen, wie ich das optimal machen kann, damit das zoomen richtig klappt.

    Momentan mit den softhddevice-Plugin hatte ich es ja so gelöst, wenn ich z.B. um 10% aufzoomen will:


    Jetzt beim softhdodroid-Plugin habe ich das Script erstmal so gemacht:

    Code
    ### Zoom = 10% ###
    
    /usr/local/bin/vdr-dbus-send.sh /Setup setup.Set string:"softhdodroid.MPEG-2.CutLeftRight" variant:string:"51"
    /usr/local/bin/vdr-dbus-send.sh /Setup setup.Set string:"softhdodroid.MPEG-2.CutTopBottom" variant:string:"29"
    /usr/local/bin/vdr-dbus-send.sh /Setup setup.Set string:"softhdodroid.MPEG-4.CutLeftRight" variant:string:"96"
    /usr/local/bin/vdr-dbus-send.sh /Setup setup.Set string:"softhdodroid.MPEG-4.CutTopBottom" variant:string:"54"
    /usr/local/bin/vdr-dbus-send.sh /Setup setup.Set string:"softhdodroid.H.265.CutLeftRight" variant:string:"192"
    /usr/local/bin/vdr-dbus-send.sh /Setup setup.Set string:"softhdodroid.H.265.CutTopBottom" variant:string:"108"


    Das ist aber leider nicht immer richtig, denn der Codec "MPEG-4" kann ja zum einen 1280x720 oder auch 1920x1080 Pixel sein.

    Und somit ist ein Zoom um 10% dann einmal 64x36 oder dann auch 96x54 Pixel.

    Aber ich habe ja nun keine Unterscheidung mehr, welche Bildauflösung gerade verwendet wird. Also 720p wie bei den ARD- bzw. ZDF-Sendern oder eben 1080i wie bei den privaten HD-Sendern, denn beides ist ja "MPEG-4". :(

    Und somit zoome ich bei 720p viel mehr als 10%, d.h. ich muss da noch einen Mittelweg finden! ;)

    Aber Hauptsache es funktioniert überhaupt erstmal und ich kann zoomen, um die leidigen schwarzen Balken oben und unten wegzubekommen. ;)

    Da werde ich etwas experimentieren, um die optimalen Zoomfaktoren zu bekommen.

    meine aktuelle Hard- und Software

    Heimkino: . . . . . . . AVR Denon AVR-X4800H . . . MiniLED-UHD-TV SONY BRAVIA XR-75X95L. . . Universal-FB: Sofabaton U2
    VDR-Hardware: . . Grafik MSI GT1030, Quad-DVB-C/T2 TBS-6205, Quad-DVB-S2/S2X TBS-6904SE

    VDR-Software: . . . yaVDR-ansible-noble - Kernel 6.08.0 - VDR-2.7.x - nvidia-550
    VDR-Client 1+ Media-Player: . . . Odroid N2 . 4GB mit VDR*ELEC Kodi-21.x + VDR-2.7.x_@Zabrimus
    VDR-Client 2+ Media-Player: . . . Dune HD Homatics Box R4K Plus . 4GB mit Kodi-21.x + VDR-2.7.x_@Zabrimus

    Edited once, last by Paulaner (July 9, 2022 at 11:16 AM).

  • Super, das werde ich demnächst testen und in mein Script einbauen! :thumbup:

    Es genügt dabei ja nur /sys/class/video/frame_width auszulesen, denn damit ist der Rest ja auch klar! ;)

    UPDATE:

    Habe mein Script um die Abfrage cat /sys/class/video/frame_height erweitert und nun klappt es einwandfrei! Perfekt! :) :thumbup:

    Vielen Dank nochmals für Deine Hilfe und den Tipp mit der Abfrage der Bildparameter.

    meine aktuelle Hard- und Software

    Heimkino: . . . . . . . AVR Denon AVR-X4800H . . . MiniLED-UHD-TV SONY BRAVIA XR-75X95L. . . Universal-FB: Sofabaton U2
    VDR-Hardware: . . Grafik MSI GT1030, Quad-DVB-C/T2 TBS-6205, Quad-DVB-S2/S2X TBS-6904SE

    VDR-Software: . . . yaVDR-ansible-noble - Kernel 6.08.0 - VDR-2.7.x - nvidia-550
    VDR-Client 1+ Media-Player: . . . Odroid N2 . 4GB mit VDR*ELEC Kodi-21.x + VDR-2.7.x_@Zabrimus
    VDR-Client 2+ Media-Player: . . . Dune HD Homatics Box R4K Plus . 4GB mit Kodi-21.x + VDR-2.7.x_@Zabrimus

    Edited 4 times, last by Paulaner (July 9, 2022 at 7:56 PM).

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!