SelfLinux Multimedia Video vdr Abschnitt 4 | SelfLinux-0.13.0

| vdr | Autoren Formatierung GFDL

#### 4 Addons

#### 4.1 kvdr

Für die VDR-Software gibt es auch ein Frontend für den KDE-Desktop namens kvdr. Damit ist auf dem Rechner selbst eine Bedienung per Tastatursteuerung möglich ist. Ausserdem wird die Bildschirmausgabe des TV-Ausgangs der DVB-Karte in einem Fenster der X-Oberfläche oder im Vollbild angezeigt. Es lassen sich dafür Helligkeit, Farbe und Kontrast einstellen und abspeichern. Auch Snapshots vom Bildschirminhalt sind machbar. Dieses praktische Programm gibt es auf:

http://www.s.netic.de/gfiala/

Das Kompilieren aus den Sourcen bereitete mir auf meiner SuSE-Distribution bereits mehrfach Probleme. Glücklicherweise gibt es aber auch eine vorkompiliertes Binary, welches nur noch entpackt werden muss und dann aus dem aktuellen Verzeichnis heraus gestartet wird.

root@linux ~# tar -xzvf kvdr-0.51-i386.tgz root@linux ~# ./kvdr

Zur endgültigen Installation sucht man noch ein geeignetes Verzeichnis für das Programm. Dies sollte im Suchpfad für ausführbare Programme eines normalen Users liegen.

user@linux ~$ echo $PATH

Anschließend wechselt man mit dem Befehl su und Eingabe des Administratorpassworts in die Identität von root und verschiebt das Binary z. B. in das für KDE-Programme vorgesehene Verzeichnis /opt/kde2/bin.

user@linux ~$ su root@linux ~# mv kvdr /opt/kde2/bin root@linux ~# exit

Danach kann es als normaler User ganz einfach aufgerufen werden.

user@linux ~$ kvdr

Voraussetzung für die korrekte Funktion ist natürlich, dass die DVB-Treiber und die VDR-Software bereits laufen und der Zugriff über Port 2001 auf den lokalen Rechner mittels SVDRP möglich ist.

#### 4.2 vdradmin

Ebenso wie das graphische Frontend kvdr setzt das hier für die Websteuerung benutzte Perl-Programmpaket vdradmin auf die Möglichkeit der Steuerung über das Netzwerk auf. Viele Funktionen lassen sich nach dessen Installation dann komfortabel per Browsersteuerung erledigen. Sogar eine elektronische Programmzeitschrift auf der Basis der gespeicherten EPG-Daten mit einer Suchfunktion ist integriert. Mit der aktivierten Autotimer-Funktion kann man auch anhand von Suchbegriffen Timer-Aufnahmen automatisch generieren lassen. Die gebotene Weboberfläche ist sehr ansprechend gestaltet und vollkommen selbsterklärend.

http://www.LinVDR.org/download/vdradmin/

Die Installation gestaltet sich zunächst ganz einfach.

root@linux ~# tar -xzvf vdradmin-0.18.tar.gz -C /opt root@linux ~# cd /opt root@linux /opt# chown -R vdr:vdrdaem vdradmin-0.18 root@linux /opt# ln -s vdradmin-0.18 vdradmind

Danach wird das entstandene Unterverzeichnis an den bereits zuvor angelegten Systemuser vdr übergeben und die einmalig durchzuführende Konfiguration erledigt.

root@linux /opt# cd vdradmind root@linux /opt/vdradmind# ./vdradmind.pl --config

Da der Dienst hier auf dem VDR-Rechner selbst installiert wird, ist es sinnvoll bei der Abfrage für den Hostrechner localhost anzugeben. Der SVDRP-Port ist standardmäßig 2001 und sollte so belassen werden. Auch den Vorgabewert des Portes 8001 kann man getrost übernehmen. Über diesen Port ist später die Websteuerung im Netzwerk möglich. Ausserdem vergibt man für den Zugang zum Server-Dämon vdradmind noch einen Usernamen und ein Passwort.

Aus Sicherheitsgründen soll der Serverdienst nicht mit der Berechtigung von root laufen. Der Einfachheit halber habe ich den bereits angelegten Systemuser vdr hierfür vorgesehen. Gestartet und auch wieder gestoppt werden kann der Server dann jederzeit aus dem aktuellen Verzeichnis.

