[markad] überarbeiteter Decoder

  • Hallo kfb77,


    erstmal vielen Dank für die gute Arbeit an markad!!


    Seit ich mal gelesen habe, dass man mit der Taste "8"

    zum nächsten mark springen kann, nutzen wir es an beiden

    VDR ausgiebig :)


    Ein Problemfall war lange Zeit der Wetterbericht im "Ersten HD"

    gegen 19:50 (Mo bis Fr), bis es dann irgendwann super ging.


    Leider hatte ich an dem VDR, an dem wir das Wetter schauen,

    lange kein Update gemacht und jetzt mit V3.0.9 funktioniert es

    nicht mehr.


    Meine Versuche: mit V3.0.6 geht es noch, ab V3.0.7 (bis zur

    aktuellen V03) geht es leider nicht mehr, der Anfang des eigentlichen

    Wetterberichtes wird nicht gefunden.


    Vielleicht hast du ja mal Zeit zu schauen? Logs von V3.06 und V3.09

    habe ich angehängt. Die Aufnahme ist ohne VPS, mit VPS geht es aber

    auch nicht.


    Schon mal vielen Dank!


    mfg,

    Michael

    Dateien

    VDR 2.6.6 (oben): Asus M4N68T-M-LE-V2, 2GB RAM, 120GB SSD, 1TB HD, AMD Athlon(tm) II X4 640 @ 3GHz, NVIDIA GT530 (V390.157), FFMPEG 6.1.1, OpenSuse Leap 15.5 (X-Server) Kernel 5.14.21, 2x Budget + 1x Hauppauge WinTV-DualHD, VDPAU (Softhddev.)

    VDR 2.6.6 (unten): Asus P8H77-V LE, 8GB RAM, 120GB SSD, 2TB HD, Intel(R) Celeron(R) G1620 @ 2.70GHz, NVIDIA GT630 (V470.223.02), FFMPEG 6.1.1, OpenSuse Leap 15.1 (X-Server) Kernel 5.6.8, DD Cine V6.1 Dual + Hauppauge WinTV-quadHD, VDPAU (Softhddev.)


  • Bei einer 5 Minuten Aufnahme wundert es mich, dass überhaupt jemals was brauchbares raus kam. Aber du hast das Logo im Cache (Logo selbst erkennen würde in so einer kurzen Aufnahme nie gehen), damit könnte es funktionieren.


    Deine Analyse ist absolut korrekt, dieser Commit, vor 3.0.7 Release, hat das Verhalten verändert. Aber das war beabsichtigt. Wenn eine Aufnahme nach der Timer Start Zeit gestartet wurde, muss ich den Aufnahme Start als Start Marke nehmen. Ich kann nicht mehr zuverlässig erkennen, ob die kurz nachfolgenden Marken korrekt sind. Da deine Aufnahmen nur sehr kurz (3s) nach Timer Start los liefen, waren die Marken korrekt und der Bug hat zu einen richtigen Ergebnis geführt. Auch das kann es geben ...


    Versuche mal bitte die Aufnahme mit einem Timer Vorlauf (VDR default is 2 Minuten). Damit müsste es gehen. Ich habe auch mal für Montag bei mir einen Timer gesetzt, dann können wir das Ergebnis abgleichen.

    3 Mal editiert, zuletzt von kfb77 () aus folgendem Grund: Korrektur Link Commit

  • Danke fürs Schauen und die Info. Ja das Logo ist im Cache.

    Da stehe ich jetzt ein wenig auf dem Schlauch, denn ich habe einen Vorlauf von 4 Minuten im VDR eingestellt (Vorlauf zum Timer-Beginn (min)). Muss ich noch was einstellen?

    Den Timer habe ich ja schon von 19:45 bis 19:55 programmiert (so auch den Testfall heute Abend). Schaue ich heute. Aber normalerweise programmieren wir den Start immer so früh (sonst fehlt manchmal der Anfang).


    Montag werde ich auch programmieren. Danke!

    VDR 2.6.6 (oben): Asus M4N68T-M-LE-V2, 2GB RAM, 120GB SSD, 1TB HD, AMD Athlon(tm) II X4 640 @ 3GHz, NVIDIA GT530 (V390.157), FFMPEG 6.1.1, OpenSuse Leap 15.5 (X-Server) Kernel 5.14.21, 2x Budget + 1x Hauppauge WinTV-DualHD, VDPAU (Softhddev.)

    VDR 2.6.6 (unten): Asus P8H77-V LE, 8GB RAM, 120GB SSD, 2TB HD, Intel(R) Celeron(R) G1620 @ 2.70GHz, NVIDIA GT630 (V470.223.02), FFMPEG 6.1.1, OpenSuse Leap 15.1 (X-Server) Kernel 5.6.8, DD Cine V6.1 Dual + Hauppauge WinTV-quadHD, VDPAU (Softhddev.)


  • Code
    Fri Aug 13 13:55:27 [1475] DEBUG: cMarkAdStandalone::LoadInfo(): recording start at Thu Aug 12 19:45:03 2021
    Fri Aug 13 13:55:27 [1475] DEBUG: cMarkAdStandalone::LoadInfo():     timer start at Thu Aug 12 19:45:00 2021
    Fri Aug 13 13:55:27 [1475] INFO:  missed broadcast start by 0:03 min, length will be corrected

    Jetzt verstehe ich auch das o.g. Log. Dein Vorlauf fehlt nicht, er ist zu groß.

    Die Sendung davor beginnt um 19:45 (Wissen vor acht), also meint der VDR, du willst diese Aufnehmen und schreibt den Event in das info File. Prüfe mal das info File im Aufnahmeverzeichnis, da steht bestimmt der falsche Titel drin.

    Damit bekomme ich die falschen Timer Informationen und schließe daraus, die Aufnahme wäre zu spät gestartet worden.

    Mache mal einen Timer von 19:48 (oder sogar 19:49) bis 20:00 Uhr. Nachlauf ist auch wichtig für die Ende Erkennung.

  • Stimmt: im Info-File steht: Wissen vor acht.

    Ich probiere es mit 19:48 bis 20:00.

    Danke

    VDR 2.6.6 (oben): Asus M4N68T-M-LE-V2, 2GB RAM, 120GB SSD, 1TB HD, AMD Athlon(tm) II X4 640 @ 3GHz, NVIDIA GT530 (V390.157), FFMPEG 6.1.1, OpenSuse Leap 15.5 (X-Server) Kernel 5.14.21, 2x Budget + 1x Hauppauge WinTV-DualHD, VDPAU (Softhddev.)

    VDR 2.6.6 (unten): Asus P8H77-V LE, 8GB RAM, 120GB SSD, 2TB HD, Intel(R) Celeron(R) G1620 @ 2.70GHz, NVIDIA GT630 (V470.223.02), FFMPEG 6.1.1, OpenSuse Leap 15.1 (X-Server) Kernel 5.6.8, DD Cine V6.1 Dual + Hauppauge WinTV-quadHD, VDPAU (Softhddev.)


  • Moin, hat funktioniert (mit V03).

    Allerdings fängt der eigentliche Wetterbericht dann schon nach 14 Sekunden an. Manchmal wird das nicht langen. Das war auch der Grund, warum wir die Startzeit so weit vorverlegt hatten.

    Ich werde nächste Woche weiter in diese Richtung prüfen (auch mit VPS).


    Schönes Wochenende!

    LG,

    Michael

    VDR 2.6.6 (oben): Asus M4N68T-M-LE-V2, 2GB RAM, 120GB SSD, 1TB HD, AMD Athlon(tm) II X4 640 @ 3GHz, NVIDIA GT530 (V390.157), FFMPEG 6.1.1, OpenSuse Leap 15.5 (X-Server) Kernel 5.14.21, 2x Budget + 1x Hauppauge WinTV-DualHD, VDPAU (Softhddev.)

    VDR 2.6.6 (unten): Asus P8H77-V LE, 8GB RAM, 120GB SSD, 2TB HD, Intel(R) Celeron(R) G1620 @ 2.70GHz, NVIDIA GT630 (V470.223.02), FFMPEG 6.1.1, OpenSuse Leap 15.1 (X-Server) Kernel 5.6.8, DD Cine V6.1 Dual + Hauppauge WinTV-quadHD, VDPAU (Softhddev.)


  • Mehr kannst du nicht vor gehen, weil dann mehr als die Hälfte in der Sendung davor drin ist. Dann ordnet VDR es dem Event davor zu und ich bekomme die falschen Timer Werte.

    Wenn das VPS Signal korrekt ist, könnte das helfen. Mach zur Sicherheit gleich "protokolliere VPS Ereignisse" in der markad Konfiguration an. Dann gibt es eine vps.log, wo man sehen kann, was für VPS Events angekommen sind.

    "verwende VPS" zusätzlich in markad an machen wäre dann auch mal ein Versuch wert, falls das VPS Signal stimmt.

    Eine 5 Minuten Sendung ist halt schon eine Herausforderung ...

  • ok,

    "protokolliere VPS Ereignisse" kann nur angewählt werden, wenn "use VPS" auf on ist. Ich werde es ab Montag mal versuchen.

    Ja aber dafür (5 Minuten) geht es doch schon prima ;)

    Vielen Dank!

    VDR 2.6.6 (oben): Asus M4N68T-M-LE-V2, 2GB RAM, 120GB SSD, 1TB HD, AMD Athlon(tm) II X4 640 @ 3GHz, NVIDIA GT530 (V390.157), FFMPEG 6.1.1, OpenSuse Leap 15.5 (X-Server) Kernel 5.14.21, 2x Budget + 1x Hauppauge WinTV-DualHD, VDPAU (Softhddev.)

    VDR 2.6.6 (unten): Asus P8H77-V LE, 8GB RAM, 120GB SSD, 2TB HD, Intel(R) Celeron(R) G1620 @ 2.70GHz, NVIDIA GT630 (V470.223.02), FFMPEG 6.1.1, OpenSuse Leap 15.1 (X-Server) Kernel 5.6.8, DD Cine V6.1 Dual + Hauppauge WinTV-quadHD, VDPAU (Softhddev.)


  • Stimmt, aber egal: Wenn ich bessere Kriterien in der Aufnahme finde, erlaube ich mir, die VPS Events zu ignorieren.

  • Ich habe das markad-Plugin aus dem git von kfb77 installiert.

    /usr/bin/markad ist vorhanden und über visudo für den vdr-user "freigeschaltet". (Ist letzteres wirklich notwendig?)

    Dies ist die Plugin-Konfiguration:

    In /etc/services ist ein Eintrag

    Code
    svdrp           6419/tcp                        # svdrp (vdr)

    vorhanden.


    Das Plugin läuft (ich starte es ohne irgendwelche Parameter), es werden aber nie irgendwo Schnittmarken gesetzt.

    Nur wenn ich markad manuell mit "markad --loglevel=3 --astopoffs=0 --log2rec nice" auf einen Aufnahmeordner anwende, tut es was es soll.


    Habe ich etwas übersehen?

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • über visudo für den vdr-user "freigeschaltet". (Ist letzteres wirklich notwendig?)

    Nein


    markad.Execution = 0

    Er macht, was du konfiguriert hast: Nicht ausführen.

    Du must im VDR Konfigurationsmenu unter Plugins, Markad einstellen, ob du markad während oder nach der Aufnahme ausführen möchtest. Das Plugin selber erstellt keine Schnittmarken, es startet nur markad, welches dann die Schnittmarken erzeugt.


    markad.AutoLogoExtraction = 0

    Den finde ich auch nicht gut, stelle "extrahiere Logos ..." auf aktiviert.

  • Über execution=0 habe ich mich auch gewundert, aber im OSD steht „nach der Aufnahme“ oder so ähnlich. Bin gerade unterwegs, daher aus der Erinnerung. Evtl. ein Übersetzungsfehler?

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Du hast Recht, "danach" ist default, darum execution=0.

    Also muss es an was anderem liegen, dann brauche ich mehr Infos:

    Was für ein OS ? Kann der User, unter dem der VDR läuft, markad ausführen ?

    Bitte auch gleich syslog (grep "markad" reicht) vom Ende einer Aufnahme und markad.log aus dem Aufnahmeverzeichnis posten.

  • Mir fällt gerade noch eine mögliche Erklärung ein: Ist das Logo vom dem Sender im Cache (/var/lib/markad) ?

    Bei Aufruf von Hand ohne --autologo=... sucht er sich per default selber eines, beim Start aus dem VDR Plugin hast du dies abgeschaltet. Wenn er dann keines im Cache findet, wird er nichts machen wegen markad.LogoOnly = 1.

  • Mein vdr läuft unter meinem Usernamen unter Ubuntu 20.04.2

    markad kann mein user ausführen, aber nur so wie in #710 geschrieben. Mit der Option --cDecoder (die am Anfang dieses Threads erwähnt wurde) kommt

    Code
    markad: parameter --cDecoder: is depreciated, please remove it from your configuration


    Am Beginn einer Aufnahme steht z.B.


    und am Ende

    Code
    Aug 14 20:20:00 ubuntuvdr2 vdr: [1187] timer 1 (1 1957-2020 'Tagesschau') stop
    Aug 14 20:20:00 ubuntuvdr2 vdr: [1187] removing /srv/vdr/video.00/Tagesschau/_/2021-08-14.19.57.1-0.rec/.timer
    Aug 14 20:20:00 ubuntuvdr2 vdr: [1187] markad: cStatusMarkAd::Recording(): recording <(null)> [/srv/vdr/video.00/Tagesschau/_/2021-08-14.19.57.1-0.rec] stopped

    Eine Datei markad.log existiert nicht. Im Aufnahmeordner liegt nur eine markad.vps mit dem Inhalt VPSTIMER=NO
    Also liegt es wohl an den fehlenden logos. Der Ordner /var/lib/markad ist bis auf ein README leer. Das README sagt

    Code
    place logo files in this directory
    the source code does not provide any logo

    Aber wo kriege ich diese Logos jetzt her?

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Aber wo kriege ich diese Logos jetzt her?

    Am besten gar nicht. Du wirst es eh nicht schaffen, die aktuell zu halten. Manche Sender arbeiten auch mit verschiedenen Logos oder mit Logos in verschiedenen Ecken, das geht dann gar nicht. Die Funktion ist nur noch für Sonderfälle drin, z.B. für sehr kurze Aufnahmen. Falls Tagesschau zu kurz ist, mache eine längere Aufnahme von dem Sender, dann liegt das Logo im Aufnahmeverzeichnis. Das kannst du dann nach /var/lib/markad kopieren.


    Den finde ich auch nicht gut, stelle "extrahiere Logos ..." auf aktiviert.

    Das wird dein Problem lösen, dann sucht sich markad das Logo selbst in der Aufnahme.

  • wäre es denn nicht sinnvoll, AutoLogoExtraction per default anzuschalten, indem int autoLogoMenue=1;  in setup.h zugewiesen wird (statt 0)?

    Ich habe zusätzlich mal markad.useVPS = 1 gesetzt. Gibt es nicht noch weitere Erkennungsmethoden, z.B. Wechsel von Dolby Digital 2.0 auf 5.1?

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • wäre es denn nicht sinnvoll, AutoLogoExtraction per default anzuschalten

    Ja, ist es doch auch, siehe hier. Ich habe es auch bei mir getestet, Eintrag aus der VDR setup.conf gelöscht damit er auf default zurück fällt und dann war es an. "2" ist an, "1" gibt es nicht mehr, das ist nur noch wegen der Abwärtskompatibilität drin, macht inzwischen das gleiche wie "2".


    Gibt es nicht noch weitere Erkennungsmethoden

    Ja, viele (in aufsteigender Priorität):

    VPS Events

    Schwarzer Bildschirm

    Logo

    vertikale Balken

    horizontale Balken

    Bildschirmverhältnis

    Audio Kanäle

    Da gibt es aber (außer VPS) nichts zu konfigurieren, die werden alle versucht und das Beste wird genommen.

  • o.k., vielen Dank. Ich nehme meistens von den ÖR auf. Mich wundert, dass monatelange nie eine einzige Schnittmarke erstellt wurde.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

Jetzt mitmachen!

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