[markad] überarbeiteter Decoder

  • Guten Morgen,

    ich habe auf vdr-2.4.6 upgedatet und markad aus dem git aktualisiert.

    Beim Start erhalte ich


    Jan 17 11:19:15 vdr64 vdr[3183778]: [3183778] plugin /usr/local/src/VDR/PLUGINS/lib/libvdr-markad.so.2.4.6: missing symbol VDRPluginDestroyer(), please rebuild

    [...]

    Jan 17 11:19:15 vdr64 vdr[3183778]: [3183778] initializing plugin: markad (2.5.3 (0637192)): Markiere Werbung


    Ist das kritisch? Rebuild hat mich nicht wirklich weitergebracht.

    Christian

  • Da gab es eine Änderungen in 2.4.6 hier, die erfordert, dass markad neu gebaut werden muss. Da muss was an deiner Build Umgebung nicht stimmen.

    Prüfe mal, ob der make install von markad wirklich nach /usr/local/src/VDR/PLUGINS/lib/libvdr-markad.so.2.4.6 kopiert. Der Pfad ist doch etwas unüblich.

    Ich hätte hier /usr/lib/vdr/plugins/libvdr-markad.so.2.4.6 oder /usr/local/lib/vdr/plugins/libvdr-markad.so.2.4.6 erwartet.

  • alles nochmal mit make clean und make clean-plugins geputzt. Neu kompiliert, installiert, gestartet.

    Keine Änderung, weiterhin kommt die Meldung. Die Pfade passen so.

    -rwxr-xr-x 1 root root 310680 17. Jan 12:40 /usr/local/src/VDR/PLUGINS/lib/libvdr-markad.so.2.4.6


    Bis heute morgen hatte ich ja auch noch gar kein 2.4.6 auf Platte.


    Christian

  • So langsam gehen mir die Ideen aus. Da läuft irgendwas beim Bauen schief.

    Poste mal ein paar Fakten:

    - Welches Betriebssystem ?

    - baust du markad innerhalb des VDR Baums oder außerhalb ?

    - gibt es vielleicht noch alte VDR Sourcen auf dem Rechner (find -name plugin.h) ?

  • - gibt es vielleicht noch alte VDR Sourcen auf dem Rechner (find -name plugin.h) ?

    Das war's. Ich hatte unter /usr/local/include/ Dateien aus 2017 liegen. Die hat markad verwendet, andere Plugins hatten sich nie daran gestört.

    Gelöscht und ein

    ln -s /usr/local/src/VDR/libsi/ .

    ln -s /usr/local/src/VDR/include/vdr/ .

    in /usr/local/include hat das Problem behoben.

    Bleibt nur die Frage, warum markad die includes von dort verwendet und die anderen Plugins unterhalb VDRDIR suchen.


    Christian

  • Freut mich zu hören, dass dein Problem gelöst ist.

    Bleibt nur die Frage, warum markad die includes von dort verwendet und die anderen Plugins unterhalb VDRDIR suchen.

    Das sollte markad auch machen. Mein Makefile entspricht den vdr Plugin Mustern. Wenn der Build aus VDR gemacht wird, setzt der INCLUDES und die nutze ich auch. Wenn nicht, sucht der Compiler eh in den Standard Pfaden.

    Hast du vielleicht auch noch ein altes vdr.pc irgendwo rum liegen ? Wenn die Datei in einem der pkg-config Suchpfade liegt, würde die das überschreiben.


    Edit: Ich habe es mal bei mir ausprobiert: Wenn ich aus dem vdr im Source Verzeichnis /usr/src/vdr/vdr baue, hat der g++ Befehl bei markad den Parameter -I/usr/src/vdr/vdr/include mit drin. Also bei mir ist das genau so, wie du es erwartest.

    Einmal editiert, zuletzt von kfb77 ()

  • Danke für die Antwort. Ich hatte hier auch immer ein korrektes '-I/usr/local/src/vdr-2.4.6/include' drin.

    Irgendwas war da wohl verwurschtelt. Jetzt läuft es ja. Ich kann's nicht mehr nachvollziehen.

    Wobei mir einfällt: wenn ich den Link auf die includes von /usr/local/include mittels

    ln -s /usr/local/src/VDR/include/vdr/ .

    nicht gesetzt habe, läuft zwar das make korrekt durch, nicht aber das make install. Da werden die fehlenden .h-Dateien reklamiert von markad.


    Christian

  • So, hat jetzt funktioniert ohne den Link auf die includes. Dafür habe ich in Make.config das INCDIR auf mein VDRDIR/includes gesetzt und mittels

    CFLAGS += -I$(INCDIR)

    CXXFLAGS += -I$(INCDIR)

    übergeben. Eigentlich sollte das ja auch ohne funktionieren. Aber so klappt's. Übrigens auch mit scraper2vdr, der hat auch die includes nicht im VDRDIR verwendet.

    Mir fehlen die Kenntnisse, das weiter zu untersuchen, für mich kompiliert es so.


    Christian

  • hi,


    ich verwende :


    markad (2.5.3 (0637192)) - Mark advertisements


    Ich hab folgendes in der setup.conf:



    Mit welchen Einstellungen sollte ich arbeiten um die besten Ergebnisse zu bekommen?

    --------------------------------------------------------------------------------------------------------------------------------------------------

    BM2LTS im VDR-Portal   http://www.bm2lts.de   http://www.sc-schulze.de

    --------------------------------------------------------------------------------------------------------------------------------------------------

    Empfang: Octopus Net S2 max (8 Tuner) + Octopus Net S2 max (8 Tuner) + Netceiver (2x DVB-s2dual)

    Kopfstation: Virtuelle Maschine mit BM2LTS v3.4.XX

    Clients: NUC10i5FNH2 -> BM2LTS v3.4.XX; FireTV4k mit Kodi u. VNSI-Plugin

    NAS: Aufnahmen u. Plex-Media

    --------------------------------------------------------------------------------------------------------------------------------------------------


  • Die meisten Einstellung beziehen sich auf wann läuft markad und wo/welche Logfiles werden geschrieben.

    Das alles hat keinen Einfluss auf die Qualität der Marken.

    Ich gehe mal auf die drei ein, die einen Einfluss haben:

    1. markad.AutoLogoExtraction = 2 -> in logo cache Verzeichnis (default /var/lib/markad) fehlende Logos werden selber erzeugt
    2. markad.SecondPass = 1 -> passt, im 2nd Pass werden overlaps erkannt und Marken optimiert
    3. markad.useVPS = 1 -> passt, wenn nichts brauchbares erkannt wird, wird versucht ob VPS was brauchbares bieten kann
  • Version 2.5.4 ist auf vdr-plugin-markad verfügbar.

    Die Version enthält kleinere Fehlerbereinigungen und Optimieren. Dies wird die letzte Version 2.5.x sein.


    Es gibt auf dem Git jetzt auch noch eine Version 2.6.0-RC01 für euch zum Testen. Die Version arbeitet mit dem Plugin aus der Version 2.5 zusammen, muss zum Testen also nicht mal installiert werden, markad kann aus dem Build Verzeichnis direkt aufgerufen werden.

    Die Grenzen der Logo Erkennung habe ich inzwischen wohl fast erreicht. Besser kann es nur noch werden, wenn die Logo Marken nachbearbeitet werden. Das gab es schon immer mit der Erkennung von Überscheidungen, in V2.5 kam noch die Erkennung der (manchmal vorhandenen) Stillen Teile zwischen Sendung und Werbung dazu.

    In dieser Richtung geht es jetzt mit der 2.6 weiter:

    - Erkennung temporärer Logo Änderung innerhalb der Sendung (z.B. Raumschiff fliegt rein und beamt das Logo weg, später wieder zurück)

    - Abspann ohne Logo, Ende der Sendung dabei im Rahmen

    - Logo ist zu Beginn rot, wird es später grau

    - Logo wird verzögert ein- und ausgeblendet

    - Werbung im Rahmen mit Logo

    Wie immer gilt: Es ist nicht möglich alle Varianten zu erkennen, ein Rest Fehler wird bleiben. Ziel ist es, mit jeder Version ein klein wenig besser zu werden.

    Die ist ein release candidate, also schon weit, aber nicht ganz fertig. Bei Problemen die im README beschriebenen Files posten. Ggf. brauche ich auch die Aufnahme.

  • Hi, ich nutze BM2LTS mit Markad 2.5.3.

    ca. 1 Minute nachdem eine Timeraufnahme auf einem verschlüsselten Sender ORF2HD startet kommt die Meldung:

    vdr: [1664] ERROR: video data stream broken


    Deaktiviere ich markad .. ist Alles OK. Bis zum Crash ist auch Aufnahme ist OK. Ich habe das Aufnahmeverz. inkl. markad.log hier hochgeladen.


    @seakhawk meinte dass ev. an einem Überlauf des DVB-Daten Puffers liegen könnte. Ich hatte Logo Extrahieren mal abgeschaltet und da war es OK ... sicher bin ich allerdings nicht.

    Liebe Grüße g ;)

    NCV6dvbS2+Alphacrypt+ORF, BM2LTS4.4 NUC11i3 NVMe+HDD, BM2LTS2.94.4 AVG1 T7400 SSD+HDD NvidiaGT720

  • Hi,

    Dann wirst du after machen müssen. Ich vermute dann geht es. Wird am mcli liegen. Noad ist ja auch schon länger nicht mehr zum während der Aufnahme suchen zu bewegen.

    Teste das doch mal.

    Mfg Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • THX, ist ja nur ein intel 10i3 mit 8GB Ram ;) ...


    Brauch ich "Logos extrahieren" ? Weil ich vermute der Prozess ist es ?

    Liebe Grüße g ;)

    NCV6dvbS2+Alphacrypt+ORF, BM2LTS4.4 NUC11i3 NVMe+HDD, BM2LTS2.94.4 AVG1 T7400 SSD+HDD NvidiaGT720

  • Hi,

    Keine Ahnung ob du Logos hast.

    Mfg Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • gggggg

    Ich habe mir deine Files mal angeschaut: markad schafft nicht die Video Files zu decodieren, weil sie zu wenig fehlerfreie Frames enthalten. Nicht mal der vlc Player kann die Datei wiedergeben, der bleibt bei 16s der ersten ts hängen, die Zeitanzeige geht in mehreren Sekunden Sprünge weiter. Und vlc kann so ziemlich alles, auch halb defektes, wiedergeben.

    Ich würde dir empfehlen, alles war für die Basisfunktion nicht benötigt wird (auch markad), zu deinstallieren und erst mal eine saubere Aufnahme/Wiedergabe zum Laufen bringen.

    Wenn du die vollständige und fehlerfreie Aufnahme hast, mache mir bitte ein tar vom Aufnahmeverzeichnis. Die würde ich gerne haben, da ich von dem Sender noch keine Aufnahme für meine Testfälle habe.

  • kfb77

    Brauchst du ORF?

    Wenn ja, was und wie lange?

    Kann ich dir erstellen ;)

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Nicht mal der vlc Player kann die Datei wiedergeben, der bleibt bei 16s der ersten ts hängen

    Die Ursache ist, dass in 00001.ts ab dann die TS-Pakete verschlüsselt sind (es sind insgesamt 206762 TS-Pakete, ab Paket #83140 nur mehr verschlüsselt).

    Das ERROR: video data stream broken kommt aus recorder.c wenn 30 Sekunden kein I-Frame erkannt wurde. Also muß ab ca. 17:38:20 irgend ein Ereignis die Entschlüsselung verhindern. Im Post 452 ist allerdings kein brauchbarer Hinweis zu finden.

    Lg helmut

  • Vielen Dank für den Hinweis, den Grund hätte ich ohne jemals was mit Verschlüsselung gemacht zu haben, nie gefunden.

    Dann bin ich raus, markad greift nicht in den Video Stream ein und schon gar nicht in die Entschlüsselung.

Jetzt mitmachen!

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