root@linux /opt/vdradmind# su vdr -c ./vdradmind.pl root@linux /opt/vdradmind# ./vdradmind.pl --kill

Ich habe ein sehr einfach gehaltenes SysV-Initskript für den automatischen Start des Servers in den Runleveln 3 und 5 erstellt.

SysV-Initskript

    #! /bin/sh
    #
    # /etc/init.d/vdradmind
    #
    ### BEGIN INIT INFO
    # Provides:       vdradmin
    # Required-Start: $network
    # Required-Stop:
    # Default-Start:  3 5
    # Default-Stop:   0 1 2 6
    # Description:    starts vdradmind
    ### END INIT INFO

    . /etc/rc.status
    rc_reset

    case "$1" in
        start)
            echo -n "Starting Vdradmind: "
            ## Startet vdradmind als User vdr
            ps -A | grep -q -w vdradmind.pl || cd /opt/vdradmind; su vdr -c /opt/vdradmind/vdradmind.pl
            rc_status -v
            ;;

        stop)
            echo "Shutting down Vdradmind"
            ## Stoppt vdradmind
            killall -q vdradmind.pl
            rc_status -v
            ;;

        restart)
            $0 stop
            $0 start
            rc_status
            ;;

        status)
            echo -n "Checking for Vdradmind: "
            ps -A | grep -q -w vdradmind.pl || rc_failed
            rc_status -v
            ;;

        *)
            echo "Usage: $0 {start|stop|status|restart}"
            exit 1
            ;;
    esac
    rc_exit

Das Skript muss ausführbar sein.

root@linux ~# chmod +x /etc/init.d/vdradmind

Anhand der Infozeilen des Skripts werden die notwendigen symbolischen Links automatisch erzeugt.

root@linux ~# insserv -d vdradmind

Die gängigen Distributionen verwenden ähnliche Systematiken für das Runlevelkonzept. Inwieweit dies auf andere Distributionen als auf die von mir verwendetet SuSE 7.3 ohne Anpassungen anwendbar ist, vermag ich nicht zu sagen.

Die Bedienung des VDR-Rechners lässt sich danach von jedem Rechner mit beliebigem Betriebssystem innerhalb des lokalen Netzes bequem erledigen. Hierzu nutzt man einfach in einem gängigen Browser. Auf demselben Rechner kann die Weboberfläche als localhost über den Port 8001 angesprochen werden.

http://localhost:8001/

Von anderen Rechnern im lokalen Netz erreicht man dies über den Rechnernamen oder die IP-Adresse des VDR-Rechners.

http://IP-ADRESSE:8001/

Man muss sich dann noch mit dem gewählten Usernamen und Passwort anmelden. Die Angaben für den Rechnernamen und die IP-Adresse sind dabei natürlich für die eigenen Verhältnisse passend zu wählen.

#### 4.3 epg2timers

Die VDR-Box lässt sich auch ganz einfach über das Internet programmieren. Dazu gibt es im Web eine EPG-basierte TV-Programmzeitschrift mit deren Hilfe man sich sehr übersichtlich und geordnet nach Sparten und Kategorien seine Wunschsendungen und Serien zur Aufnahme markieren kann. Die Nutzung des werbefinanzierten Dienstes ist kostenfrei. Man muss sich lediglich zuvor anmelden. Danach speichert man sich im Setup-Menü die Seite für den schnellen Zugriff auf die persönlichen Einstellungen als Bookmark im Browser. So erhält man dann den schnellen Zugriff zur persönlichen Merkliste mit den vorgemerkten Sendungen.

http://www.tvtv.de

Das Programmpaket epg2timers sorgt dafür, dass diese Merkliste aus dem Internet heruntergeladen und passend aufbereitet wird um damit den Timer des VDR zu füttern.

ftp://ftp.cadsoft.de/pub/people/kls/vdr/Tools/

Installiert wird beispielsweise mit:

root@linux ~# tar -xjvf epg2timers0.9.6.tar.bz2 -C /opt root@linux ~# cd /opt/epg2timers

Das darin enthaltene Perl-Programm get_merkliste.pl lädt dabei die online verfügbare Liste herunter und speichert sie lokal ab. Zuvor ist aber noch die persönliche ID anzupassen. Im Modus zum Bearbeiten der Bookmarks kann man sie einfach mittels Copy und Paste aus der URL des Bookmark-Links im Browser übernehmen.

