[markad] überarbeiteter Decoder

  • ofenheizer

    Ich denke, ich habe eine Lösung für dein Problem: Ich speichere die blackscreen marks erst, nachdem sie überprüft wurden. Das wird nach 8 Minuten + Timevorlauf gemacht. Damit müssten die Unmengen an sinnlosen marks weg sein.

    Bitte teste den Patch:

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

    Danke für den Hinweis, so was fällt mir nicht auf, weil ich selber nie während der Aufnahme schaue.

  • Danke erstmal für die Tips.

    Ob nice oder after, das ändert an den Schnittmarken nichts.

    Mit selbstgesuchtem Logo wird nur noch das Ende des Filmes erkannt. Die Werbung (5x) findet markad gar nicht.

    Die Aufnahme wurde durch einen ein Timer mit 1Min. Vorlauf und 3Min. Nachlauf erzeugt.

    Gestartet wird markad dann mit einem hook nach der Aufnahme mit den genannten Parametern.

    Files

    • markad.log.gz

      (8.99 kB, downloaded 18 times, last: )

    Server: CPU J1900 | 1x CineS2 | Debian Buster | VDR 2.4.1
    Client: 2x Himbeere mit vdr

  • Die Aufnahme wurde durch einen ein Timer mit 1Min. Vorlauf und 3Min. Nachlauf erzeugt.

    Sorry, jetzt sehe ich erst die Ursache: Das Problem ist dein @ im Pfadname. VDR nutzt das @ um eine adhoc Aufnahme zu kennzeichnen. Bei einer adhoc Aufnahme hat es markad sehr schwer, weil keine Timer Informationen genutzt werden können, da kommt oft nichts verwertbares raus, wie man bei dir sieht.

    markad sucht fälschlicherweise im gesamten Pfad nach dem @, statt nur im Name der Aufnahme. Das muss ich ändern.

    Dass er kein Logo findet, wird in diesem Fall vermutlich normal sein, die Aufnahme hat horizontale Balken. Da kann er kein Logo finden, braucht es aber auch nicht.

  • Könntest du kurz erklären was die Parameter bedeuten in Zusammenhang Vor/Nachlauf Timer setzen?


    --astopoffs=<value> (default is 100) assumed stop offset in seconds range from 0 to 240

    --posttimer=<value> (default is 600) additional recording after timer end in seconds range from 0 to 1200

    Server: CPU J1900 | 1x CineS2 | Debian Buster | VDR 2.4.1
    Client: 2x Himbeere mit vdr

  • hondansx

    Ich habe mir gerade ein Test Pfad gemacht mit @ drin, dass sieht das bei mir auch so aus. Ist also definitiv die Ursache.

    Die Parameter bedeuten:

    --astopoffset: Sollte auf 0 gesetzt werden (siehe README), ab der nächsten Version wird das auch der Default Wert sein. Das ist der Wert, der zur Aufnahmelänge aus dem VDR Info File hinzugezählt wird um das vermutete Ende der Aufnahme zu berechnen.

    --posttimer: Der Wert des VDR Timenachlauf. Damit wird das erwartete Ende des Aufnahmefiles berechnet. Ist aber nicht so wichtig, dass der korrekt ist, im Zweifelsfall erkenne ich das, wenn das Aufnahmefile zu Ende ist. Er sollte nicht reduziert werden, sonst verpasse ich das Ende bei verspäteten Aufnahmen.


    Timervorlauf erkenne ich automatisch aus dem Timestamp vom Verzeichnis und dem VDR info File.

  • ofenheizer

    Ich denke, ich habe eine Lösung für dein Problem: Ich speichere die blackscreen marks erst, nachdem sie überprüft wurden. Das wird nach 8 Minuten + Timevorlauf gemacht. Damit müssten die Unmengen an sinnlosen marks weg sein.

    Bitte teste den Patch:

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

    Danke für den Hinweis, so was fällt mir nicht auf, weil ich selber nie während der Aufnahme schaue.

    Teste ich, wenn seahawk das für focal verpackt hat.

    Kommt bei uns auch selten vor, dass wir bei Serien verspätet einsteigen, da meist genug vorhanden sind. Aber passiert halt schon ab und zu mal.

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

    Außer den beiden o.g. kleinen Fixes gibt es ein paar wesentliche Änderungen:

    Der ursprünglich vorhandene Decoder von markad wurde per Makefile Flag aus dem aktiven Code entfernt.

    Damit ist der Parameter --cDecoder nicht mehr notwendig. Aus Gründen der Abwärtskompatibilität wird er aber weiterhin akzeptiert.

    Ich habe auch gleich, wie oben schon angekündigt, den Default von --astopoffset von 100 auf 0 geändert. Damit entspricht jetzt ein Aufruf ohne diesem Parameter dem sowieso empfohlenen Wert.

    Die Funktion --genindex gab es mit dem neuen Decoder nie, somit wurde auch dieser Parameter entfernt.

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

    Im Konfigurationsmenü kann die neue Funktion VPS aktiviert werden. Sie wird nur bei ÖR Sendern (und selbst da nicht bei allen) funktionieren, da nur diese eine korrekte VPS Event Abfolge senden. Die VPS Events werden geprüft und wenn sie sinnvoll erscheinen, als Start/Stopp Marken verwendet. Manche Sender senden sogar Pause Events bei Werbung, auch diese werden zur Optimierung der Marken berücksichtigt.

    Bitte beachten: Der Timer wird dadurch nicht beeinflusst und muss vor dem VPS Start Event starten und nach dem VPS Stop Event enden (üblicherweise durch Timer Vor-/Nachlauf gegeben). Wenn die Sendung über den Vor-/Nachlauf hinaus verzögert gesendet wird, wird die Aufnahme unvollständig sein. Wer den Timer für die Aufnahme beeinflussen möchte, muss VPS am Timer verwenden.

    epg2vdr beeinflusst die interne Abbildung der Events. Ich habe mit und ohne getestet, bei mir hat beides funktioniert.

  • Danke für die Weiterentwicklung vorab!


    Habe zwischendurch von DVB-C auf DVB-T2 Empfang gewechselt. Setze aktuell Version 2.3.0 ein.

    Bekomme keine Marks mehr gesetzt - Log anbei.


    Kannst Du damit was anfangen -> unknown coded id 173 ?

    Files

    • marks.log.txt

      (3.36 kB, downloaded 139 times, last: )
  • Das ist ein H.265 Codec, vermutlich UHD, oder ?

    markad unterstützt nur H.262 (MPEG-2) oder H.264 (MPEG-4).

    H.265 zu implementieren wird vermutlich ein größeres Stück Arbeit werden.

    Ohne ein vollständiges Test Video werde ich das aber nicht hinbekommen. DVB-T2 habe ich nicht und mir wäre jetzt nicht bekannt, ob es einen Astra SAT FTA Sender gibt, der auch dieses Format verwendet.

    Kannst ein du mir ein tar auf das Aufnahmeverzeichnis erstellen und mir einen Download Link posten ?

  • H.265 ist richtig, aber „nur“ HD - UHD gibt es auf diesem Empfangsweg nicht.


    Eine Implementierung würde aber vermutlich auch UHD Material über DVB-S2 verwertbar machen.

    Dachte ich mir schon als Ursache.


    Sehe zu das ich eine kurze ungeschnittene Aufnahme verpacke und hochlade. Kann aber 1-2 Tage dauern.

  • Ich habe auf ARD die Die_Carolin_Kebekus_Show mit einem Timer aufgenommen. Da in der Show keine Werbung vorkommt, sind 2 Schnittmarken vorhanden. Am Anfang und am Ende der Show.

    Die Anfangsmarke wurde aber nicht auf den Beginn des ARD-Logos gesetzt sonder vorher, wo noch kein Logo zu sehen ist und die Show noch nicht begonnen hat.


    Eine Idee dazu?

    Files

    • markad.log.gz

      (2.11 kB, downloaded 17 times, last: )

    Server: CPU J1900 | 1x CineS2 | Debian Buster | VDR 2.4.1
    Client: 2x Himbeere mit vdr

  • Hallo hondansx

    da fallen mir zwei Punkte dabei auf:

    1. Deine Aufnahme ist 2 Minuten nach Timer erst gestartet, besser wäre ein Timer Vorlauf von 2 Minuten. Das würde es markad einfacher machen, den Anfang zu finden. Ist hier aber nicht das Problem, da die Sendung eh erst um 3 Minuten verspätet gestartet ist (habe sie zufällig auch aufgenommen).

    Code
    1. Thu Jul 2 22:47:31 [25101] DEBUG: cMarkAdStandalone::LoadInfo(): recording start at Thu Jul 2 22:47:19 2020
    2. Thu Jul 2 22:47:31 [25101] DEBUG: cMarkAdStandalone::LoadInfo() broadcast start at Thu Jul 2 22:45:00 2020 from VDR info file
    3. Thu Jul 2 22:47:31 [25101] INFO: broadcast start truncated by 2m, length will be corrected


    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
    1. 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.

  • Wegen den Logos...


    Ein Vergleich oder so war ja recht aufwendig um zu Vergleichen ob die aktuelle Aufnahme vom Sender und das Logo in der Ablage identisch sind um gute Marken zu erhalten. Wäre es eine Möglichkeit die Logos im "Cachedir" nach deren Zeitstempel zu aktualisieren? Gibt man z.B. 4 Wochen ein und der Zeitstempel der Datei ist innerhalb dieses Zeitraums dann passiert nichts, ist man drüber wird das Logo erneuert. So als kleiner Workaround um auf einigermaßen aktuellen Stand der verwendeten Logos zu sein und ein wenig Performance einzusparen gegenüber der Erstellung bei jeder Aufnahme.

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Grundsätzlich eine gute Idee, aber zwei Logos, die aus einer Aufnahme extrahiert werden, egal ob mit --extractlogo oder mit --autologo, sind nie identisch. Sie unterschieden sich immer um ein paar Pixel. Und letztendlich fällt mir kein Kriterium ein, um zu entscheiden, ob neue Logo besser als das gespeicherte Logo ist, oder einfach nur neuer. Das Risiko, dass ich damit ein falsches Logo, z.B. irgendeine Einblendung "neue Folge" für einen Monat als Logo speichere, ist zu groß.