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)
OpenSuse 10.1
Zusätzlich zum oben Angeführten muss libcap mit Yast deinstalliert und danach manuell kompiliert werden (http://www.vdr-portal.de/board/thread.php?postid=466110)
OpenSuse 10.2
Um auch die libcap-devel installieren zu können muss das Install Directory von einem der OpenSuse Spiegel Server eingebunden werden. Und zwar als weitere Installationsquelle.
http://de.opensuse.org/Spiegelserver_der_stabilen_Version#Deutschland
Im Yast-Text-Version geht das so:
yast starten:
Software --> Installationsquelle wechseln --> Hinzufügren --> FTP... --> Weiter --> Servername --> z.B. ftp.gwdg.de --> Verzeichnis auf dem Server --> z.B. pub/opensuse/distribution/10.2/repo/oss --> Feritg
Wenn man jetzt im Bereicht Software installieren nach der libcap-devel sucht findet man sie auch und mann kann damit vdr übersetzten.
Installation
Um VDR installieren zu können, muss der DVB-Treiber installiert sein, die zugehörigen Dateien werden innerhalb des Kernelheaders erwartet. Für weiteres zum DVB-Treiber s.h. DVB Installation.
Zum VDR selber wird zunächst die aktuelle Version benötigt (ftp://ftp.cadsoft.de/vdr/vdr-current.tar.bz2).
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.4.x).
Für welche Version man sich entscheidet, bleibt jedem selbst überlassen.
Nun wird das eben heruntergeladene Archiv entpackt und in das Quellcodeverzeichnis gewechelt.
cd $SOURCEDIR tar jxvf /path/to/vdr-<VERSION>.tar.bz2 cd vdr-<VERSION>
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.
VFAT=1 | Wenn das Video-Verzeichnis auf einer VFAT Partition liegt, oder mittels Samba freigegeben werden soll |
NO_KBD=1 | Deaktiviert die Tastatursteuerung |
unter dem älteren VDR 1.2.x gibt es noch folgende Parameter, Bei der VDR 1.4.x können diese Einstellungen per Kommandozeilenparameter ohne rekompilieren verändert werden.
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]) |
Der make-Befehl könnte also folgendermaßen aussehen.
make VFAT=1
Möchte man VDR + Plugins in einem Rutsch übersetzen.
make VFAT=1 all plugins
Wer öfters übersetzt, der sollte anhand der Vorlage Make.config.template die Datei Make.config erstellen. Der Buildprozess übernimmt dann die in Make.config gewählten Vorgaben. Tipp: In Make.config können auch Vorgaben für das Kompilieren der Plugins hinterlegt werden.
cp Make.config.template Make.config nano Make.config ... NO_KBD=1 VFAT=1 PREFIX = /usr/local/ BINDIR = $(PREFIX)/bin MANDIR = $(PREFIX)/man VIDEODIR = /video ...
Nun können die erstellten Binärdateien installiert werden. Dadurch wird das für Aufnahmen notwendige $VIDEODIR erstellt.
make install
Man kann aber auch das $VIDEODIR und das Konfigurations-Verzeichnis trennen. Das hat den Vorteil, dass verschiedene Versionen von VDR installiert werden können, mit jeweils eigenen Konfigurationen.
make install-conf VIDEODIR=$VDRCONFIG
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.
Bekannte Probleme
Bei Debian (Etch) mit Kernel 2.6.16-2-686 (derzeit aktuell) verursacht das Kernelmodul stradis ein Problem mit dem DVB Treiber.
Workaround:
rmmod stradis echo blacklist stradis >> /etc/modprobe.d/blacklist