get_merkliste.pl

    ...
    $filename = "merkliste.html";
    $base_url = "http://www.tvtv.de";
    # Hier das Bookmark von TVTV eintragen:
    @files_to_fetch = ("/cgi-bin/bookmark.cgi?id=1234567890_abcdefghIJKLMNOPQrstuvwXYZ");
    ...

Für diesen Zweck neben Perl noch perl-libwww-perl installiert sein.

Weiterhin wird aus der Sammlung noch epg2timers benötigt, um die in der lokal zwischengespeicherten Datei merkliste.html enthaltenen Daten in das passende Format für VDR zu wandeln. In der Regel kann es ohne weitere Anpassungen einfach kompiliert werden mit:

root@linux ~# g++ epg2timers.cxx -o epg2timers

Im Anschluss daran wird mit dem ebenfalls mitgelieferten Perl-Programm loadvdr.pl der Timer des VDR geupdated.

Alle notwendigen Schritte werden in dem Shell-Script update_timers zusammengefasst. Damit das klappt, ist in der jeweiligen Variablen noch das Verzeichnis, in dem die benötigten Programme zu finden sind hierin anzupassen; ebenso der Aufenthaltsort der Datei channels.conf.

update_timers

    #!/bin/sh

    # update_timers: retrieve a new "merkliste" from http://tvtv.de,
    # convert it to vdr format and transmit it to vdr via SVDRP.

    TOOLDIR="/opt/epg2timers"
    CHANPATH="/usr/local/vdr/etc/channels.conf"
    ...

Nach der Zusammenstellung der gewünschten Sendungen für die Timerprogrammierung im Web kann bei bestehender Verbindung des VDR zum Internet die Aktualisierung des Timers ganz einfach erfolgen mit dem Aufruf:

root@linux ~# /opt/epg2timers/update_timers

Hat der VDR-Rechner ständigen Zugang zum Internet, lässt man das Timer-Update regelmäßig per cron-Job durchführen. Im Falle einer Dial-Up-Verbindung kann man den obigen Aufruf auch in das ip-up-Skript aufnehmen.

Eine andere Möglichkeit ist, das Update händisch aus dem Kommando-Menü des VDR zu starten. Dazu erstellt man ein passendes Skript.

script-Erstellung

    #!/bin/sh
    /opt/epg2timers/update_timers

Diese Skript muss ausführbar gemacht werden.

root@linux ~# chmod +x /usr/local/vdr/epg2timers.sh

Zusätzlich baut man noch folgende Zeile in die Datei commands.conf ein:

commands.conf

    epg2timers-Update starten     : at now -f /usr/local/vdr/epg2timers.sh;
    echo "epg2timers-Update gestartet"

#### 4.4 master-timer

Ähnlich der Autotimer-Funktion von vdradmim gibt es für VDR eine Perl-Skriptsammlung namens master-timer, die ein automatisches Programmieren an Hand von Konfigurationsdateien und der EPG-Daten der VDR-Software ermöglicht. Wenn man tiefer in die Materie einsteigt, lassen sich damit komplexe Kriterien zum Aufnehmen von Serien, Movies und zur Vermeidung von Wiederholungen festlegen.

http://www.fall-tot-um.org/home/scin18/mt/

Zunächst wird installiert.

root@linux ~# tar -xzvf master-timer-0.5.11a.tar.gz -C /opt root@linux ~# cd /opt root@linux /opt# ln -s master-timer-0.5.11a master-timer

Die mitgelieferten Konfigurationsdateien werden in ein verstecktes Unterverzeichnis des Home-Verzeichnisses des vorgesehenen Users kopiert. In diesem Fall ist es das Verzeichnis /usr/local/vdr/.master-timer. Das erledigt man am Besten als der betreffende User vdr.

root@linux ~# su vdr root@linux ~# cd master-timer root@linux ~/master-timer# mkdir ~/.master-timer root@linux ~/master-timer# cp sample/* ~/.master-timer

In der hier beschriebenen einfachen Konfiguration braucht man an der Datei config nichts zu ändern. In der Datei torecord legt man, den darin enthaltenen Beispielen folgend, die gewünschten Sendungen, deren Aufnahmen selbstständig programmiert werden sollen, fest.

