Eine neue Version 2.3.5 ist auf vdr-plugin-markad verfügbar.
Sie enthält viele kleinere Optimierungen, insbesondere Verbesserungen beim Extrahieren des korrekten Logos aus der Aufnahme (autologo).
Eine neue Version 2.3.5 ist auf vdr-plugin-markad verfügbar.
Sie enthält viele kleinere Optimierungen, insbesondere Verbesserungen beim Extrahieren des korrekten Logos aus der Aufnahme (autologo).
Auch mit dieser Version ist die Endeerkennung nur ungenügend. Hab hier mal ein Beispiel-Logfile angehängt für einen Film, der eigentlich doch sauber erkennbar sein sollte an den "vertical Borders". Der Start wird auch richtig erkannt. Das Ende ist dann aber wieder am Ende der Aufzeichnung (1:20:25.43) und nicht am Ende des Films (ca 0:59:01.49). Ich nehme immer mit 20min Nachlauf auf. Warum wird das Ende der "vertical Borders hier nicht richtig erkannt? In die marks Datei habe ich mal die wirkliche Endemarke mit eingetragen.
Vielleicht kannst du das ja nochmal überprüfen, wenn du Zeit findest.
Wenn du noch Infos brauchst oder die Aufzeichnung sag bitte Bescheid. Ich könnte die auf meinen FTP-Server legen.
Gruß
msv
Hallo msv
die saubere Ende Erkennung ist wirklich noch ein Problem, das ich noch nicht zufriedenstellend lösen konnte. Oft geht es nicht besser, weil die nächste Sendung nahtlos beginnt. Grundsätzlich ist meine Strategie da auch, lieber zu spät, als mal das Ende abschneiden.
Nach deiner Beschreibung der Aufnahme müsste aber eine korrekte Erkennung möglich sein. Wenn da wirklich bei ca. 0:59:01.49 ein Ende des vertical borders ist, wird der nicht erkannt und das würde ich dann auch gerne beheben.
Das muss ich mir mal im Video selbst anschauen. Bitte stelle mir ein tar vom Aufnahmeverzeichnis auf deinen Server. Dann habe ich auch das info File und deine originalen time stamps, aus denen ich Vor- und Nachlauf berechne.
Noch zwei weitere Anmerkungen:
- du hast --saveinfo an, warum ? Das Plugin stammt ja nicht von mir, ich habe es nur irgendwann angefangen weiter zu entwickeln. Den Sinn dieser Funktion habe ich aber nie verstanden. VDR selbst wird schon wissen, was er da rein schreibt und wird das wohl auch richtig machen, oder ?
- seit der Version 2.3 gibt es die Möglichkeit, VPS Events zusätzlich als Information für die Start/Ende Erkennung zu nutzen. Das kann man in der Plugin Konfiguration anschalten. Es funktioniert nur bei den ÖR Sendern, weil nur diese gültige VPS Events senden. In deinem Fall mit SWR hätte es funktioniert.
Hi,
ich habs mal auf meinen FTP Server gelegt. Zugangsdaten gibts per PM.
Wegen --saveinfo kann ich nicht sagen. Hat aber bisher nicht gestört. Ich benutze markad aber schon seit den ersten Tagen. Wird wohl mal in irgend einem Thread als Empfehlung gestanden haben.
Gruß
msv
Der erste Verdacht war falsch, die Erkennung vom vertical border funktioniert korrekt, trotz des lila Streifen.
Der Fehler liegt in der Berechnung der Timestamps bei mehreren TS Files. Ein "+" zu viel und alle Zeiten ab der zweiten TS sind falsch.
- pts_time_ms_LastFile += iFrameInfoVector.back().pts_time_ms;
+ pts_time_ms_LastFile = iFrameInfoVector.back().pts_time_ms;
Mir ist das bei meinen eigenen Test nie aufgefallen, weil ich VDR nur als Backend nutze und die interne Schnittfunktion von markad verwendet die gleiche Funktion. Wenn man zwei Mal den gleichen Fehler macht, stimmt das Ergebnis wieder (manchmal).
msv Vielen Dank für den Hinweis und für das Test Video, das hat mich auf die richtige Spur gebracht. Bitte teste mal die Version von
git clone -b V02 https://github.com/kfb77/vdr-plugin-markad
ob die Schnittmarke jetzt auch auf der VDR Wiedergabe stimmt. Zumindest im marks File sieht es jetzt so aus, wie du oben geschrieben hast.
Das Ergebnis deiner Änderungen ist sehr gut. Ich habe markad jetzt mal über mehrere Aufnahmen laufen lassen. Die Ende Erkennung scheint jetzt meißtens richtig zu laufen, sofern sich am Ende wirklich etwas ändert.
Danke für die Arbeit!
msv
danke für den Test und die Bestätigung.
Da sich der Bug auf alle Aufnahmen auswirkt, die aus mehreren TS Files bestehen, habe ich den Fix auch gleich getaggt.
Eine neue Version 2.3.6 ist auf vdr-plugin-markad verfügbar.
Sie enthält ausschließlich den o.g. Fix.
Eine neue Version 2.4.0 ist auf vdr-plugin-markad verfügbar.
Neues Feature: Schon lange haben mich die Texte neben/unter den Logos (z.B. "Live" oder "neue Folge") beim Erzeugen des Logos aus der Aufnahme (--autologo) geärgert. Solange sie während der ganzen Sendung eingeblendet wurden, war es egal, aber das ist nicht immer der Fall. Sobald der Text nicht mehr eingeblendet wird, stimmen die weiteren Marken nicht mehr. Um das Problem zu lösen, erkennt markad jetzt den Text und schneidet ihn raus.
Performance: Das Finden des Logos aus der Aufnahme (also --autologo=2 und kein passendes Logo im --logocachedir=...) braucht jetzt deutlich weniger Speicher und CPU. Damit müsste die Funktion auch besser auf nicht so leistungsfähigen System laufen. Wer sich der Aktualität seiner Logos nicht sicher ist, sollte versuchen, ob es jetzt nicht besser funktioniert mit --autologo=2 und --logocachedir=/tmp (absichtlich falsches Verzeichnis, damit markad alle Logos selber erstellen muss). Ich habe damit bei meinen Aufnahmen gute Erfahrungen gemacht.
Eine neue Version 2.4.1 ist auf vdr-plugin-markad verfügbar.
Die Version enthält eine Optimierung für bewegliche Logos (z.B. für den drehenden Ball) sowie einige kleinere Fehlerbereinigungen und Optimierungen.
kleine Frage: Wo bekommen ich den die initialen Logos für /var/lib/markad her?
Antwort 1: Aus der Distribution, die du verwendest
Antwort 2: Du brauchst keine, mit autologo=2 ermittelt er die selbst aus der Aufnahme
Nein, gibt es nicht und wird es auch nicht geben: Einige Sendungen haben eigene Logos und wenn du zufällig so eines automatisch in den Cache kopieren würdest, geht ab da nichts mehr. Eine manuelle Endkontrolle ist notwendig.
Aber warum überhaupt den Cache verwenden ? Die paar Sekunden zusätzliche Rechenzeit stören mich nicht.
Und du musst darauf achten, dass die gespeicherten Logos aktuell bleiben. Die Sender ändern die manchmal.
Ah ok danke für die Info. Ich war der Meinung das Erkennen kostet viel mehr Zeit/Performance....
Dank einiger Optimierungen ist das nicht mehr so tragisch. Kannst ja mal im Aufnahmeverzeichnis in die markad.log schauen, da steht in der aktuellen Version am Ende des Log Files drin, wie lange er für das Logo extrahieren gebraucht hat. Bei mir sind es im Durchschnitt 13s.
nach längerer ZEit hab ich auch mal wieder aktualisiert und bekomme es nicht mehr durch den xenial compiler.
habe dann für Plugin uns Command Tool an einigen stellen diese Änderungen analog zu 2.1.2 (die hatte ich bisher) zurückgenommen und jetzt kompiliert es.
bzw.
Frage ist blauäugig ob es damit nur kompiliert oder auch funktioniert?
danke
Christian
Meine Entwickler Plattform ist focal, somit ist auch der Compiler einige Versionen neuer.
Frage ist blauäugig ob es damit nur kompiliert oder auch funktioniert?
Ja, müsste gehen, aber ich habe das trotzdem mal gefixed. Da waren auch noch einige warnings unter xenial drin. Und ich vermute mal, du hast nicht den VDR 2.2.0 aus der Distribution, weil damit sind noch mehr Compile errors drin.
Teste mal bitte mit git clone -b V02 https://github.com/kfb77/vdr-plugin-markad.
kam auch nur noch eine mini Warning
Den habe ich eigentlich auch gefixed. Hast du eine andere ffmpeg Version als üblich ?
Das müsste original xenial drauf sein:
root@VDR-1604-Dev:/usr/src/git/vdr-plugin-markad# ffmpeg
ffmpeg version 2.8.17-0ubuntu0.1 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.12) 20160609
configuration: --prefix=/usr --extra-version=0ubuntu0.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 40.101 / 5. 40.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
Use -h to get full help or, even better, run 'man ffmpeg'
Alles anzeigen
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!