[markad] überarbeiteter Decoder

  • OK

    Gruß utiltiy



    VDR Projekte VDR Projects

  • 2. markad erkennt gar kein Logo im Start Teil bei dir. Bei mir schon. Ich vermute dein Logo unter /var/lib/markad ist schlecht oder nicht aktuell.

    Code
    Thu Jul  2 23:01:31 [25101] DEBUG: cMarkAdStandalone::CheckStart(): no logo start mark found

    Versuche mal:

    markad -v --loglevel=3 --autologo=2 --log2rec --logocachedir=/tmp nice <Pfand zur Aufnahme>

    Mit dem falschen --logocachedir und mit --autologo=2 erzeugt markad sein eigenes Logo.

    Poste mal das Log, ob es damit besser wird.

    Hi,


    mein Logo ist tatschlich zu schlecht, wobei das Ende der Show markad erkannt hatte nur den Anfang nicht.

    Die Logoautoerkennung hat es nun richtig gemacht. Muss ich zukünftig im Auge behalten, ob die vorhandenen Logos noch gut sind.


    Danke für den Hint.

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

  • Hi MarkusE ,

    laut Log hat er gar kein Logo gefunden. Vergleiche mal bitte dein Logo unter /var/lib/markad/TELE_5-A16_9-P0.pgm mit dem was Tele5 wirklich sendet. Ich vermute das passt nicht zusammen.

    Mit:

    markad -v --loglevel=3 --autologo=2 --log2rec --logocachedir=/tmp nice <Pfand zur Aufnahme>

    bekommst du im Aufnahmeverzeichnis ein neues Logo, dass du dann nach /var/lib/markad kopieren kannst.

    Falls deine Signatur stimmt, bitte nehme deinen VDR1 dazu, der Server ist zu schwach dazu und der VDR2 hat ein zu altes Ubuntu.

  • Hi,


    auf Eurosport kommt oft Werbung die 40 -60 sec dauern, die werden erkannt aber verworfen:


    Code
    Wed Jul  8 21:48:41 [1296] INFO:  mark distance between logo STOP and START too short (40.2s), deleting 15891,16896
    Wed Jul  8 21:48:41 [1296] INFO:  mark distance between logo STOP and START too short (40.2s), deleting 62205,63210
    Wed Jul  8 21:48:41 [1296] INFO:  mark distance between logo STOP and START too short (40.6s), deleting 94008,95022
    Wed Jul  8 21:48:41 [1296] INFO:  mark distance between logo STOP and START too short (43.7s), deleting 170634,171726
    Wed Jul  8 21:48:41 [1296] INFO:  mark distance between logo STOP and START too short (18.0s), deleting 192843,193293
    Wed Jul  8 21:48:41 [1296] INFO:  mark distance between logo STOP and START too short (31.6s), deleting 200262,201051


    Desweiteren erkennt markad oft Logo start und stop. Aber wenn genau ich auf der Zeit nachschaue sehe ich das Logo in der Aufnahme.

  • Aber wenn genau ich auf der Zeit nachschaue sehe ich das Logo in der Aufnahme.

    Ja, das menschliche Auge zusammen mit dem Gehirn ist wesentlich leistungsfähiger bei der Mustererkennung wie die paar Zeilen Code von markad.

    Und genau aus diesem Grund werden kurze Logo Unterbrechungen ignoriert, weil dies oft nur fälschlicherweise nicht erkanntes Logo waren.

    Ich schaue mir das mal am Wochenende an, ob ich hier noch was optimieren kann.

  • hondansx

    Ich habe mir gestern mal ein paar Sendungen von dem Kanal aufgenommen, da waren aber keine so kurzen Werbeblöcke drin. Die waren alle >1Min. Das machen die scheinbar auch nicht immer.

    Bisher erwarte ich, dass eine Werbung mindestens 50s lang ist. Der Wert war einfach aus der Erfahrung meiner Aufnahmen.

    Das muss aber nicht so hoch sein, ich habe ihn mal auf 40s reduziert.

    Bitte teste mal diese Version, ob dies dein Problem löst:

    git clone -b V02 https://github.com/kfb77/vdr-plugin-markad

  • Hi,


    Danke für Deine Hilfe, mit "markad -v --loglevel=3 --autologo=2 --log2rec --logocachedir=/tmp nice <Pfand zur Aufnahme>" bekomme ich super Marken :).

    Ist aber auf meinem sheeva-plug doch etwas langsam.

    Oft werden ja auch keine Logos benötigt, z.B. wenn die Werbung über Änderungen der Audiokanäle erfolgt.

    Wäre is möglich, --autologo automatisch zu aktivieren, aber nur bei Bedarf? Also: falls ein Logo benötigt wird, aber unter /var/lib/markad/ kein Logo vorhanden ist oder das vorhandene Logo nicht in der Sendung vorhanden ist, dann aktiviere --autologo ?


    Gruß, Markus

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.6x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

  • Wäre is möglich, --autologo automatisch zu aktivieren, aber nur bei Bedarf? Also: falls ein Logo benötigt wird, aber unter /var/lib/markad/ kein Logo vorhanden ist

    Genau so arbeitet --autologo=2.

    Wenn unter --logocachedir eins gefunden wird, nimmt er dies, sonst versucht er eines aus der Aufnahme zu erstellen.

    Bei dem Test haben wir ja nur durch das falsche Verzeichnis --logocachedir=/tmp markad gezwungen, ein Logo zu erzeugen, da der Verdacht war, dass unter /var/lib/markad ein falsches Logo existiert.

  • Ich vermute mal diese kurzen Werbeblöcke kommen nur in bestimmtem Sportevents. Hier war es Tischtennis.


    Die Werbemarken sehen jetzt korrekt aus bis auf eine.

    Ab 03:18 ist das Logo weg und es beginnt eine Werbepause.

    Bei 03:59 ist das Logo wieder da und die Pause ist beendet.

    Kann man hier auch noch optimieren?


    Code
    Sat Jul 11 08:04:02 [13217] INFO:  detected logo start (15)* at 0:00:00.16
    Sat Jul 11 08:04:06 [13217] INFO:  detected logo stop (4974) at 0:03:18.25
    Sat Jul 11 08:04:06 [13217] INFO:  detected logo start (5976)* at 0:03:59.02
    Sat Jul 11 08:04:13 [13217] INFO:  detected logo stop (15891) at 0:10:35.17
    Sat Jul 11 08:04:13 [13217] INFO:  detected logo start (16896)* at 0:11:15.22
  • Kann man hier auch noch optimieren?

    Knapp daneben, die Werbung war 0,5s zu kurz. Ich habe den Wert jetzt nochmals um 2s reduziert, versuche bitte den aktuellen Stand vom Branch V02 nochmals.

  • Macht das Sinn, den Wert einstellbar zu machen?

  • Ich denke nicht, das würde zu viele Probleme verursachen. Der Wert muss zusammen passen mit der Fehlerquote der Logo Erkennung. Wenn da jemand unbedingt selber was ändern will, kann er es ja im Code machen.

  • Ich denke nicht, das würde zu viele Probleme verursachen. Der Wert muss zusammen passen mit der Fehlerquote der Logo Erkennung. Wenn da jemand unbedingt selber was ändern will, kann er es ja im Code machen

    Was wäre den ein optimaler Wert dafür? Zum Verständnis: Wenn ein Logowechsel erkannt wird, dann ist dieser nur gültig wenn dieser Wert überschritten ist. Reichen da nicht z.B. 5 bis 10 sec.

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

  • Wenn ein Logowechsel erkannt wird, dann ist dieser nur gültig wenn dieser Wert überschritten ist.

    Ja.


    Was wäre den ein optimaler Wert dafür?

    Einfache Antwort: Der Wert wo es die wenigsten false positv und false negitiv gibt. Das bedeutet dann auch, das man ggf. akzeptieren muss, dass extrem kurze Werbeblöcke übersehen werden, damit nicht zu viele erfundene Werbeblöcke entstehen.


    Wenn der Wert zu klein ist, würde das zu viele falsche Marken geben. Die Erkennung des Logos im Bild ist gar gar nicht so simpel. Der Erfolg hängt auch stark vom Hintergrund an der Stelle, wo das Logo ist, ab. Um erfolgreich zu sein, dürfen dort keine feste Strukturen sein (z.B. Wetterkarte ist ganz schlecht) und es darf nicht zu hell sein, sonst fehlt der Kontrast zum Logo. Somit möchte ich den Wert so hoch wie möglich halten. Normalerweise sind die Werbeblöcke auch groß genug, um hier noch genug Abstand zum Ausschließen von Erkennungsfehlern zu haben. Die Mustererkennung ist selten eine eindeutige ja/nein Entscheidung, sondern es ergeben sich Wahrscheinlichkeiten, die zu bewerten sind, Darum sind solche Parameter auch sehr sensibel, eine Änderung kann für eine Aufnahme gut sein, aber für andere Aufnehmen schlecht. Darum teste ich auch per Skript jede Änderung an ca. 500 Aufnahmen um zu erkennen, ob sich eine Optimierung an anderer Stelle negativ auswirkt. Ganz ausschließen lässt sich das aber auch damit nicht. Jedes andere Kriterium (Ton Kanäle, schwarze Balken, 4:3 Format) sind viel zuverlässiger zu erkennen und liefert immer bessere Marken.


    Passt es jetzt mit den 38s ?

    2 Mal editiert, zuletzt von kfb77 ()

  • Passt es jetzt mit den 38s ?

    Danke für die Erklärung, wollte kein Fass damit aufmachen.:/

    Jetzt sieht es gut, aber es muss auch nur für diesen speziellen Fall nicht zwingend an den Werten weiter gedreht werden, wenn das eine heikle Stelle ist.

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

  • Die Parameter sind auf meine Aufnahmen optimiert und somit bin ich immer dankbar für Hinweise, wenn damit woanders was schief läuft. Wo ich das Thema markad Plugin angefangen habe, habe ich mir das auch einfacher vorgestellt ;)


    Eine neue Version 2.3.3 ist auf vdr-plugin-markad verfügbar, die den o.g. Fix und noch ein paar weitere kleinere Optimierungen enthält.

  • Eine neue Version 2.3.1 ist auf vdr-plugin-markad verfügbar.

    Die overlap Erkennung wurde optimiert, sowie es wird ab dieser Version H.265 unterstützt.

    Habe Freitag auf Version 2.3.2 upgedatet. Toll, jetzt wird in h.265 Aufnahmen auch richtig markiert!


    Danke für die schnelle Umsetzung.


    Rossi

  • Eine neue Version 2.3.4 ist auf vdr-plugin-markad verfügbar.

    Sie enthält einige kleinere Optimierungen, insbesondere eine verbesserte Funktion zum Finden von Programmvorherschauen innerhalb der Werbung.

Jetzt mitmachen!

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