torecord

    ...
    [Harald Schmidt Show]
    Title = Harald Schmidt Show
    Prio = 99
    Timeframe = 2300-0100
    Margin = 120;900
    ...

Danach kann man schon mal einen Test durchführen.

root@linux ~/master-timer# ./run-mt.pl

Sinnvollerweise lässt man diesen Aufruf später automatisch von cron erledigen, indem man als User vdr mit crontab -e eine entsprechende Zeile anlegt.

crontab

    15  0  *  *  *   /opt/master-timer/run-mt.pl 2&>1 >/dev/null

Hiermit wird das Skript täglich um 15 Minuten nach Mitternacht vom System gestartet. Beim Editieren mit dem eigenwilligen Editor vi erreicht den Einfügemodus mit der Taste `i` und kehrt daraus mit `ESC` wieder zurück. Abgespeichert wird mit :wq; Beenden ohne zu Speichern geht mit :q.

#### 4.5 vdr2divx

Für VDR gibt es eine praktische Skriptsammlung zur automatischen Konvertierung von Aufnahmen im Platz sparenden DivX-Format. Auf Wunsch kann man auch entsprechende Vorgaben für die Benennung und die Verzeichnisse bei Aufnahmen von Serien vorgeben. Die Bitrate wird dabei so berechnet, dass das Ergebnis auf einen einzelnen Rohling zur dauerhaften Archivierung passt.

Zunächst ist der DivX4-Codec zum Wandeln des von der DVB-Karte gelieferten MPEG2-Formats nach DivX erforderlich. Hierzu nutzt man z. B. das für Linux erhältliche divx4linux-Paket. von

http://avifile.sourceforge.net/

root@linux ~# tar -xzvf divx4linux-20011025.tgz root@linux ~# cd divx4linux-20011025 root@linux ~/divx3linux-20011025# ./install.sh

Ausserdem muss man noch den Lame-MP3-Codec zur Umwandlung des Ton ins MP3-Format installieren.

http://lame.sourceforge.net/

root@linux ~# tar -xzvf lame-3.92.tar.gz root@linux ~# cd lame-3.92 root@linux ~/lame-3.92# ./configure root@linux ~/lame-3.92# make root@linux ~/lame-3.92# make install

Ebenso braucht man noch den eigentlichen Encoder zum Wandeln des Formats. Hierfür nimmt man in diesem Fall den MEncoder, der im Paket des MPlayer bereits enthalten ist und mit dessen Installation automatisch mit installiert wird.

http://www.mplayerhq.hu/homepage/

root@linux ~# tar -xjvf MPlayer-0.90pre9.tar.bz2 root@linux ~# cd MPlayer-0.90pre9 root@linux ~/Mplayer-0.90pre9# ./configure root@linux ~/Mplayer-0.90pre9# make root@linux ~/Mplayer-0.90pre9# make install

Nun kann es daran gehen, das eigentliche Skriptpaket von zu installieren:

root@linux ~# tar -xzvf 2divx160pre1.tar.gz -C /opt root@linux ~# cd /opt root@linux /opt# ln -s dist160pre1 vdr2divx

Es muss dann noch die Konfigurationsdatei 2divx.conf erzeugt werden.

root@linux ~# cd /opt/vdr2divx root@linux /opt/vdr2divx# ./setup

Voraussichtlich sind noch einige Anpassungen darin erforderlich.

setup

    ...
    # *** User Configuration (should be adapted to your system ...)
    #

    # Path where all 2divx scripts are located
    MYPATH /opt/vdr2divx

    # Where should the Jobfile be placed - and whats the name ? /path/file
    JOBFIL /movies/JobQ

    # Temporary Directory where the script(s) can store temp files...
    WRKTMP /movies/temp

    # Where should the output files be placed ?
    DSTDIR /movies

    # Where is the mencoder executable located ? (/path/binary)
    ENCEXE /usr/local/bin/mencoder
    ...

Man hat hier in dieser Datei noch die Wahl zwischen den Codes von ffmpeg und divx4 mit den Einstellungen "lavc" und "divx".

Als Alternative zum kommerziellen DivX4/5-Codec kann man stattdessen den freien XviD-Codecs nutzen. Hiermit kann man dann auch mit der Einstellung "divx" oder auch "xvid" die Konvertierung durchführen.

Aller Wahrscheinlichkeit muss hierzu auf nicht allzu taufrischen Distributionen erst noch auf einen aktuellen nasm upgedated werden.

