Markad
Woppr (Diskussion | Beiträge) (→Aktuelle Version) |
(→Status) |
||
(4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 9: | Zeile 9: | ||
===Status=== | ===Status=== | ||
− | + | 2023-09-18: Wird aktiv gepflegt, aktuelles Wiki: https: //github.com/kfb77/vdr-plugin-markad/wiki | |
==Funktionsweise== | ==Funktionsweise== | ||
Zeile 215: | Zeile 215: | ||
==Entwickler== | ==Entwickler== | ||
− | + | VERALTET! git clone git://projects.vdr-developer.org/vdr-plugin-markad.git | |
− | + | Aktuell: https: //github.com/kfb77/vdr-plugin-markad | |
− | + | ||
− | [ | + | ==Aktuelle Version== |
+ | [https: //github.com/kfb77/vdr-plugin-markad master] | ||
==Links== | ==Links== |
Aktuelle Version vom 18. September 2023, 08:59 Uhr
Inhaltsverzeichnis |
[Bearbeiten] Beschreibung
Autor: Jochen Dolze
Ein Programm zum automatischen Setzen von Schnittmarken bei Werbeeinblendungen während einer Sendung. Zusätzlich versucht markad noch den Start und das Ende einer Sendung zu erkennen, dies kann aber nur unter bestimmten Umständen richtig erfolgen und ist nicht Hauptaufgabe des Programms.
Anschließend kann man beim Abspielen mit Hilfe der Schnittmarken die Werbung überspringen oder die Aufnahme schneiden lassen. Je nach Sender und Sendung ist die Erkennung jedoch nicht perfekt und sollte manuell kontrolliert/überarbeitet werden.
Markad ist jeweils als eigenständiges Programm oder als Plugin verfügbar.
[Bearbeiten] Status
2023-09-18: Wird aktiv gepflegt, aktuelles Wiki: https: //github.com/kfb77/vdr-plugin-markad/wiki
[Bearbeiten] Funktionsweise
[Bearbeiten] Merkmale für Marken
[Bearbeiten] SD-Material
- Änderung des Bildseitenverhältnisses von 4:3 auf 16:9 (und umgekehrt)
- Änderung der Anzahl verwendeter Tonkanäle bei DolbyDigital Tonspuren (Werbung derzeit immer 2-Kanal)
- Schwarze, horizontale Balken ("letterbox") bei Sendungen im Format 4:3 und 16:9
- Änderung des Logos bei Sendungen im Format 16:9
Beispiel für die Änderung des Bildseitenverhältnisses von 4:3 auf 16:9, das linke Frame ist in 4:3, die rechten beiden in 16:9. Die Auflösung des Videostreams betrug nur 544x576i25, deshalb ist die Änderung mit bloßem Auge nicht wirklich ersichtlich Die Werbeerkennung erfolgt hier aufgrund der Änderung des Bildseitenverhältnisses
Beispiel für eine Sendung in 4:3 Letterbox (linker Frame im Bildseitenverhältnis 4:3 mit großen horizontalen Balken), auf die eine Sendung im Kinoformat folgt (1,85:1 oder 2,35:1 - die rechten beiden Frames im Bildseitenverhältnis 16:9 mit dünneren horizontalen Balken). Die Auflösung des Videostreams betrug 720x576i Die Werberkennung (bzw. Erkennung des Filmendes) erfolgt beim Film links aufgrund der Änderung des Bildseitenverhältnisses, beim Film rechts aufgrund der schwarzen horizontalen Balken (oder wenn vorhanden anhand einer DolbyDigital5.1 Tonspur)
[Bearbeiten] HD-Material
- Änderung der Anzahl verwendeter Tonkanäle bei DolbyDigital Tonspuren (Werbung derzeit immer 2-Kanal)
- Schwarze, vertikale Balken bei Sendungen im Format 4:3 (Bildseitenverhältnis 16:9)
- Änderung des Logos
Beispiel für eine "HD"-Sendung im Format 4:3 bei einer Auflösung von 1920x1080i Die Werbeerkennung erfolgt hier aufgrund der vertikalen schwarzen Balken
[Bearbeiten] Logoerkennung
Die Logoerkennung benötigt 4 Schritte:
- Dekodierung des Videostreams und Ausschnitt des interessanten Bildbereichs
- Kantendetektierung mittels Sobel-Operator
- Maskierung mit vorhandenem Logo
- Vergleich des Ergebnisses mit dem vorhandenem Logo (aus dem letztem Schritt)
Beispiel für eine Logoerkennung bei der nur die Luminanz-/Helligkeits-Information Y zur korrekten Erkennung benötigt wird. Das dritte Bild entspricht dem manuell Extrahiertem Logo (Option -L), das standardmäßig in /var/lib/markad zu finden ist
Wenn das Bild im Kontrast zum Logo zu hell ist, liefert die Kantendetektierung schlechte
Ergebnisse. Dann kann es vorkommen,
das ein Logowechsel nicht oder zuviel erkannt wird.
[Bearbeiten] Probleme
markad kann den Anfang und das Ende einer Sendung markieren, dies erfolgt nach den gleichen Kriterien wie bei der Markierung von Werbeblöcken (wenn keine Start-/Endemarkierung erkannt werden kann wird der Zeitpunkt für den Timervorlauf/-nachlauf verwendet).
Bei folgenden Konstellationen liefert markad schlechte Ergebnisse bei der Start-/Endeerkennung:
- einer Sendung in 16:9/Stereo folgt eine weitere Sendung in 16:9/Stereo ohne Logounterbrechung
- einer Sendung in 4:3 folgt eine weitere Sendung in 4:3 ohne Wechsel des Bildseitenverhältnisses
Generell ist die Logoerkennung die schlechteste aller möglichen Erkennungsarten, denn:
- Senderlogos werden nicht am Beginn einer Sendung gezeigt, sondern n Sekunden später (bzw. hüpfen von der Mitte an die spätere Endposition), markad markiert aber erst bei sicher erkanntem Logo
- Einzelne Spots direkt vor dem eigentlichen Werbeblock werden mit Senderlogo ausgestrahlt, diese werden fälschlicherweise Teil der Sendung
[Bearbeiten] Hardwareanforderungen
Keine
[Bearbeiten] Softwareanforderungen
- VDR >= 1.6
- libavcodec >= 51 (für HDTV >= 52)
[Bearbeiten] Installation
[Bearbeiten] Konfiguration
[Bearbeiten] Optionen
Kurz | Lang | Beschreibung |
---|---|---|
-b | --background | lässt markad als Hintergrundprozess laufen |
-d | --disable=<option> | Schaltet Dekodierungen ab (nur verwenden, wenn man weiss was man macht!)
1 = Videodekodierung abschalten, 2 = Audiodekodierung abschalten, 3 = Video- und Audiodekodierung abschalten |
-i | --ignoreinfo=<info> | Ignoriert Informationen aus der info-Datei
4 = Timerinfo ignorieren |
-l | --logocachedir | Verzeichnis der Vergleichslogos |
-p | --priority | Priorität wenn markad als Hintergrundprozess läuft [20...-20] default: 20 |
-r | --ioprio=<class>[,<level>] | I/O-Priorität wenn markad als Hintegrundprozess läuft
<class> 1 = Echtzeit (level 0-7, default: 4), 2 = Ausgewogen (level 0-7, default: 4), 3 = Leerlauf |
-v | --verbose | erhöht den Log-Level, kann mehrfach angegeben werden |
-B | --backupmarks | sichert eine vorhandene marks.vdr nach marks0.vdr |
-G | --genindex | erstellt einen Index, wenn der originale Index nicht vorhanden oder defekt ist |
-I | --saveinfo | speichert erkannte Änderungen in der info(.vdr) Datei (z.B. Anzahl Kanäle bei Dolbydigital) |
-L | --extractlogo=<direction>[,width,[height]] | extrahiert ein Logo von einer Aufnahme ins /tmp-Verzeichnis
<direction> 0 = links oben, 1 = rechts oben, 2 = links unten, 3 = rechts unten |
-O | --OSD | sendet eine OSD-Message an VDR für Start und Ende |
-R | --log2rec | speichert das Logfile ins Aufnahmeverzeichnis |
-T | --threads=<number> | Anzahl der Threads für libavcodec, max. 16 (default: Anzahl der CPUs) |
-V | --version | zeigt die Versionsnummer und beendet markad dann |
--loglevel=<level> | Setzt das loglevel auf einen bestimmten Wert 1=error 2=info 3=debug 4=trace | |
--markfile=<markfilename> | setzt einen anderen <markfilename>, nur für Testzwecke | |
--nopid | erstellt keine markad.pid Datei im Aufnahmeverzeichnis | |
--online={1,2} (default is 1) | Wenn dieser Parameter angegeben ist, wird markad bei Aufruf mit cmd=before bereits während der Aufzeichnung
gestartet. Ist --online=2 angegeben, passiert dies bei jeder Aufnahme, sonst nur bei live-Aufnahmen. Der Online-Scan startet ca. 10 Sekunden nach Beginn der Aufnahme und wird danach alle 15 Sekunden fortgesetzt. | |
--pass1only | Nur den ersten Durchgang (Marken setzen) | |
--pass2only | Nur den zweiten Durchgang (Überlappungserkennung) | |
--svdrphost | Zielrechner für OSD-Meldungen. Default: 127.0.0.1 | |
--svdrpport | Port für OSD-Meldung. Wird aus der /etc/services gelesen, default: 2001 |
[Bearbeiten] Tipps
[Bearbeiten] Schneidefunktion
Wer mit markad Werbung in Filmen markiert hat, sollte nicht unbesehen die Schneidefunktion in VDR für diesen Film aktivieren. Je nachdem, wie ein Sender Werbung einblendet, können einige Werbebilder erhalten bleiben oder einige Filmbilder zuviel rausgeschnitten werden. Auch am Anfang können Szenen verloren gehen, wenn z. B, der Film schon begonnen hat, aber der Text mit dem Vorspann erst später gezeigt wird.
[Bearbeiten] Schnittmarken verschieben
Um das Schnittmarken zu verschieben, sollte man die Aufnahme starten und die einzelnen Schnittmarken mit den TastenWer ohne Kopie schneiden möchte, sollte sich cutinplace mal genauer anschauen.
[Bearbeiten] Werbung überspringen
Für das überspringen der von markad erzeugten Schnittmarken, bei der Wiedergabe von Aufnahmen, empfiehlt sich der jumpplay-patch.
[Bearbeiten] Entwickler
VERALTET! git clone git://projects.vdr-developer.org/vdr-plugin-markad.git
Aktuell: https: //github.com/kfb77/vdr-plugin-markad
[Bearbeiten] Aktuelle Version
[https: //github.com/kfb77/vdr-plugin-markad master]