[markad] überarbeiteter Decoder

  • OK. Bei Sky ist das ja nicht ganz so wild, da kommt ja keine Werbung.

    Da steigen wir manchmal schon 10 min nach Aufnahmestart in die Aufnahme ein.

    Kann man denn nicht einfach eine Startmarke an den Beginn der Aufnahme setzen, also Aufnahmestart + Vorlauf (hier 5min). Die wird ja im Verlauf dann sowieso nochmal angepasst.


    Ich pack dir mal die Aufnahme von 13th Street zusammen und melde mich dann per PM bei Dir. Das Logo hebt sich schon recht schwach vom Hintergrund ab, vvlt. ist das das Prpblem.

  • Kann man denn nicht einfach eine Startmarke an den Beginn der Aufnahme setzen, also Aufnahmestart + Vorlauf (hier 5min).

    Könnte man, das wäre aber i.A. nicht korrekt. So pünktlich beginnen die Sender nie. Und da habe ich eine klare Priorität: Lieber möglichst richtig als möglichst schnell.


    Die wird ja im Verlauf dann sowieso nochmal angepasst.

    Angepasst nicht, eine wird ausgewählt aus den vorhanden vom Start Bereich. Und wie könnte ich die willkürliche Marke von den Echten unterschieden ? Da müsste ich das Datenmodell umbauen. Sorry, aber da habe ich im Moment andere Prioritäten. Ich behalte das mal als Feature Request im Hinterkopf. Die Idee ist grundsätzlich gut, vielleicht was für 2.7.

    Ich pack dir mal die Aufnahme von 13th Street zusammen und melde mich dann per PM bei Dir.

    danke


    Das Logo hebt sich schon recht schwach vom Hintergrund ab, vvlt. ist das das Problem.

    Kann gut sein, einen gewissen Kontrast zum Hintergrund brauche ich.

  • Könnte man, das wäre aber i.A. nicht korrekt. So pünktlich beginnen die Sender nie. Und da habe ich eine klare Priorität: Lieber möglichst richtig als möglichst schnell.

    Naja, meist passt das mit meinen Timern schon recht gut mit dem EPG und dem Sendungsbeginn. Sind ja eher Sondersendungen die da was verschieben.

    Ich dachte immer (da es ja auch den Schalter Vor/Nachlauf ignorieren gibt), dass da sowieso bei Aufnahmebeginn + Vorlauf eine Schnittmarke gesetzt wird.

    Ist zwar nicht soo wichtig, aber lieber die Schnittmarke bei +5min (Vorlauf) und ich springe im Zweifel 2x 10s zurück oder vor, als ohne Startmarke zu beginnen und dann 5 min vorzuspringen.

    Aber wenn das mit dem Anpassen der Startmarke eine größere Anpassung bedeutet, verstehe ich das.


    Bringt es denn was Vor/Nachlauf zu ignorieren? Da dann die Logoerkennung von Anfang an losläuft?

  • OK, habe dein Argument verstanden, ich baue das Verhalten beim Online Schneiden in der nächsten Version um. Wir haben ja immer noch Lockdown ...

    Ich finde deine Idee gut, beim Start eine Dummy Marke am Ende des Pre Timers zu setzen und die dann mit der echten Marke ersetzen, wenn die bekannt ist. Das kann ich vielleicht sogar ganz einfach einbauen, indem ich vorab eine Dummy Marke setze, die Marken speichere und sie intern gleich wieder lösche. Dann brauche ich sie nicht mal als Dummy Marke erkennen, weil sie intern gleich wieder weg ist. Ich kämpfe aber gerade noch mit Optimierungen aus den neuen Features, das will ich zuerst fertig haben.

    Bringt es denn was Vor/Nachlauf zu ignorieren? Da dann die Logoerkennung von Anfang an losläuft?

    Nein, das ist eine wichtige Information, ohne die die Start Marke nichts werden wird. Damit wird auch, je nach Aufnahme, nicht mal die Logo Erkennung schneller, weil ja vor Pre Timer Werbung ohne Logo kommen könnte und er mehr Frames lesen muss.

  • ofenheizer

    Für dich habe ich im Branch V02 zwei Patches drin:

    1. die Logo Suche von dem Sender mit dem hohen Logo geht jetzt

    2. Bei "markad während der Aufnahme" wird eine vorläufige Start Marke zum Zeitpunkt des Timer Starts geschrieben.


    Bitte testen, da ich dies nicht nutze, habe ich es nur mal so auf dem Testrechner ausprobieren können.

  • Muss ich mal am Wochenende schauen, und selber bauen, da ich bisher immer die Pakete von yavdr benutze.

  • Falls du eine Anleitung brauchst:

    sudo bash

    apt-get install vdr-dev

    apt-get build-dep vdr-plugin-markad-ng

    cd /usr/src

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

    cd vdr-plugin-markad

    make all

    service vdr stop

    make install

    service vdr start


    Das ist alles ....

    Wenn was schief geht, mit apt-get --reinstall install vdr-plugin-markad geht es wieder zurück.


    Edit: Fehler bei Plugin Name für yavdr korrigiert.

  • Ok. Ich teste mal

    Bei make all bekomme ich hier

    Code
    1. In file included from markad-standalone.h:20,
    2. from markad-standalone.cpp:34:
    3. encoder_new.h:14:14: fatal error: libavfilter/avfilter.h: Datei oder Verzeichnis nicht gefunden
    4. 14 | #include <libavfilter/avfilter.h>

    Ist das kritisch, denn make läuft weiter bis zum Ende durch?

  • Sorry für den Fehler. Der make all muss auch irgendwo einen Fehler gebracht haben. Vorsicht: Nicht drauf verlassen, dass in einer farbigen Konsole alle make Fehler farbig sind, fehlende libs sind es nicht. Da falle ich auch immer wieder drauf rein.

  • Hab die V02 mal unter arch gebaut und installiert

    Gruß utiltiy



    VDR Projekte VDR Projects

  • 2. Bei "markad während der Aufnahme" wird eine vorläufige Start Marke zum Zeitpunkt des Timer Starts geschrieben.

    Ich hab es bis jetzt noch nicht live im Log mitverfolgt, aber ich denke das hier aus dem Log müsste das Setzen der vorläufigen Marke sein:

    Sat Feb 6 20:15:20 [6655] DEBUG: clMarks::Save(): save marks, isRunningRecording=1 force=1

    Den anderen Punkt mit dem Logo muss ich bei Bedarf mal mit einem separaten Timer ausprobieren oder warten bis wieder ein Suchtimer auf 13th Street läuft.

  • Ja, und direkt davor müsste kommen:

    Code
    1. DEBUG: cExtractLogo::SearchLogo(): recording is aktive, read frame 3000, now save dummy start mark at pre timer position 120s

    Ich gehe mal davon aus, dass es funktionieren wird.

    Somit gibt es jetzt Version 2.6.1 auf vdr-plugin-markad.

    Zusätzlich zu frühen Marken für live Schnitte sind zahlreiche Bug Fixes und Optimierungen drin.

  • Hi, lieber kfb77,


    in letzter Zeit habe ich mit markad öfter das Problem:

    Ein vdr-checkts für das Verzeichnis liefert 0 errors. Natürlich gibt es dann kein marks-File und kein gestripptes 00001.ts.

    Die Kommandozeile für Aufruf des markad ist

    Code
    1. /usr/bin/markad --threads=3 --saveinfo --loglevel=3 --vps --cut --log2rec --loglevel=3 --autologo=2 --logocachedir=/tmp - /srv/vdr/video/scifi/Serien/Mission_Erde#3A_Sie_sind_unter_uns/S02E21_-_Kosmische_Flaschenpost/2021-03-04.16.12.40-0.rec

    Ohne --cut kommt es nicht zu dem Timebase-Fehler, die Marks sind dann:

    Code
    1. 0:03:23.18 aspectratio change from 16:9 to 4:3 (5088)
    2. 0:04:42.09 aspectratio change from 4:3 to 16:9 (7066)*
    3. 0:10:38.04 aspectratio change from 16:9 to 4:3 (15953)*
    4. 0:31:20.08 aspectratio change from 4:3 to 16:9 (47007)
    5. 0:38:23.21 aspectratio change from 16:9 to 4:3 (57595)*
    6. 0:56:28.02 aspectratio change from 4:3 to 16:9 (84701)

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


    Ich verwende ein Script, welches nach der h264-Transcodierung und/oder naludump einen Markad-Lauf mit --cut durchführt, ffprobe den Zeitunterschied von Original und gecutteter Version bestimmen läßt und bei >65% Länge davon ausgeht, daß die Marks stimmen und das Original durch die gestrippte Version ersetzt werden kann, wonach nur noch ein vdr --genindex und ein "Aufräumen" der Hilfsdateien folgt.


    Bei Bedarf kann ich auch ein/das entspr. ts-File hochladen (hab selbst leider Dualstack-light).


    Grüße aus Wien :)

    --
    vdr User #2022 - hdvdr2: Lenovo SFF M83, Intel(R) Core(TM) i5-4670S, 12 GB Ram, zram-swap/tmp, ubuntu-focal, softhddevice-vdpau
    ddbridge-6.x mit 2xDVB-S2 und (Flex) 2xDVB-C/T Tunern, nvidia-GF720 SFF passiv (nvidia-dkms-460.67), System SSD btrfs,

    snapper, 8TB HDD XFS/cow /srv/vdr, yavdr-ansible-2.5.2-seahawk, vdr-epg-daemon mit Frodo-plugins, Kernel 5.12.0-rc7-xfsscrub

    vdradmin-am, live+webstreaming, vdrmanager (Smartphones als FB), ffmpeg-4.3.1-libfdk_aac, vdr-plugin-hbbtv. Folding@home läuft auf CPU.