http://nasm.sourceforge.net/

root@linux ~# rpm -Uvh nasm-0.98-35-1.i386.rpm

Danach kann man die Xvid-Libraries z. B. in das Verzeichnis /usr/local/src installieren.

http://www.xvid.org

root@linux ~# tar -xzvf xvid_latest.tar.gz -C /usr/local/src root@linux ~# cd xvid_20021027/xvidcore/build/generic

In der Datei Makefile.linuxx86 habe ich für meinen PIII und den gcc 2.9X meiner SuSE 7.3 die Zeile für die i686-Architektur entkommentiert. Dann erfolgt das Kompilieren mit:

root@linux /usr/local/src/xvid_20021027/xvidcore/build/generic# make -f Makefile.linuxx86

Anschließend muss noch die Übersetzung der Quellen des MEncoder mit der Integration der Xvid-Libraries wiederholt werden.

http://www.mplayerhq.hu/homepage/

root@linux ~# cd MPlayer-0.90pre9 root@linux ~/MPlayer-0.90pre9# make distclean root@linux ~/MPlayer-0.90pre9# ./configure --with-extraincdir=/usr/local/src/xvid_20021027/xvidcore/src \ --with-xvidcore=/usr/local/src/xvid_20021027/xvidcore/build/generic/libxvidcore.a root@linux ~/MPlayer-0.90pre9# make root@linux ~/MPlayer-0.90pre9# make install

Das Verzeichnis und die Unterverzeichnisse für temporäre Dateien und das Endprodukt der DivX-Files müssen noch erstellt und mit den passenden Zugehörigkeiten versehen werden.

root@linux ~# mkdir -p /movies/temp /movies/MusicVideos root@linux ~# chown -R vdr:vdrdaem /movies

Praktischerweise stößt man die Umwandlung erst an, nachdem man die Aufnahmen mit der Schnittfunktion des VDR entsprechend bearbeitet hat. Hierbei wird nach dem Abschluss eines Editiervorgangs mit der Taste `2` von der VDR-Software automatisch das Script nq.sh aufgerufen wird, welches eine entsprechende Job-Warteschlange erstellt. Dazu ist noch eine Ergänzung im Script runvdr zu machen:

runvdr

    ...

    VDRCMD="$VDRPRG -w 60 -t /dev/tty8 -s /usr/local/bin/vdrshutdown $* \
                    -P vcd \
                    -P dvd \
                    -P'mp3 -m /usr/local/vdr/mount.sh' \
                    -P'mplayer -m /usr/local/vdr/mount.sh -M /usr/local/vdr/mplayer.sh' \
                    -r /opt/vdr2divx/nq.sh"
    VDRUSR=vdr
    ...

Der Inhalt der Datei JobQ wird vom Skript wait2enc.sh minütlich überprüft und ggf. die Konvertierung durch das Script 2divx angestoßen. Dafür erstellt man z. B. ein Skript namens vdr2divx.sh:

vdr2divx.sh

    #!/bin/bash
    cd /opt/vdr2divx; ./wait2enc.sh

Das Skript muss ausführbar gemacht werden.

root@linux ~# chmod +x /opt/vdr2divx/vdr2divx.sh

Den Anstoß dazu könnte man aus dem VDR-Menü heraus über eine Zeile in der Datei commands.conf geben.

DivX-Konvertierung starten: at now -f /opt/vdr2divx/vdr2divx.sh; echo "Konvertierung gestartet"

Die Wandlung einer Aufnahme erfolgt im aufwändigen 2-Pass-Verfahren mit verminderter Priorität um die eigentlichen Funktionen der VDR-Box im normalen Betrieb nicht zu beeinträchtigen. Dies kann auch durchaus schon mal die ganze Nacht dauern. Um nicht die automatische Shutdown-Funktion deaktivieren zu müssen, kann man eine zusätzliche Zeile in der Datei vdrshutdown einfügen, die verhindert, dass der Rechner herunter gefahren wird, solange eine laufende Konvertierung noch andauert.

vdrshutdown

    #!/bin/bash
    test -s /movies/JobQ && exit 1
    ...

#### 4.6 tosvcd

