[markad] überarbeiteter Decoder

  • Das sind ja viele Punkte, ich versuche die mal thematisch zu strukturieren.

    Mir fällt dabei und bei anderen ähnlichen Vorkommnissen meist auf, daß die Sternchen "ungerade" sind

    "*" ist Bestandteil vom Kommentar Feld und bedeutet: das ist eine Start Marke. Hat aber keine funktionale Bedeutung, ist nur für mich zum besseren Lesen der Marken. Somit kommt normalerweise immer eine Zeile mit "*" und eine Zeile ohne "*", außer: wenn im VDR Info File eine falsche aspect ratio Information steht. Das erkenne ich dann am Ende des Start Abschnitts und die bis dahin (falsch) erkannten Stop/Start werden invertiert. Da das "*" nur ein Kommentar ohne Bedeutung ist, korrigiere ich in den Kommentar nicht. Ich war mir sicher, das merkt eh nie einer ...

    Deine Marks sehen genau nach so einem Fall aus und scheinen sinnvoll und korrekt aus (ohne die Aufnahme zu kennen).

    Fri Mar 5 19:02:33 [1342376] ERROR: segmentation fault

    Egal was du da gemacht hast, einen Crash darf es nicht geben. Und schon gar nicht "öfters". Hier läuft was grundsätzlich schief. Kannst du mir ein tar auf das Aufnahmeverzeichnis machen und per PM einen Download Link senden ? Die Serie habe ich zufällig auch aufgenommen, bei mir läuft die problemlos. Aber ich vermute mal, die Aufnahme ist nicht FTA wie bei mir.

    Ein vdr-checkts für das Verzeichnis liefert 0 errors.

    Grundsätzlich habe ich den Anspruch, dass eine etwas kaputte Aufnahme noch im Rahmen des Möglichen bearbeitet wird, aber selbst eine total kaputte Aufnahme nicht zum Crash führt. vdr-checkts liefert hier auch nur, ob komplette Frames fehlen, nicht aber fehlerhafte vorhandene Frames. Die würden aber auch im markad Log stehen (AvLog ...).



    --saveinfo

    Lass den mal lieber weg, der Rest passt. Den gibt es in markad schon immer, aber grundsätzlich gefällt es mir nicht, damit eine VDR interne Datei neu zu schreiben. Hat aber nichts mit deinem Problem zu tun.



    Ich verwende ein Script, welches nach der h264-Transcodierung und/oder naludump einen Markad-Lauf mit --cut durchführt

    Die Reihenfolge gefällt mir nicht. markad geht von einer originalen VDR Datei aus. Vielleicht ist das sogar die Ursache des Problems. Zuerst markad und dann deine Scripts wäre mir lieber.

  • Die Reihenfolge gefällt mir nicht. markad geht von einer originalen VDR Datei aus. Vielleicht ist das sogar die Ursache des Problems. Zuerst markad und dann deine Scripts wäre mir lieber.

    Ok, ich werde eine komprimierte Version irgendwo hochladen, und vorher noch ohne saveinfo versuchen.

    Keine Angst, der (Trash)Sender ist auch bei mir FTA :)

    Ad "originale VDR-Datei": da läuft bestenfalls naludump vorher, und ich lasse die Verarbeitung immer erst hinterher (markad-Plugin selbst ist deaktiviert im VDR-Setup) laufen. Wenn ich vor naludump oder ggf. Vereinigung von 0001/0002 etc. das markad laufen lasse, stimmen die Indizes dann wieder nicht hinterher und er schneidet ggf. an den falschen Stellen?

  • Das ist mein Lieblingssender, wenn du damit ein Problem hast, habe ich die Aufnahme bestimmt ;)

    Meine marks zu der Sendung sieht fast identisch aus, nur ca. 10s versetzt. Auch --cut läuft ohne Probleme. Sogar das "*" Thema ist bei mir gleich.

    Code
    0:03:34.07 aspectratio change from 16:9 to 4:3 (5352)
    0:04:52.23 aspectratio change from 4:3 to 16:9 (7330)*
    0:10:48.18 aspectratio change from 16:9 to 4:3 (16217)*
    0:31:30.22 aspectratio change from 4:3 to 16:9 (47271)
    0:38:34.10 aspectratio change from 16:9 to 4:3 (57859)*
    0:56:38.16 aspectratio change from 4:3 to 16:9 (84965)

    Ok, ich werde eine komprimierte Version irgendwo hochladen

    Das können wir uns sparen, wenn deine Aufnahme auch FTA ist, dann habe ich ja die Aufnahme und die läuft bei mir, auch mit --cut.


    Wenn ich vor naludump oder ggf. Vereinigung von 0001/0002 etc. das markad laufen lasse, stimmen die Indizes dann wieder nicht hinterher und er schneidet ggf. an den falschen Stellen?

    Jetzt wird es kompliziert:

    1. markad ist der vdr index egal, er verwendet ihn nicht, er baut intern einen eigenen Index auf. In der marks stehen für vdr relevant nur offset Zeiten in Sekunden, Rest (auch die Framenummern) ist Kommentar

    2. naludump dürfte eigentlich die Zeiten nicht verändern (reine Vermutung, habe das Programm nie verwendet)

    3. Vereinigung der 0000x.ts Dateien verändert auch keine Zeiten (hoffentlich, nicht getestet). Gehe auf Nummer sicher und spare dir den Schritt und drehe in der VDR Einstellung die maximale Filegröße der Aufnahme hoch.

    2. Wenn du die VDR 0000x.ts manipulierst (egal mit was) musst du eh den VDR index neu erzeugen.

    Könnte also auch umgekehrt funktionieren.

  • Ok, was ich noch festhalten will, ist, daß ohne "--cut" der markad in diesen Fällen zu funktionieren scheint, der "timebase"-Fehler erscheint erst mit dem cut.

    Nach dem Schneiden laß ich - sofern kein Absturz - "vdr --genindex" nachlaufen, klar. Und die Filesize hab ich schon maximiert, nur manchmal, selten (sei es Schlechtwetter@selfsat oder ein sonstiges "Unglück") passiert eben eine Teilung der Aufnahme mit einem kleinen Stück, das fe_lt.

    Ich versuche es mal ohne "saveinfo", danke jedenfalls :)

  • Ok, was ich noch festhalten will, ist, daß ohne "--cut" der markad in diesen Fällen zu funktionieren scheint, der "timebase"-Fehler erscheint erst mit dem cut.

    Ja klar, der Crash kommt vom encoder und der wird nur bei --cut verwendet.



    Ich versuche es mal ohne "saveinfo"

    Das wird an dem Problem nichts ändern, das war nur als "Tipp am Rande" gedacht.


    Gegen welche Datei lässt du denn markad laufen ? 0000x.ts nach naludump, oder ?

  • Ich ziehe die letzte Frage zurück, ich kann dein Problem mit der originalen VDR Datei und ffmpeg 4.3.2 unter Debian bullseye reproduzieren. Mit 4.2.4 unter Ubuntu 20.04 läuft es. Ich mache mich morgen dran ...

  • Danke :)

    Ja, ich habe ein schon etwas älteres selbstkompiliertes ffmpeg-4.3.1 mit dem Fraunhofer-libfdk_aac, kann der da fuchsen?

  • Glaube ich nicht, der timebase error kommt aus dem Video Stream, nicht aus Audio. Vermutlich ist eine generelle ffmpeg Änderung die Ursache, die irgendwo in 4.3.x rein gekommen ist. Solche Änderungen sind laufend ein Thema, der markad Decoder ist voll von Compiler Direktiven, abhängig von den ffmpeg Versionen.

    Post mal bitte noch die Ausgabe von ffmpeg, damit ich dann gleich die richtige libavcodec Version rein machen kann.

  • Fix ist im git im Branch V02, bitte testen.

    Der Bug war, dass ich die timebase für den Video Stream falsch gesetzt habe. Das war ffmpeg < 4.3 egal, es hat halt einen Fehler gebracht, den ich ignoriert habe, da ich den Video Stream eh nicht decode/encode sondern nur an den iFrame Grenzen kopiere. Ab 4.3 erzeugt der ungültige Wert einen Crash in ffmpeg.

    Vielen Dank für den Hinweis auf den Bug.

  • Nochmals herzlichen Dank :)

    Mein Script räumt gerade im Hintergrund die übriggebliebenen markad.pids weg (nach dem jetzt fehlerfreien Durchlauf von markad --cut) :)

    Ich glaube, den V02 kann man in master übernehmen.

  • Die Version 2.6.6 ist auf vdr-plugin-markad verfügbar.

    Die wichtigste Änderung ist, dass ab jetzt --autologo=2 default ist.

    Zur Erinnerung: Damit sucht markad selbst das Logo in der Aufnahme, wenn es im Logo Cache Verzeichnis keines findet (--logocachedir, default /var/lib/markad).

    Die Funktion hat sich inzwischen so weit stabilisiert, dass sie zum default werden kann.

  • Wenn markad-ng in der neuesten Version (Anhang gabs im alten Forum, nicht im ppa) markiert hat, dann hängt Vdr für bis zu 5s an der Endmarke und stottert Standbilder. Das hatte ich früher nie. Danach geht dann aber alles wieder.

    Ich hol mir mal ein Zitat aus einem anderen Thread, um dort nicht off Topic zu werden.

    Das Thema würde mich mal interessieren, weil die Marken sind eine Textdatei. Dem VDR ist es doch egal, welche Version die erstellt hat, wegen mir mit dem Editor. Oder schaust du parallel zur Aufnahme und markad ist da noch gar nicht fertig ?

  • Habe ich ganz genauso, ganz egal ob während einer laufenden Aufnahme oder einer bereits abgeschlossenen: wenn ich am Ende der letzten Marke ankomme muss ich oft den VDR hart durchstarten da ich aus der Wiedergabe nicht mehr rauskomme.


    Und ich kann auch bestätigen dass ich das die letzten 14 Jahre eher nicht hatte, weder mit noad noch mit dem alten markad

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • Das verstehe ich nun gar nicht: Aus der marks liest der VDR nur die Zeiten der Marken, der Rest ist Kommentar, den er ignoriert.

    Sieht man was im syslog ? Kann man jemand bitte testen, ab minimales ändern der letztes Zeit was bringt. Bei mir ist der VDR nur reiner Backend und hat keine Oberfläche.

  • Hi,

    Interessant. Ich hatte es auf Inkompatibilität mit vdr 2.2 geschoben. Und es ist ja auch nicht mehr die aktuelle markad-ng sondern die 2.4.2. Daher hatte ich es nicht groß geschrieben. Habe es aber auf mehreren easyvdr 3.5 damit. In v5 bin ich mir nicht mehr sicher, ob ich es da auch hatte schon.

    Welche VDR Version nutzt du CKone?

    Mfg Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • Hi,

    Er spielt mit Softhddevice ab und springt brav von Marke zu Marke und wenn er kurz vor der letzten Marke ist stottert das Bild und springt alle paar Sekunden zum nächsten Bild. Wenn das Ende dann nicht passt (ist bei Notruf Hafenkante in HD leider oft dass die Marken nicht so genau sind, bei anderen Sendungen klappt es besser, aber alte Version wie gesagt ) und man versucht mit 0 eine Marke zu setzen, hängt er da trotzdem und springt dann irgendwann zurück in Aufzeichnungen. Da muss man dann neu starten und mit 9 so lange springen, bis man da ist.

    Ich achte bei der nächsten Sendung darauf und ziehe ein easyinfo (Logs).

    Mfg Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • Ich hatte es auf Inkompatibilität mit vdr 2.2 geschoben. Und es ist ja auch nicht mehr die aktuelle markad-ng sondern die 2.4.2.

    Eine Inkompatibilität kann weder zur VDR Version (zumindest seit es überhaupt Marken kann, irgendwann in V1.x), noch zur markad Version bestehen. Die beiden kommunizieren nur über das Textfile marks miteinander und das steht nur die Zeit drin.

    Ich habe hier eher das Ausgabe Plugin in Verdacht. Ich habe mal kurz meinen Pi3 aus dem Ruhestand wieder aktiviert, um das auch mal selber sehen zu können.

    bei Notruf Hafenkante in HD leider oft dass die Marken nicht so genau sind

    Das nehme ich als Aufforderung mir mal das anzuschauen. Aufnahme für diese Sendung für morgen ist programmiert.

  • Nutze vdr 2.4.1, auf dem Server auf dem die Marken gesetzt werden auch mit markad-ng vom 05.10.2020 aktuell.


    Es ist mittlerweile schon in Fleisch und Blut zu Beginn der Wiedergabe einmal zur letzten Marke springt und de löscht um das zu umgehen, weil ansonsten funktioniert das ja wirklich super.

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



Jetzt mitmachen!

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