VDR Installation
Hulk (Diskussion | Beiträge) K (→Links) |
Hulk (Diskussion | Beiträge) (Aktualisiert) |
||
Zeile 3: | Zeile 3: | ||
==Softwareanforderungen== | ==Softwareanforderungen== | ||
* Entwicklungsumgebung (make, gcc..) | * Entwicklungsumgebung (make, gcc..) | ||
− | * DVB | + | * [[DVB Installation|DVB Treiber]]. |
− | * | + | * [http://www.ijg.org Libjpeg] |
− | * libcap | + | * [ftp://ftp.kernel.org/pub/linux/libs/security/linux-privs/kernel-2.4/libcap-1.10.tar.bz2 libcap] >= 1.10 |
− | * fontconfig >= 2.4.2 / freetype | + | * [http://fontconfig.org/release/fontconfig-2.4.2.tar.gz fontconfig] >= 2.4.2 / freetype |
− | * gettext | + | * gettext |
− | * [[skincurses-plugin]], welches VDR beinhaltet, benötigt zusätzlich '''ncurses''' | + | * optional [[skincurses-plugin]], welches VDR beinhaltet, benötigt zusätzlich '''ncurses''' |
− | + | Bei den meisten [[Distributionen]] lassen sich die obigen Abhängigkeiten per weiter unteren angeführten Paketmanager installieren, falls dies nicht der Fall ist, sollten die Paket aus den jeweiligen Quellpaketen installiert werden. | |
− | + | ||
− | + | ===Source Installation der Softwareanforderungen=== | |
− | + | ||
− | ===Source=== | + | |
{{Box Hinweis| | {{Box Hinweis| | ||
Die Variable '''$SOURCEDIR''' enthält den Pfad zum Verzeichnis, in dem die [[Quelltext|Quellen]] entpackt werden sollen. Übliche Verzeichnisse sind '''/usr/local/src''', '''/usr/src''' und das '''HOME'''-Verzeichnis des jeweiligen Nutzers. | Die Variable '''$SOURCEDIR''' enthält den Pfad zum Verzeichnis, in dem die [[Quelltext|Quellen]] entpackt werden sollen. Übliche Verzeichnisse sind '''/usr/local/src''', '''/usr/src''' und das '''HOME'''-Verzeichnis des jeweiligen Nutzers. | ||
Zeile 22: | Zeile 19: | ||
</pre> | </pre> | ||
}} | }} | ||
+ | ====libjpeg==== | ||
<pre> | <pre> | ||
cd $SOURCEDIR | cd $SOURCEDIR | ||
Zeile 31: | Zeile 29: | ||
ldconfig | ldconfig | ||
</pre> | </pre> | ||
− | + | ====libcap==== | |
− | + | ||
− | + | ||
<pre> | <pre> | ||
tar xfj libcap-1.10.tar.bz2 | tar xfj libcap-1.10.tar.bz2 | ||
Zeile 40: | Zeile 36: | ||
make install | make install | ||
</pre> | </pre> | ||
− | + | ====fontconfig==== | |
<pre> | <pre> | ||
tar xfz fontconfig-2.4.2.tar.gz | tar xfz fontconfig-2.4.2.tar.gz | ||
Zeile 50: | Zeile 46: | ||
</pre> | </pre> | ||
− | ===[[Arch-Linux]]=== | + | ===Distributionen spezifische Installation der Softwareanforderungen=== |
+ | Die Installation von kompilierten Binärpaket per Paketmanager empfiehlt sich für die jeweilige [[Distributionen|Distribution]]. | ||
+ | ====[[Arch-Linux]]==== | ||
pacman -S libcap libjpeg | pacman -S libcap libjpeg | ||
− | ===[[Crux]]=== | + | ====[[Crux]]==== |
prt-get depinst libcap libjpeg | prt-get depinst libcap libjpeg | ||
− | ===[[Debian]]=== | + | ====[[Debian]]==== |
− | apt-get install libjpeg62-dev libcap-dev libfontconfig1-dev gettext | + | apt-get install build-essential libjpeg62-dev libcap-dev libfontconfig1-dev gettext |
− | ===[[Gentoo]]=== | + | ====[[Gentoo]]==== |
emerge jpeg libcap | emerge jpeg libcap | ||
− | ===[[SuSE]]=== | + | ====[[SuSE]]==== |
yast -i libjpeg-devel libcap-devel | yast -i libjpeg-devel libcap-devel | ||
Zeile 83: | Zeile 81: | ||
{{Box Hinweis| | {{Box Hinweis| | ||
− | Das Versionschema ist das gleiche wie beim Linux-Kernel, ist die zweite Zahl ungerade, handelt es sich um eine Entwickler-Version (z.B. v'''1. | + | Das Versionschema ist das gleiche wie beim Linux-Kernel, ist die zweite Zahl ungerade, handelt es sich um eine Entwickler-Version (z.B. v'''1.7.x'''), ist sie gerade, um eine stabile Version für den normalen Benutzer (z.B. '''1.6.x'''). |
}} | }} | ||
Für welche Version man sich entscheidet, bleibt jedem selbst überlassen. | Für welche Version man sich entscheidet, bleibt jedem selbst überlassen. | ||
− | Nun wird das eben heruntergeladene Archiv entpackt und in das Quellcodeverzeichnis | + | Nun wird das eben heruntergeladene Archiv entpackt und in das Quellcodeverzeichnis gewechselt. Zum Kompilieren reicht der '''make''' Befehl. Damit wird VDR mit Standardeinstellungen und Unterstützung für die Tastatur übersetzt. |
<pre> | <pre> | ||
Zeile 94: | Zeile 92: | ||
tar jxvf /path/to/vdr-<VERSION>.tar.bz2 | tar jxvf /path/to/vdr-<VERSION>.tar.bz2 | ||
cd vdr-<VERSION> | cd vdr-<VERSION> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
make | make | ||
</pre> | </pre> | ||
− | + | Folgende Parameter können zusätzlich an make übergeben werden, um VDR anzupassen. | |
− | + | ||
− | + | ||
− | + | ||
− | Folgende Parameter können make übergeben werden, um VDR anzupassen. | + | |
{| | {| | ||
|bgcolor=#efefef|VFAT=1 | |bgcolor=#efefef|VFAT=1 | ||
Zeile 199: | Zeile 188: | ||
===Sonstiges=== | ===Sonstiges=== | ||
[[runvdr|Runvdr]] ist ein Startscript, das nicht nur VDR und den DVB-Treiber startet, es sorgt bei einem Absturz auch dafür, dass beides neu gestartet wird. | [[runvdr|Runvdr]] ist ein Startscript, das 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]] analysiert werden, und damit dem Entwickler hilfreiche Informationen zur Verfügung gestellt werden, dieses Problem | + | Sollte der VDR oder ein Plugin unerwartet abstürzen kann die Ursache mit [[gdb]] analysiert werden, und damit dem Entwickler hilfreiche Informationen zur Verfügung gestellt werden, dieses Problem zu beheben. |
===Bekannte Probleme=== | ===Bekannte Probleme=== | ||
Zeile 216: | Zeile 205: | ||
# [http://www.tvdr.de/ VDR Homepage] | # [http://www.tvdr.de/ VDR Homepage] | ||
# [ftp://ftp.tvdr.de/vdr VDR Download-Verzeichnis] | # [ftp://ftp.tvdr.de/vdr VDR Download-Verzeichnis] | ||
− | |||
# [http://www.lirc.org LIRC Homepage] | # [http://www.lirc.org LIRC Homepage] | ||
− | |||
− | |||
− | |||
[[Kategorie:VDR]] | [[Kategorie:VDR]] | ||
[[Kategorie:Installationsanleitungen]] | [[Kategorie:Installationsanleitungen]] | ||
{{i18n|VDR Installation}} | {{i18n|VDR Installation}} |
Version vom 26. Februar 2010, 21:54 Uhr
Inhaltsverzeichnis |
Beschreibung
Softwareanforderungen
- Entwicklungsumgebung (make, gcc..)
- DVB Treiber.
- Libjpeg
- libcap >= 1.10
- fontconfig >= 2.4.2 / freetype
- gettext
- optional skincurses-plugin, welches VDR beinhaltet, benötigt zusätzlich ncurses
Bei den meisten Distributionen lassen sich die obigen Abhängigkeiten per weiter unteren angeführten Paketmanager installieren, falls dies nicht der Fall ist, sollten die Paket aus den jeweiligen Quellpaketen installiert werden.
Source Installation der Softwareanforderungen
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'
libjpeg
cd $SOURCEDIR tar xvzf jpegsrc.<VERSION>.tar.gz cd jpeg-<VERSION> ./configure --prefix=/usr/local make make install ldconfig
libcap
tar xfj libcap-1.10.tar.bz2 cd libcap-1.10 make make install
fontconfig
tar xfz fontconfig-2.4.2.tar.gz cd fontconfig-2.4.2 ./configure --prefix=/usr/local make make install ldconfig
Distributionen spezifische Installation der Softwareanforderungen
Die Installation von kompilierten Binärpaket per Paketmanager empfiehlt sich für die jeweilige Distribution.
Arch-Linux
pacman -S libcap libjpeg
Crux
prt-get depinst libcap libjpeg
Debian
apt-get install build-essential libjpeg62-dev libcap-dev libfontconfig1-dev gettext
Gentoo
emerge jpeg libcap
SuSE
yast -i libjpeg-devel libcap-devel
openSUSE>= 10.1
libcap-devel nur in der FTP version enthalten. Um es installieren zu können, muß ein openSUSE Spiegel Server als Installationsquelle eingebunden werden
http://de.opensuse.org/Spiegelserver_der_stabilen_Version#Deutschland
Im YaST 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 --> Weiter --> (Lizenzbedingungen) Ja --> Weiter --> Beenden
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.tvdr.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.7.x), ist sie gerade, um eine stabile Version für den normalen Benutzer (z.B. 1.6.x).
Für welche Version man sich entscheidet, bleibt jedem selbst überlassen.
Nun wird das eben heruntergeladene Archiv entpackt und in das Quellcodeverzeichnis gewechselt. Zum Kompilieren reicht der make Befehl. Damit wird VDR mit Standardeinstellungen und Unterstützung für die Tastatur übersetzt.
cd $SOURCEDIR tar jxvf /path/to/vdr-<VERSION>.tar.bz2 cd vdr-<VERSION> make
Folgende Parameter können zusätzlich an 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 |
REMOTE=LIRC | Linux Infrared Remote Control. Infrarot-Empfänger für Linux |
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.4.4).
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, das 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 analysiert werden, und damit dem Entwickler hilfreiche Informationen zur Verfügung gestellt werden, dieses Problem zu beheben.
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