Als Alternative zur dauerhaften Archivierung der VDR-Aufnahmen im DivX-Format kann man diese auch zu SVCD's konvertieren, die sich auf vielen preisgünstigen DVD-Playern problemlos abspielen lassen. Auch die Wiedergabe mittels der VDR-Box ist möglich für den Fall, dass die Prozessorleistung für DivX-Wiedergabe ein wenig zu dürftig ausfällt.

Zur Umwandlung der VDR-Aufnahmen in das benötigte MPEG2-Format für SVCD's gibt es ein Tool mit der treffenden Bezeichnung tosvcd. Es lassen sich bei Bedarf mannigfaltige Optionen wie z. B. zum Festlegen der maximalen Anzahl der benötigten CDR's, der maximalen Größe der Rohlinge, usw. übergeben. Eine Umrechnung auf die Auflösung von 480x576 findet automatisch statt. Abweichend vom Standard für SVCD's wird der Ton aber mit einer Samplingfrequenz von 48 kHz statt 44,1 kHz erstellt. Auf vielen DVD-Playern bereitet das aber keine Probleme beim Abspielen. Es können auch gleich SVCD- und VCD-konforme Image-Dateien erstellt werden.

http://muse.seh.de/tosvcd/
Es wird installiert mit:

root@linux ~# tar -xjvf tosvcd-0.9.tar.bz2 root@linux ~# cd tosvcd-0.9 root@linux ~/tosvcd-0.9# make root@linux ~/tosvcd-0.9# make install

Voraussetzung sind die installierten MJPEG-Tools.

http://mjpeg.sourceforge.net/ Die Installation des RPM-Paketes muss ggf. ohne Berücksichtigung der Abhängigkeiten erfolgen:

root@linux ~# rpm -ivh --nodeps mjpegtools-1.6.0-1.i386.rpm

Weiterhin wird VCDImager benötigt um automatisch die Images zu erstellen, welche den gültigen Spezifikationen für VCD bzw. SVCD entsprechen.

http://www.vcdimager.org Hier wird ebenfalls das geeignete RPM-Paket für die Installation gewählt:

root@linux ~# rpm -ivh vcdimager-0.7.12-1.i386.rpm

Zusätzlich braucht man noch für weitere Schritte wie die Erstellung eines Startmenüs für die fertigen SVCD's das Paket Netpbm.

http://sourceforge.net/projects/netpbm/

Bei der Installation lassen sich zunächst die Voreinstellungen übernehmen.

root@linux ~# tar -xzvf netpbm-10.9.tgz root@linux ~# cd netpbm-10.9 root@linux ~/netpbm-10.9# ./configure root@linux ~/netpbm-10.9# make root@linux ~/netpbm-10.9# make package root@linux ~/netpbm-10.9# ./installnetpbm

Beim abschließenden Schritt wird für den "install prefix" der Pfad "/usr" gewählt und die weiteren Default-Werte lässt man unverändert.

Zwar ist es auch mit dem Tool tosvcd möglich direkt Images von SVCD's zu erstellen, doch haben diese den Nachteil, dass diese kein Menü haben und der Wechsel häufig Mitten in einer Szene oder gar einem Dialog erfolgt. Ausserdem besteht beim Abspielen mit VDR das Problem durch lückenhafter Wiedergabe am Anfang und Ende einer SVCD. Hier kann ein Vor- und Abspann Abhilfe schaffen. Ein entsprechendes Konzept mit den passenden Skripten findet sich hier:

http://www.mannitec.de/SVCD.htm

Für die Zwischenspeicherung der temporären Dateien und der fertig gestellten Images habe ich ein Unterverzeichnis unter der Video-Partition vorgesehen. Nur hier kann ich auf meinem VDR-Rechner genügend freien Speicherplatz bereit stellen. Das Verzeichnis muss erstellt und mit den notwendigen Zugehörigkeiten versehen werden:

root@linux ~# mkdir /video/mpeg root@linux ~# chown vdr:vdrdaem /video/mpeg

