Noad

Aus VDR Wiki
Wechseln zu: Navigation, Suche

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
  • ffmpeg (optional für "audio silence detection")
  • mpeg2dec

Installation

Source

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:

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.

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]

noad 0.7.3 unter openSUSE 12.2 mit gcc 4.7.1 Kompilerfehler

http://www.vdr-portal.de/board16-video-disk-recorder/board55-vdr-plugins/114774-compileprobleme-noad/

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 diese nicht unbesehen herausschneiden, sehr wahrscheinlich müssen die Schnittmarken manuell angepasst werden. Je nachdem, wie ein Sender Werbung einblendet, könnten sonst einige Werbebilder erhalten bleiben oder einige Filmbilder zu viel herausgeschnitten werden.

Werbung überspringen

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

Links

  1. Homepage
  2. HowTo noad-0.6.0 Installation + Möglichkeiten
  3. noad-Patchsammlung
  4. Mpeg2dec
  5. FFmpeg
In anderen Sprachen