VDR Installation
Inhaltsverzeichnis |
Beschreibung
Softwareanforderungen
- Entwicklungs-umgebung (make, gcc..)
- DVB Quellen
- Libjpeg
- Libcap vdr >= 1.3.38
- skincurses-plugin, welches VDR beinhaltet, benötigt zusätzlich ncurses
Abhängigkeiten auflösen
Die JPEG-Library muß installiert sein, für vdr >= 1.3.38 wird zusätzlich libcap benötigt.
Bei den meisten Distributionen könnte dies bereits der Fall sein, falls nicht.
Source
Die Variable $SOURCEDIR enthält den Pfad zum Verzeichnis, in dem die Quellen entpackt werden sollen. Übliche Verzeichnisse sind /usr/local/src, /usr/src und das HOME-Verzeichnis des jeweiligen Nutzers.
export SOURCEDIR='/usr/local/src'
cd $SOURCEDIR tar xvzf jpegsrc.<VERSION>.tar.gz cd jpeg-<VERSION> ./configure --prefix=/usr/local make make install ldconfig
für vdr >= 1.3.38 wird libcap benötigt.
tar xfj libcap-1.10.tar.bz2 cd libcap-1.10 make make install
Arch-Linux
pacman -S libcap libjpeg
Crux
prt-get depinst libcap libjpeg
Debian
apt-get install libjpeg62-dev libcap-dev
Gentoo
emerge jpeg libcap
SuSE
yast -i libjpeg libcap yast -i libjpeg-devel libcap (SuSE >= 9.2)
Installation
Um VDR installieren zu können, muss der DVB-Treiber in einem Verzeichnis parallel zu VDR liegen.
+-- $SOURCEDIR +-- /DVB +-- /VDR
In Abhängigkeit davon, ob mit den DVB Treibern aus Kernel-2.6 oder den neueren Treibern (1.1.1) gearbeitet wird, ist wie folgt zu verfahren:
Für die original DVB Kernel 2.6 Treiber (vorausgesetzt, diese befinden sich in /usr/src/linux).
ln -s /usr/src/linux $SOURCEDIR/DVB
Bei den den neueren Treibern (1.1.1) ist ähnlich zu verfahren.
cd $SOURCEDIR/DVB ln -s linux/include include
Für weiteres zum DVB-Treiber s.h. DVB Installation.
Zunächst wird eine aktuelle Version von VDR benötigt ([1], [2]).
Das Versionschema ist das gleiche wie beim Linux-Kernel, ist die zweite Zahl ungerade, handelt es sich um eine Entwickler-Version (z.B. v1.3.x), ist sie gerade, um eine stabile Version für den normalen Benutzer (z.B. 1.2.x).
Für welche Version man sich entscheidet, bleibt jedem selbst überlassen.
Nun wird das eben heruntergeladene Archiv entpackt und ein symbolischer Link nach VDR gesetzt.
cd $SOURCEDIR tar jxvf /path/to/vdr-<VERSION>.tar.bz2 ln -s vdr-<VERSION> VDR cd VDR
Zum kompilieren reicht ein einfaches
make
Damit wird VDR mit Standardeinstellungen und Unterstützung für die Tastatur übersetzt.
Folgende Parameter können make übergeben werden, um VDR anzupassen.
REMOTE=RCU | Remote Control Unit, ein speziell für VDR entwickelter Infrarot-Empfänger (s.h. [1]) |
REMOTE=LIRC | Linux Infrared Remote Control. Infrarot-Empfänger für Linux (s.h. [2]) |
VFAT=1 | Wenn das Video-Verzeichnis auf einer VFAT Partition liegt, oder mittels Samba freigegeben werden soll |
NO_KBD=1 | Deaktiviert die Tastatursteuerung |
Der make-Befehl könnte also folgendermaßen aussehen.
make VFAT=1 REMOTE=LIRC
Möchte man VDR + Plugins in einem Rutsch übersetzen.
make VFAT=1 REMOTE=LIRC all plugins
Wer öfters übersetzt, der sollte das Template Make.config.template nutzen:
cp Make.config.template Make.config mcedit Make.config ... REMOTE=LIRC VFAT=1 ...
Von nun an langt ein einfaches.
make
Die anderen Optionen werden aus Make.config übernommen.
Nun müssen die notwendigen Dateien verlinkt werden.
ln -s $SOURCEDIR/VDR/vdr $PATH ln -s $SOURCEDIR/VDR/svdrpsend.pl $PATH
Weiter mit den Verzeichnissen, diese können natürlich nach den eigenen Wünschen / Anforderungen angepasst oder zusammenlegt werden.
Besonders das vom $VIDEODIR getrennte Konfigurations-Verzeichnis hat den Vorteil, dass verschiedene Versionen von VDR installiert werden können, mit jeweils eigenen Konfigurationen.
Zuerst wird das für Aufnahmen notwendige $VIDEODIR erstellt.
mkdir -p $VIDEODIR
Weiter mit $VDRCONFIG, in welches das EPG und die Konfigurations-Dateien gespeichert werden.
make install-conf VIDEODIR=$VDRCONFIG
Wenn auch die Manual-Seiten benötigt werden.
gzip -c vdr.1 > /usr/man/man1/vdr.1.gz gzip -c vdr.5 > /usr/man/man5/vdr.5.gz
Hinweise
VDR funktioniert momentan nicht mit NPTL ("Native Posix Thread Library"). Wenn also ein Linux 2.6.x oder ein 2.4.x Kernel mit NPTL-Patches zum Einsatz kommt, sollte ein
export LD_ASSUME_KERNEL=2.4.1
vor dem Start des VDR gesetzt werden.
Update: Seit Version 1.3.27 scheint der vdr mit der NPTL klarzukommen.
Ein weiteres Problem bereitet UTF-8 und sollte deshalb dringend durch iso8859-1 oder ähnliches ersetzt werden. Je nach Distribution können die entsprechenden Umgebungsvariablen an unterschiedlichen Stellen liegen, einfach nach LANG und LC_CTYPE suchen und entsprechend setzen
export LANG=de_DE.iso8859-1 export LC_CTYPE=de_DE.iso8859-1
de_DE.euro sollte auch funktionieren.
Alternativ gibt es auch das Utf8-patch (bisher nur bis Version 1.3.37).
Konfiguration
Aufruf
Beim Starten werden VDR die entsprechenden Pfade wie folgt bekannt gemacht:
vdr --video=$VIDEODIR \ --epgfile=$VDRCONFIG/epg.data \ --config=$VDRCONFIG \ --lib=$SOURCEDIR/VDR/PLUGINS/lib \ --shutdown=$PATH/shutdown.sh \ --record=$PATH/rwrapper.sh \ --weitere Parameter
Netzwerk
VDR bietet die Möglichkeit, über das Netzwerk mit Hilfe des SVDRP-Protokolls gesteuert zu werden. In der Konfigurationsdatei svdrphosts.conf wird festgelegt, welche Rechner oder Netzwerke auf VDR zugreifen dürfen. In der Standardeinstellung ist nur der Rechner auf dem VDR läuft dazu berechtigt.
Sonstiges
Runvdr ist ein Startscript, dass nicht nur VDR und den DVB-Treiber startet, es sorgt bei einem Absturz auch dafür, dass beides neu gestartet wird. Sollte der VDR oder ein Plugin unerwartet abstürzen kann die Ursache mit gdb anlysiert werden, und damit dem Entwickler hilfreiche Informationen zur Verfügung gestellt werden, diese Problem zubeheben.