Bei diesem Konzept ist erst einmal die gewünschte Aufnahme mit der Schnittfunktion des VDR von Werbung zu befreien und der Schnitt mit der Taste "2" einzuleiten. In dieser bereits geschnittenen Version werden die Anfangs- und Ende-Markierungen für die Aufteilung der Aufnahme auf die einzelnen CD-Roms sinnvoll bei einem Szenenwechsel gesetzt. Es sollten etwa 40 Minuten Filmlänge auf einen 80-Minuten-Rohling passen. Für die weiteren Verarbeitung werden diese Schnittpunkte in der Datei marks.vdr automatisch beachtet, sodass es an dieser Stelle nicht mehr nötig ist den Schnitt mit der Taste "2" zu beenden. Wenn man im Auswahlmenü der Aufzeichnungen diesen Eintrag markiert, wird mit dem anschließenden Drücken der Taste "1" diese Aufnahme der Liste mit den zu konvertierenden Aufnahmen in der Datei toconvert.txt hinzu gefügt. Dazu dient eine entsprechende Zeile in der Datei reccmds.conf.

Todoliste ergänzen? : /usr/local/bin/todolist.sh

Das hier aufgerufene Skript namens todolist.sh muss noch erstellt

todolist.sh

    #!/bin/bash

    TODOLIST=/video/toconvert.txt

    [ `echo $1 >> ${TODOLIST}` ] && echo "Fehler mit der TODOLIST ${TODOLIST}!!!"

und anschließend ausführbar gemacht werden.

root@linux ~# chmod +x /usr/local/bin/todolist.sh

Das eigentliche Konvertieren startet man aus dem Befehls-Menü des OSD heraus. Dazu ist eine entsprechende Zeile in der commands.conf zu ergänzen.

commands.conf

    run conversion     : if [ `ps -ef | grep -e "/svcd.sh"| grep -c -v grep` -eq 0 ];
                                    then at now -f /usr/local/bin/tosvcd.sh && echo "conversion
    				gestartet";else echo "Läuft schon";fi
    status conversion  : [ -f /video/mpeg/status ] && cat /video/mpeg/status;
    				[ -f /video/mpeg/TOSVCD.log ] && cat /video/mpeg/TOSVCD.log
    				|tr "\r" "\n"|tail -1
    view jobs          : cat /video/toconvert.txt|cut -c1-38
    clear jobs         : rm -f /video/toconvert.txt && echo "clean"
    list /video/mpeg   : cd /video/mpeg; du -sk */*.mpg |cut -c1-38

Es sind hier noch weitere Zeilen zum Überwachen der Vorgänge enthalten.

Auch das hier aufgerufene Skript namens tosvcd.sh muss noch erstellt werden.

tosvcd.sh

    #!/bin/bash

    nice -n 19 /usr/local/bin/svcd.sh

Es muss ebenfalls ausführbar sein.

root@linux ~# chmod +x /usr/local/bin/tosvcd.sh

Die eigentliche Arbeit, bestehend aus dem Erstellen der SVCD-konformen MPGE2-Files in der passenden Länge, erledigt das Beispielskript svcd.sh von obiger Site. Es wird ebenfalls aus den in der summary.vdr enthaltenen EPG-Daten zum Film automatisch ein Startmenü generiert. Ein für meine Verhältnisse angepasstes Skript habe ich hier abgelegt: svcd.sh

Zudem braucht man für das Erstellen der fertigen Images noch ein weiteres Skript namens vcdbatch.sh. Für meine Zwecke habe ich das Beispielskript ebenfalls ein wenig ändern müssen. Ich lasse es ausserdem direkt im Anschluss aus dem vorhergehenden Skript starten. Meine Variante des Skripts liegt hier: vcdbatch.sh

Beide Scripte müssen ausführbar gemacht werden.

root@linux ~# chmod +x /usr/local/bin/svcd.sh root@linux ~# chmod +x /usr/local/bin/vcdbatch.sh

Die kurzen MPEG-Dateien, welche als Vor- und Abspann dienen sollen, müssen hierfür im Verzeichnis /video/mpeg als intro.mpg und outtro.mpg vorhanden sein.

Man sollte natürlich darauf achten, dass die automatische Abschaltung des VDR-Rechners für die Dauer der Konvertierung deaktiviert ist, da die Umwandlungen in der Regel längere Zeit in Anspruch nehmen.

Stilecht brennt man die fertigen Images dann mit Linux und der freien Software CDRDAO auf Rohlinge. Es lassen sich die Images aber auch z. B. per Samba auf Windows-Rechner exportieren und dann mit Sharewareprogrammen wie CDRWin bzw. FireBurner brennen. Grundsätzlich lassen sich die erzeugten Images auf der Basis der Cuesheets auch mit Nero verarbeiten.