Markad

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

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.

Status

Letztes Update 09/2012

Funktionsweise

Merkmale für Marken

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
 Markad cc43 169.jpg
 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
 Markad pro7letterbox.jpg
 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)

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
 Markad voxhd43.jpg
 Die Werbeerkennung erfolgt hier aufgrund der vertikalen schwarzen Balken

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
Logoerkennung.png

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.

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

Hardwareanforderungen

Keine

Softwareanforderungen

  • VDR >= 1.6
  • libavcodec >= 51 (für HDTV >= 52)

Installation

Konfiguration

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
<width> (50-480), default 192 (SD) 288 (HD)
<height> (20-250), default 100 (SD) 180 (HD)

-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

Tipps

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.

Schnittmarken verschieben

Um das Schnittmarken zu verschieben, sollte man die Aufnahme starten und die einzelnen Schnittmarken mit den Tasten
7
(springt zurück) oder
9
(springt vor) der Fernbedienung ansteuern und mit
4
(zurück) oder
6
(vor) feinjustieren. Ist man mit dem Ergebnis zufrieden, drückt man die
2
: Der Schnitt wird nun gestartet. Eine Ausführliche Beschreibung zum Thema Schneiden einer Aufzeichnung findet Ihr hier: Benutzerhandbuch

Wer ohne Kopie schneiden möchte, sollte sich cutinplace mal genauer anschauen.

Werbung überspringen

Für das überspringen der von markad erzeugten Schnittmarken, bei der Wiedergabe von Aufnahmen, empfiehlt sich der jumpplay-patch.

Entwicklerversion

git clone git://projects.vdr-developer.org/vdr-plugin-markad.git

Aktuelle Version

Version 0.1.4

Links

  1. Homepage des Programms