Beiträge von kfb77

    Das hängt davon ab, wie leistungsfähig deine CPU/Speicher/Festplatte ist. Auf einem Raspi würde ich es nicht tun.

    Ich habe bei mir zu Testzecken laufend 4 markad Prozesse gleichzeitig laufen, bis zu 6 Aufnahmen (keine Wiedergabe, ist reiner Backend). Ist ein I3 mit 32 GB Speicher und eine RAID 6 Video Platte. Versuche es einfach und beobachte VDR Syslog Meldungen "ring buffer overflow". Markad ist es definitiv egal.

    Geht das auch bei markad, wenn ich im VDR VPS aus habe?

    Ja, genau dafür ist es gedacht.

    Damit kann man sich über markad eine "VPS light" Funktion bauen, die ohne echte VPS Timer funktioniert und die Events nutzt, um Start und Ende Marken zu optimieren. Aber nur, wenn markad selbst nichts sinnvolles in der Aufnahme findet, wie zum Beispiel bei einer nahtlosen Doppelfolge. Und funktioniert natürlich nur, wenn die VPS Events innerhalb der Timer Zeiten kommen, da natürlichen keine Aufnahmezeiten verschoben werden.


    Und versuche mal "full decoding" anzumachen. Dann braucht markad zwar ca. 4 Mal so lange, kann aber auch sehr kurze Logo Unterbrechungen zwischen Sendungen erkennen.

    Ich glaube nicht, dass Nitro überhaupt VPS hat.

    Ich habe noch keinen deutschen FTA Sender auf Astra gesehen, der kein VPS sendet. Auch NITRO sendet was, die Frage ist nur, wie zuverlässig und wie exakt der Zeitpunkt zur Sendung passt.

    ebenso wie die markad.logs

    Vorsicht Spoiler: Die nächste Version wird einen Statistik Report aus diesen Log File generieren können. Kann ganz interessant sein, wie lange so markad braucht. Hier mal ein Ausblick (Mix aus SD und HD, bei mir mit full decoding, full encoding, Debug Options und memory sanitizer von gcc):

    Code
    average time for pass 1 (initial logo search):      49s ->  0:00:49h  from   100 recordings
    average time for pass 2 (mark detection):          247s ->  0:04:07h  from   100 recordings
    average time for pass 3 (mark optimization):        94s ->  0:01:34h  from    86 recordings
    average time for pass 4 (overlap detection):        39s ->  0:00:39h  from    88 recordings
    average time for pass 5 (cut recording):         10514s ->  2:55:14h  from     6 recordings
    average time for pass 6 (mark pictures):            46s ->  0:00:46h  from     2 recordings

    Nach neu bauen und nochmaligem Lauf - siehe Anhang.

    Das sieht doch jetzt gut aus: Start stimmt, Ende ist nicht möglich, da nahtlose Doppelfolge. Vielleicht bringt hier VPS in den markad Einstellungen anmachen noch was. Aber nur wenn der Sender genaue VPS Events sendet.

    --autologo=0 speichert nicht in --logocachedir=

    markad speichert da nie Logos, er liest sie nur von da, falls da was drin steht.

    Das macht aber wenig Sinn, da die Sender inzwischen oft die Logos ändern und viele Sonderlogos verwenden. Es gibt Logos mit Mützen auf zu Weihnachten, oder Logos in einer anderen Ecke bei Live Sendungen. Alles schon gesehen. Den Logo Cache gibt es nur noch aus Gründen der Abwärtskompatibilität, die Nutzung macht inzwischen keinen Sinn mehr. Würde ich da Logos speichern, würde alle Sendungen danach mit einem anderen Logo nicht mehr funktionieren. Und wenn ich zufällig die Mütze speichere, funktioniert markad nur noch an Weihnachten. ;)

    Den segmentation fault habe ich gefixed, das war ein Folgefehler des Problems im Decoder.

    Aber das eigentliche Problem

    Code
    cDecoder::DecodeFile(): could not find decoder for stream 2 codec id 94209

    kann ich nicht reproduzieren, bei mir braucht das keine Sonderbehandlung weil es von Ffmpeg per default erkannt wird. Darum ist mir das auch noch nie aufgefallen.

    Da stimmt was mit deinem Ffmpeg nicht, was ist das für ein OS und wo ist das Ffmpeg her ? Was sagt "ffmpeg -codecs | grep DVB" ?

    Da muss

    Code
     DES... dvb_subtitle         DVB subtitles (decoders: dvbsub ) (encoders: dvbsub )

    dabei sein.

    /usr/sbin/markad -v -R after /var/spool/video/video0/King_of_Queens/2023-04-28.16.35.22-0.re

    Warum anders, wie in meinem Link beschrieben ? Es wäre für mich einfacher, Schnitt für Schritt von einer mir bekannten Basis zu starten. Und markad.log bitte nicht kürzen, manchmal sind auch die Stellen weit vor dem Fehler von Interesse.

    cDecoder::DecodeFile(): could not find decoder for stream 2 codec id 94209

    Da liegt das Problem. Das sind DVB Untertitel, da habe ich bis jetzt immer nur die ID 100359 gesehen. Und selbst dann darf es keinen Segfault geben. Das ist definitiv ein Bug. Vielen Dank fürs finden.

    Das muss ich mir mal in der Aufnahme selbst anschauen. Kannst du einen tar auf das Aufnahmeverzeichnis machen und mir zum Download zu Verfügung stellen (ich brauche das ganze Verzeichnis, nicht nur die *.ts) ? Zugangsdaten dann per PM.

    Und noch ne Frage zum Logging: Wenn "markad.Log2Rec = 0" wäre, wo würde das Log dann stehen?

    Im syslog, lass es aber so, man kann man besser Probleme suchen, wenn das Log File der Aufnahme zugeordnet werden kann.


    Wie würde das aussehen, wenn welche gefunden würden?

    Dann gibt es eine Datei "marks" im Aufnahmeverzeichnis.

    kann es sein, dass da einfach keine gefunden werden konnten?

    Kann sein, wäre dann aber ein Bug. Zumindest Start und Ende Marken müssen in die marks eingetragen werden. Und selbst wenn gar keine Kriterien gefunden werden, wird geraten. Die marks muss es immer nach dem Lauf von markad geben.


    Settings:

    Du hast folgendes konfiguriert: Führe markad nach der Aufnahme aus, aber nicht wenn eine beliebige Aufnahme oder Wiedergabe läuft. Das ist grundsätzlich eine zulässige Konfiguration, deinem Log nach war dies noch nicht gegeben.

    Bitte zwei Tests:

    - Test mal mit einem manuellem Aufruf, dann sehen wir, ob das grundsätzlich bei dir läuft.

    - Teste mal gezielt ohne Wiedergabe und mit nur einen Aufnahme. Dann müsste markad nach der Aufnahme loslaufen.

    Bitte alle Tests grundsätzlich mit einer vollständigen Aufnahme durchführen.

    Hier mal ein Beispiel, wie das im Log aussehen wird, ich habe jetzt mal 30% als max. zulässigen Wert drin.

    Code
    Tue Apr 25 17:52:20 [401092] DEBUG: broadcast length without advertisement: 192177 frames,  7687s -> 2:08:07h
    Tue Apr 25 17:52:20 [401092] DEBUG: recording length from VPS events:                      10199s -> 2:49:59h
    Tue Apr 25 17:52:20 [401092] DEBUG: advertisement quote 24%

    Woher soll die Info der Netto-Sendungszeit herkommen?

    Das markad Plugin kann die VPS Start und Stop Events mitschreiben (markad.vps). Damit habe ich die Start/Ende Zeit für die Sendung inkl. Werbung. Selbst wenn der Zeitpunkt der Events nicht genau stimmt, die Länge die sich daraus ergibt passt hinreichend gut. Vor- und Nachauf ist dann auch schon weg, egal wie lange der war.