Posts by kfb77

    CKone und ofenheizer

    Wenn ich das richtig verstanden habe, startet ihr markad aus einem eigenen Befehl in der Reccmds.conf. Zumindest habe ich im VDR Standard Menü nichts gefunden, mit dem man markad manuell starten könnte.

    Wenn ihr das unbedingt so beibehalten wollt, nur markad auf dem Server starten wollt, gibt es eine ganz einfache Lösung:

    Ändert in eurem Skript den Aufruf von markad <Pfad zur Aufnahme auf dem Client> in:

    svdrpsend -d <Server Name oder IP> PLUG markad mark <Pfad zur Aufnahme auf dem Server>

    Die Funktion markad über svdrpsend zu starten gab es schon immer.

    ofenheizer

    Ich habe eine Anleitung gebaut:

    Die fehlende Datei und die o.g. Anleitung findest du auf dem aktuellen Entwickler Branch im git:

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

    kls

    Kann es sein, dass Speicher für Konfigurationsmenue Punkte, die über z.B. "new cMenuEditBoolItem" erzeugt werden, vom VDR selbst beim Schießen des Menues wieder freigegeben werden ? Ich kann keine Stelle finden, wo ich das wieder freigeben könnte.

    Das verstehe ich den Nutzen nicht. Warum nicht sowie jede Aufnahme mit markad auf dem Server bearbeiten ? Dann sind die Marken mal auf jeden Fall da und der Client kann es nutzen oder auch nicht. Falls es alte Aufnahmen ohne Marken gibt, dazu liegt im Source Code unter contrib ein Skript, dass markad auf ein Videoverzeichnis laufen lässt. Möchte man alle Marken, z.B. mit einer neuen Version, neu erstellen lassen, einfach überall marks löschen und wieder das Skript laufen lassen. Ich rufe das Skript aus cron.hourly auf, damit werden regelmäßig alle neuen Aufnahmen auf dem Server bearbeitet.

    markad - das du erwähnst - braucht sogar weniger im Laufe der Zeit (von ca. 100 MB auf ca. 50MB im letzten Log)

    markad verbraucht nur Speicher, wenn es gerade eine Aufnahme bearbeitet. Wieviel, hängt stark vom Codec der Aufnahme und ob es gerade versucht ein Logo in der Aufnahme zu finden. Dabei kann es auch kurzzeitig noch viel mehr sein. Auf jeden Fall wird am Ende der Bearbeitung das Programm beendet und vom Betriebssystem vollständig aus dem Speicher geworfen. markad läuft als eigenes Programm im eigenen Speicherbereich und kann nicht den Speicherverbrauch vom VDR erhöhen.

    Die libvdr-markad.so (also das Plugin, das markad startet) hat nur die Funktion markad zu starten und eine Konfigurationsoberfläche. Ich bin gerade dabei den Code zu prüfen. Da dauert noch, bei fremdem Code muss man sich zuerst zurechtfinden, aber auf den ersten Blick habe ich da schon ein paar memory leaks in der Konfigurationsoberfläche gefunden. Das sind nur ein paar kBytes und nur, wenn man an der Konfiguration was ändert. Kann nicht die Ursache für o.g. Leaks sein, aber schön ist das nicht. Ich werde mich drum kümmern.

    Ich vermute eventuel markad, da sich der Verbrauch erhöht hat, seit dem Update auf die kfb77-Version. War aber vorher auch schon...

    Nichts ist unmöglich, aber eher unwahrscheinlich, da das Plugin fast nichts macht, sondern nur im VDR Recording Event Händler hängt und wenn da was ankommt, markad startet. markad wird für jede Aufnahme neu gestartet und somit räumt spätestens am Ende der Bearbeitung das Betriebssystem den Speicher vollständig auf.

    Ich habe (bis jetzt) am Plugin fast nichts geändert, sondern nur ein paar zusätzliche Parameter eingebaut. Die eigentliche Funktion ist ja außerhalb dem Plugin.

    Entferne doch zum Test einfach mal den Link /etc/vdr/conf.d/50-markad.conf, dann wird nach einem Neustart des VDRs das Plugin nicht mit gestartet. Interessant wäre, ob dann der Memory Leak immer noch da ist.

    Unter contrib im Source Code liegt ein Script, mit dem man markad auf vorhandene Aufnahmen starten kann ohne das Plugin.

    Danke für das Angebot, werde bei Bedarf gerne darauf zukommen. Ich lassen jetzt noch meinen Massentest laufen, um sicherzustellen, dass die Änderungen nichts kaputt gemacht haben. Wenn es dabei nichts auffälliges gibt, werde ich morgen eine neue Version releasen.

    nasenbär

    Bitte teste mal mit dem aktuellen Stand aus

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

    Für "Attack_on_Titan" gab es sogar zwei Bugs:

    1. die Aufnahme hat einen Stream mit Codec ID 100359, vermutlich Untertitel, den libavcodec nicht kennt. Der muss wohl wirklich exotisch sein, nicht mal vlc Player erkennt den und der erkennt normalerweise sehr viel.

    2. Die interne Timer Variable fängt nach einem Maximalwert wieder vorne an. Das hatte ich bis jetzt nur bei einem sehr alten libavcodec gesehen. Liegt wohl aber an der Aufnahme, nicht am libavcodec.

    Die Aufnahmen haben mir sehr gut weitergeholfen, ohne die hätte ich noch lange im Nebel gestochert.

    Die K_Project läuft jetzt mit dem aktuellen Git Stand, der Fehler war wo ganz anderes, wie ich vermutet hatte: Ich versuche, 1.000 iFrames von der Aufnahme zu lesen, um darin nach dem Logo zu suchen. Die Aufnahme hat aber nur 897 iFrames.

    cExtractLogo::SearchLogo(): end of recording reached at frame (50766), read (897) iFrames and got (897) valid iFrames, try anyway

    Ich habe das so geändert, dass markad auch weniger akzeptiert.

    Um den AVlog() Spam kümmere ich mich mal bei Gelegenheit, jetzt kommt zuerst Mal "Attack_on_Titan" dran. Da habe ich auch schon einen Verdacht …

    Sieht gut aus, geht aber trotzdem nicht. An die Stelle, wo du raus fliegst, dürftest du eigentlich nur bei einer laufenden Aufnahme kommen.

    Ziehe bitte nochmals die V02, jetzt mit Log für die Größe des Index. Im ls sieht er gut aus, aber vielleicht bekomme ich hier was falsches.

    Sorry, ich stochere im Nebel, so ein Problem hatte ich noch nie.

    So langsam kommen wir der Sache näher: Da stimmt was nicht mit den Uhrzeiten, die ich zurück bekomme.

    Teste bitte nochmals nachdem du den Branch V02 aktualisiert hast. Ich schreibe mir jetzt die Uhrzeiten ins Log.

    Wie hast du die Video Platte gemountet ? Kann es sein, dass er die mtime nicht aktualisiert ?

    Edit: oder die Systemzeit stimmt nicht.

    Sorry, mein Fehler, ich habe mich mit den Stellen verhauen, ich dachte das sind 400MB, aber du hast Recht, es sind 4 GB. Das passt so.

    Dann verstehe ich habe erst Recht nicht, warum markad behauptet, die Aufnahme wäre abgebrochen. Ist das eine lokale Platte oder liegen die Aufnahmen auf einem NAS ?

    Falls deine Nextcloud das her gibt, gerne ein tar vom der ganzen Aufnahme. Ich wollte schon immer mal eine vollständige Aufnahme zum Testen haben.

    Nasenbaer

    Hast du eine Möglichkeit, dass ich die Tele5 Aufnahme runterladen kann ? Am besten ein tar auf das ganze Verzeichnis, dann habe ich die anderen VDR Files auch.

    Die zweite Aufnahme scheint unterbrochen worden zu sein. Darum sind nicht genug Frames zusammen gekommen um ein Logo zu finden.

    Auch eine erste Aufnahme scheint unterbrochen worden zu sein, oder hast du so eine niedrige File Größe einstellt ? Schaue mal in dein syslog, ob du da VDR Restart Meldungen findest.

    Die AVLog() Meldungen im Log File sind von der avcodec lib, die ich nur in das markad.log umgeleitet habe, Solche habe ich schon hin und wieder bei meinen Aufnahmen auch gesehen, aber ohne Auswirkung auf das Ergebnis.