[markad] überarbeiteter Decoder

  • Hi kfb77,


    bzgl. #49

    Zitat

    der Film mit Frame 3552 starten (ca. 2:22) und mit dem 140040 enden (ca. 1h 33:21)

    und #50

    Zitat

    Kein Wunder findet er in der Aufnahme keine Änderung der horizontalen Balken, weil er nur nach Änderungen der Audio Kanäle sucht (und keine findet).

    beides ist richtig - in der Aufnahme ist keine Werbung! Sowohl vor als auch im als auch nach dem Film geht es direkt von einer Sendung in die andere über - offenbar auch ohne Änderung am Tonformat. Das einzige Erkennungsmerkmal wäre wohl das Senderlogo oder tatsächlich Balken - es gibt eine Zwischensequenz mit ohne Balken.


    Vielleicht kann man ja die erkannten Übergänge vorhalten und im Zweifel dann doch nutzen?!

  • Hallo ollo

    Vielleicht kann man ja die erkannten Übergänge vorhalten und im Zweifel dann doch nutzen?!

    Genau das war auch mein Ziel bei den Erweiterungen der Behandlung der erkannten Marken und genau so sind auch die Marken zustande gekommen.

    Grundsätzlich betrachte ich in den ersten ca. 10 Minuten und in den letzten ca. 10 Minuten alle möglichen Typen von Marken, nicht nur die, die für die Erkennung innerhalb der Aufnahme als beste erkannt wurde. Damit soll möglichst gut der Anfang und das Ende erkannt werden, auch wenn es davor und danach nahtlos weiter geht. Der Erfolg dabei hat aber Grenzen, oft geht es, aber nicht immer.

    In deinen Beispiel ist das beste Kriterium die Änderung der Tonkanäle. Leider war wohl sowohl vorher als auch danach ebenfalls eine Aufnahme mit ebenfalls 6 Kanälen. Also wird als Start Marke der horizontale Balken verwendet (detected start of horiz. borders (3552)*) und als Ende Marke auch wieder der horizontale Balken (detected stop of horiz. borders (140040)). Ich muss annehmen, dass dies Start und Ende der Aufnahme sind. Wenn ich Pech habe, dann war der Balken jeweils in einer Werbung drin und die Marken sind falsch, aber immer noch besser wie gar keine.


    Zitat

    beides ist richtig - in der Aufnahme ist keine Werbung!

    Jetzt hast du mich abgehängt. Wo ist dann das Problem ? Dann müsste doch eine Start und eine Ende Marke korrekt sein. Oder stimmt die Position nicht ? Was kommt dann wirklich an den erkennten Stellen ?

  • hondansx

    ich glaube am Backtrace zu erkennen, wo der Fehler ist. Teste mal bitte den angehängt Fix und poste ob der Crash damit weg ist. Falls es funktioniert, nehme ich es in die nächste Version auf.

    Danke funktioniert. Warum das nur bei meinem Setup auftritt, ist etwas verwunderlich.:/

    Server: CPU J1900 | 1x CineS2 | Debian Bullseye headless| VDR 2.6.3
    Client: 2x Himbeere mit vdr

  • hondansx

    keine Sorgen machen, das hat nichts mit deinem Setup zu tun. Der Grund war in Aufnahme selbst und zwar an der frühen Start Marke der nachfolgenden Sendung. Laut Log wurde zwar erkannt, dass diese Marke zu nächsten Sendung gehört und die Marke gelöscht. Ich hatte aber vergessen, in diesem Fall die Nachbearbeitung abzubrechen und dann versucht den Pointer auf die gelöschte Marke zu bearbeiten. Und das ergab dann den Crash.

    Einmal editiert, zuletzt von kfb77 ()

  • Die Schnittmarken bei "Der Bachelor" sitzen mit dem aktualisierten Logo recht gut (Versatz ca. ± 2 sek.). Bis auf die Vorletzte, die sitzt massiv daneben (3 min. zu früh). Das kommt aber wahrscheinlich davon, dass innerhalb des Werbeblocks eine Vorschau auf Stern-TV mit eingeblendetem RTLHD-Logo zu sehen ist. Insgesamt sieht das aber schon sehr viel besser aus :thumbup:

    Dateien

  • Jetzt hast du mich abgehängt. Wo ist dann das Problem ? Dann müsste doch eine Start und eine Ende Marke korrekt sein. Oder stimmt die Position nicht ? Was kommt dann wirklich an den erkennten Stellen ?


    Das Problem ist dass die generierte marks weder mit dem alten noch mit dem neuen Decoder richtig ist.


    Der alte Decoder setzt nur eine Stop Marke :wow

    Code
    1:36:40.16 assuming stop (145015)


    Der neue Decoder setzt 2 Marken:

    Code
    1:31:01.12 detected start of horiz. borders (136536)*
    1:33:21.16 detected stop of horiz. borders (140040)


    Beides ist falsch. Es müssten Marken bei Frame 3552 für Start (ca. 2:22) und bei 140040 für Stop (ca. 1h 33:21) gesetzt werden.

  • iNOB

    das ja dumm gelaufen: Stimmt meine Vermutung?: Du meinst die Start Marke bei Frame 184984 (2:03:18.64) ? Kommt danach wirklich 110,8 Sekunden Stern TV Vorschau mit Logo, und geht es dann nach kurzer Logo Unterbrechung mit Frame 188424 (2:05:36) in der Aufnahme weiter ?

    Meine Grenze für "Vorschau mit Logo erkennen" ist 110 Sekunden, ganz knapp verloren.

    Falls das stimmt, teste mal mit folgender Änderung:

    In "command/markad-standalone.cpp" in Zeile 900 den Wert von 110 auf 120 ändern.

    Falls das das Ergebnis verbessert, nehme ich es in die nächste Version mit auf.

  • Hallo ollo

    danke, jetzt habe ich das Problem verstanden, das ist natürlich falsch und laut Log ist das so auch nicht zu erkennen. Deine Aufnahme ist nicht üblich aber genau für solche Spezialfälle habe ich einiges erweitert. Das hat aber seine Grenzen und kann nicht immer funktionieren.

    In deinen Fall glaube ich aber, das es wirklich ein Bug ist. Die eigentlich richtig gefunde Start Marke bei 3552 wir fälschlicherweise bei dieser Aufnahme wieder gelöscht.

    Poste mal bitte markad und markad.log nach dem Patch im Anhang. Bitte im Unterverzeichnis markad/command den Patch im Anhang anwenden ( patch < markad-ollo-fix.diff) danach make all und make install.

  • In "command/markad-standalone.cpp" in Zeile 900 den Wert von 110 auf 120 ändern.

    Mit dem Wert 120 funktioniert das nun wie gewünscht. Hab das ebenfalls auf IBES und DSDS angewandt und prima Ergebnisse. Von daher danke und :thumbup:

  • iNOB

    danke für die positive Rückmeldung.


    Zeit mal wieder aus den ganzen hot Patches eine neue Version zu posten. Damit man nicht suchen muss, alle 4 Files.

    Die angehängten Patches basieren auf den aktuellen git Stand (Quellen aus yavdr ansible für Ubuntu 18.04 geht auch, dann 00-markad-libavcodec58-V0-01.diff weg lassen, der ist da schon drin). Bitte in numerischer Reihenfolge anwenden.

    Um Bugs zu melden, bitte markad mit folgenden Parametern nochmals ausführen:

    markad --loglevel=3 --astopoffs=0 --cDecoder --log2rec nice <Pfad zum Recording>

    Dann das Files markad.log, markad und info aus dem Aufnahmeverzeichnis posten.

  • ollo

    danke für die Rückmeldung. Dein Fix ist auch schon in der V0.61 drin. Ich war optimistisch, dass das funktioniert.

  • yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Asta

    ich gehe davon aus, dass der Hinweis von seahawk1986 dein Problem lösen wird.

    Bitte poste trotzdem noch die Ausgabe von "g++ -dumpversion", dann baue ich es ins Makefile ein.

  • Hallo,

    es wird eh mal wieder Zeit für eine neue Version. Die beinhaltet auch gleich die Anpassung für Debian Jessie und noch eine kleine Optimierung beim Erkennen vom Ende der Aufnahme.

    Um das Thema zu vereinfachen, ab jetzt nur noch ein Patch, der gegen den aktuellen Stand im git anzuwenden ist. Die anderen Files sind da bereits mit drin.


    Um Bugs zu melden, bitte markad mit folgenden Parametern nochmals ausführen:

    markad --loglevel=3 --astopoffs=0 --cDecoder --log2rec nice <Pfad zum Recording>

    Dann das Files markad.log, markad und info aus dem Aufnahmeverzeichnis posten.

  • Um das Thema zu vereinfachen, ab jetzt nur noch ein Patch, der gegen den aktuellen Stand im git anzuwenden ist. Die anderen Files sind da bereits mit drin.

    Hallo Asta,

    bitte nur noch den Patch 03-markad-decoder-V1-00.diff gegen das geklonte git anwenden, die anderen (00-... bis 02-...) sind da bereits mit drin.

  • Leider installiert er markad standalone immer noch nicht. Siehe log. Kann das evtl. an ffmpeg liegen? Das installiere ich so:

    Code
    git clone https://github.com/FFmpeg/FFmpeg
    cd ffmpeg
    ./configure --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --docdir=/usr/share/doc/ffmpeg-9999/html --mandir=/usr/share/man --enable-shared --enable-mmal
    
    make -j4
    make install
  • Asta

    ja, die ffmpeg Versionen sind immer eine Quelle für Probleme.

    Ich habe auf meinem Intel Debian Jessie Testsystem diese Version (raspbian jessie habe ich nicht):


    Installiert nach dieser Anleitung: Install ffmpeg (bei Punkt 1.1 muss ein Zeilenumbruch vor "deb-src" rein.

    Damit geht es bei mir. Versuche mal, ob das am Raspi auch so geht.

Jetzt mitmachen!

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