Noad
Hulk (Diskussion | Beiträge) (→Links) |
Hulk (Diskussion | Beiträge) K (→Debian) |
||
Zeile 53: | Zeile 53: | ||
===[[Debian]]=== | ===[[Debian]]=== | ||
− | + | apt-get install libmpeg2-4-dev | |
− | apt-get install | + | |
− | + | ||
− | + | ||
===[[Gentoo NoAd]]=== | ===[[Gentoo NoAd]]=== |
Version vom 23. Dezember 2009, 07:45 Uhr
Inhaltsverzeichnis |
Beschreibung
Ein Programm zum automatischen Setzen von Schnittmarken für Werbeeinblendungen in VDR-Aufnahmen. Dazu werden die Senderlogos und z.B. die AC3 Tonerkennung benutzt.
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.
Hardwareanforderungen
Keine.
Softwareanforderungen
- libmpeg2
- imagemagick (optional)
- ffmpeg (optional für "audio silence detection")
Installation
Source
Imagemagick, siehe text2skin-plugin
cd $SOURCEDIR tar xvzf mpeg2dec-<VERSION>.tar.gz cd mpeg2dec-<VERSION> ./configure --prefix=/usr/local make make install cd - tar xvzf ffmpeg-<VERSION>.tar.gz ln -s ffmpeg-<VERSION> ffmpeg cd ffmpeg ./configure --prefix=/usr/local \ --enable-shared make make install ldconfig cd - tar jxvf noad-<VERSION>.tar.bz2 cd noad-<VERSION> ./configure --with-ffmpeg \ --with-ffmpeglibdir=/usr/local/lib \ --with-ffmpeginclude=/usr/local/include/ffmpeg \ --with-mpeginclude=/usr/local/include/mpeg2dec make make install
Arch-Linux
pacman -S libmpeg2 ffmpeg <BITTE ERGÄNZEN>
Crux
prt-get depinst mpeg2dec ffmpeg <BITTE ERGÄNZEN>
Debian
apt-get install libmpeg2-4-dev
Gentoo NoAd
Für Details siehe Link Gentoo NoAd.
SuSE
yast -i libmpeg2 libmpeg2-devel <BITTE ERGÄNZEN>
Konfiguration
Noad startet man am besten aus der reccmds.conf heraus über das hier hinterlegte noad.sh Skript.
Starte Werbefilter : $PATH/noad.sh -start Starte Werbefilter, alle Aufnahmen (batch)? : $PATH/noad.sh -batch Aktive Werbefilter : $PATH/noad.sh -count Beende Werbefilter (killpid) : $PATH/noad.sh -killpid Beende Werbefilter (killall)? : $PATH/noad.sh -killall Löschen der Schnittmarken : $PATH/noad.sh -rmmarks Löschen aller Schnittmarken? : $PATH/noad.sh -rmallmarks
Es ist auch möglich Noad automatisch über die rwrapper.sh anschubsen zu lassen, dafür diese wie folgt anpassen:
NOAD="1" # (0=off,1=on,2=online mode)
# set the noad online-mode here # 1 means online for live-recording only # 2 means online for every recording ONLINEMODE="--online=1"
Und VDR mit der entsprechenden Option übergeben.
-r $PATH/rwrapper.sh
Probleme
Noad beendet sich nicht, wenn während des Scans die Aufnahme gelöscht wird
Wenn eine Aufnahme gelöscht wird, während Noad läuft, bleibt der Prozess hängen und Noad beendet sich nie. Das kann dazu führen, dass sich der VDR nicht herunterfährt.
Abhilfe schaffen folgende Patches:
http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-video/noad/files/patches-0.6.0/delete-while-scanning.diff http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-video/noad/files/patches-0.6.0/hangcheck.diff
Alternativ besteht auch die Möglichkeit die Ressourcen von Noad mittels "ulimit" zu begrenzen. Diese Variante hat den Vorteil, dass Noad nicht neu kompiliert werden muss und sich daher problemlos "nachrüsten" lässt.
http://www.vdr-portal.de/board/thread.php?threadid=69947 http://www.vdr-portal.de/board/thread.php?threadid=50881
0 Byte Dateien
Sollte Noad auf eine *.vdr Datei treffen, die 0 Byte groß ist, so werden keine Schnittmarken erzeugt. Damit es doch funktioniert, muß man diese Datei löschen und alle weiteren *.vdr Dateien in die richtige Reihenfolge umbenennen, d.h. wird 001.vdr gelöscht wird 002.vdr zu 001.vdr usw. Danach muß die Datei index.vdr neu generiert werden. Dies kann mit dem Programm genindex geschehen. Dann die alte index.vdr umbenennen und den neuen Index unter index.vdr abspeichern. Nun sollte noad wieder Schnittmarken setzen.
Segmentation fault ("--asd")
Mit der Option --asd, gibt es einen Fehler...
noad[16052]: noad aborted by signal Segmentation fault noad[16052]: [bt] Execution path: noad[16052]: [bt] noad [0x805c49d] noad[16052]: [bt] noad [0x8058aa0] noad[16052]: [bt] [0xffffe420] noad[16052]: [bt] /usr/local/lib/libavcodec.so(avcodec_open+0x21) [0xb7e5e9c1] noad[16052]: [bt] noad [0x805832a] noad[16052]: [bt] noad [0x804ede1] noad[16052]: [bt] noad [0x8051d81] noad[16052]: [bt] noad [0x80538d6] noad[16052]: [bt] noad [0x8053c67] noad[16052]: [bt] noad [0x8058715] noad[16052]: [bt] noad [0x80590bc] noad[16052]: [bt] /lib/libc.so.6(__libc_start_main+0xcb) [0xb7c47e0b] noad[16052]: [bt] noad(__gxx_personality_v0+0x7d) [0x8049bb1]
Optionen
Kurz | Lang | Beschreibung |
---|---|---|
-s | -statisticfile= | Name der Datei, in der Statistik-Daten gespeichert werden |
-v | --verbose | erhöht den Log-Level, kann mehrfach angegeben werden |
-b | --background | lässt noad als Hintergrundprozess laufen |
-p | --priority | Priorität wenn noad als Hintergrundprozess läuft [20...-20] default: 20 |
-c | --comments | fügt Kommentare zu den Marken hinzu |
-o | --overlap | erkennt Wiederholungssequenzen vor/nach der Werbung |
-a | --ac3 | experimentell: nutzt in Aufnahmen mit AC3-Sound die Sound-Umschaltungen 5.1/2.0 zur Erkennung von Werbeblöcken |
-j | --jumplogo | erkennt vertikal verschobene Senderlogos |
-O | --OSD | sendet eine OSD-Message an VDR(localhost:2001) für Start und Ende |
-S | --savelogo | speichert das erkannte Logo |
-B | --backupmarks | sichert eine vorhandene marks.vdr nach marks0.vdr |
-n | --nelonen | Speziell für finnische Sender |
-V | --version | zeigt die Versionsnummer und beendet noad dann |
--markfile=<markfilename> | setzt einen anderen <markfilename>, nur für Testzwecke | |
--asd | audio silence detection, noad muß mit ffmpeg-Support kompiliert sein (siehe configure --help) | |
--online={1,2} (default is 1) | Wenn dieser Parameter angegeben ist, wird noad 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. 2 Minuten nach Beginn der Aufnahme und wird danach alle 15 Sekunden fortgesetzt. |
Tipps
Schneidefunktion
Wer mit noad 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.
Ergebnis optimieren
Um das Ergebnis zu optimieren, sollte man die Aufnahme starten und die einzelnen Schnittmarken mit den TastenWer ohne Kopie schneiden möchte, sollte sich cutinplace mal genauer anschauen.
Werbung überspringen
Für das überspringen der von noad erzeugten Schnittmarken, bei der Wiedergabe von Aufnahmen, empfiehlt sich der jumpplay-patch.