VDR Installation

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Abhängigkeiten auflösen)
K (Arch-Linux)
 
(55 dazwischenliegende Versionen von 30 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:
  
 
==Softwareanforderungen==
 
==Softwareanforderungen==
* Entwicklungs-umgebung (make, gcc..)
+
* Entwicklungsumgebung (make, gcc..)
* DVB Quellen
+
* [[DVB Installation|DVB Treiber]].
* Libjpeg
+
* [http://www.ijg.org Libjpeg]
* Libcap '''vdr >= 1.3.38'''
+
* [ftp://ftp.kernel.org/pub/linux/libs/security/linux-privs/kernel-2.4/libcap-1.10.tar.bz2 libcap] >= 1.10
* [[skincurses-plugin]], welches VDR beinhaltet, benötigt zusätzlich '''ncurses'''
+
* [http://fontconfig.org/release/fontconfig-2.4.2.tar.gz fontconfig] >= 2.4.2 / freetype
 +
* gettext
 +
* optional [[skincurses-plugin]], welches VDR beinhaltet, benötigt zusätzlich '''ncurses'''
  
==Abhängigkeiten auflösen==
+
Bei den meisten [[Distribution]]en 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.  
Die JPEG-Library muß installiert sein, für '''vdr >= 1.3.38''' wird zusätzlich [ftp://ftp.kernel.org/pub/linux/libs/security/linux-privs/kernel-2.4/libcap-1.10.tar.bz2 libcap] benötigt.
+
  
Bei den meisten [[Distributionen]] könnte dies bereits der Fall sein, falls nicht.
+
===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 20: Zeile 19:
 
</pre>
 
</pre>
 
}}
 
}}
 
+
====libjpeg====
 
<pre>
 
<pre>
 
cd $SOURCEDIR
 
cd $SOURCEDIR
Zeile 30: Zeile 29:
 
ldconfig
 
ldconfig
 
</pre>
 
</pre>
 
+
====libcap====
für '''vdr >= 1.3.38''' wird [ftp://ftp.kernel.org/pub/linux/libs/security/linux-privs/kernel-2.4/libcap-1.10.tar.bz2 libcap] benötigt.
+
 
+
 
<pre>
 
<pre>
 
tar xfj libcap-1.10.tar.bz2
 
tar xfj libcap-1.10.tar.bz2
Zeile 38: Zeile 35:
 
make
 
make
 
make install
 
make install
 +
</pre>
 +
====fontconfig====
 +
<pre>
 +
tar xfz fontconfig-2.4.2.tar.gz
 +
cd fontconfig-2.4.2
 +
./configure --prefix=/usr/local
 +
make
 +
make install
 +
ldconfig
 
</pre>
 
</pre>
  
===[[Arch-Linux]]===
+
===Distributionen spezifische Installation der Softwareanforderungen===
  pacman -S libcap libjpeg
+
Die Installation von kompilierten Binärpaket per Paketmanager empfiehlt sich für die jeweilige [[Distribution]].
 +
====[[Arch-Linux]]====
 +
  pacman -S base-devel libjpeg-turbo
  
===[[Crux]]===
+
====[[Crux]]====
 
  prt-get depinst libcap libjpeg
 
  prt-get depinst libcap libjpeg
  
===[[Debian]]===
+
====[[Debian]]====
  apt-get install libjpeg62-dev libcap-dev
+
  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 libcap
+
  yast -i libjpeg-devel libcap-devel
yast -i libjpeg-devel libcap (SuSE >= 9.2)
+
  
==Installation==
+
==== openSUSE>= 10.1 ====
Um [[VDR]] installieren zu können, muss der [[DVB]]-Treiber in einem Verzeichnis parallel zu VDR liegen.
+
  
+-- [[Bild:Folder.png]] $SOURCEDIR
+
''libcap-devel'' nur in der FTP version enthalten. Um es installieren zu können, muß ein openSUSE Spiegel Server als Installationsquelle eingebunden werden
    +-- [[Bild:Folder.png]] /DVB
+
    +-- [[Bild:Folder.png]] /VDR
+
  
In Abhängigkeit davon, ob mit den DVB Treibern aus Kernel-2.6 oder den neueren Treibern (1.1.1) gearbeitet wird,
+
http://de.opensuse.org/Spiegelserver_der_stabilen_Version#Deutschland
ist wie folgt zu verfahren:
+
  
Für die original DVB Kernel 2.6 Treiber (vorausgesetzt, diese befinden sich in '''/usr/src/linux''').
+
Im YaST geht das so:
  
<pre>
+
yast starten:
ln -s /usr/src/linux $SOURCEDIR/DVB
+
</pre>
+
  
Bei den den neueren Treibern (1.1.1) ist ähnlich zu verfahren.
+
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
  
<pre>
+
==Installation==
cd $SOURCEDIR/DVB
+
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]].
ln -s linux/include include
+
</pre>
+
 
+
Für weiteres zum DVB-Treiber s.h. [[DVB Installation]].
+
  
Zunächst wird eine aktuelle Version von [[VDR]] benötigt ([ftp://ftp.cadsoft.de/vdr/Developer [1]], [http://www.cadsoft.de/vdr [2]]).
+
Zum [[VDR]] selber wird zunächst die aktuelle Version benötigt (ftp://ftp.tvdr.de/vdr/vdr-current.tar.bz2).
  
 
{{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.3.x'''), ist sie gerade, um eine stabile Version für den normalen Benutzer (z.B. '''1.2.x''').
+
Das Versionschema ist das gleiche wie beim Linux-Kernel, ist die zweite Zahl ungerade, handelt es sich um eine Entwickler-Version (z.B. v'''2.1.x'''), ist sie gerade, um eine stabile Version für den normalen Benutzer (z.B. '''2.0.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 ein symbolischer Link nach VDR gesetzt.
+
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>
 
cd $SOURCEDIR
 
cd $SOURCEDIR
 
tar jxvf /path/to/vdr-<VERSION>.tar.bz2
 
tar jxvf /path/to/vdr-<VERSION>.tar.bz2
ln -s vdr-<VERSION> VDR
+
cd vdr-<VERSION>
cd VDR
+
</pre>
+
 
+
Zum kompilieren reicht ein einfaches
+
 
+
<pre>
+
 
make
 
make
 
</pre>
 
</pre>
  
Damit wird VDR mit Standardeinstellungen und Unterstützung für die Tastatur übersetzt.
+
Unter dem älteren VDR 1.x.x gibt es noch folgende Parameter, Ab VDR 1.6.x können diese Einstellungen per Kommandozeilenparameter ohne rekompilieren verändert werden.
 
+
Folgende Parameter können make übergeben werden, um VDR anzupassen.
+
 
{|
 
{|
 
|bgcolor=#efefef|REMOTE=[[RCU]]
 
|bgcolor=#efefef|REMOTE=[[RCU]]
| '''R'''emote '''C'''ontrol '''U'''nit, ein speziell für VDR entwickelter Infrarot-Empfänger (s.h. [http://www.cadsoft.de/vdr/remote.htm])
+
| '''R'''emote '''C'''ontrol '''U'''nit, ein speziell für VDR entwickelter Infrarot-Empfänger
 
|-
 
|-
 
|bgcolor=#efefef|REMOTE=[[LIRC]]
 
|bgcolor=#efefef|REMOTE=[[LIRC]]
|'''L'''inux '''I'''nfrared '''R'''emote '''C'''ontrol. Infrarot-Empfänger für Linux (s.h. [http://www.lirc.org])
+
| '''L'''inux '''I'''nfrared '''R'''emote '''C'''ontrol. Infrarot-Empfänger für Linux
|-
+
|
 
|bgcolor=#efefef|VFAT=1
 
|bgcolor=#efefef|VFAT=1
 
| Wenn das Video-Verzeichnis auf einer VFAT Partition liegt, oder mittels Samba freigegeben werden soll
 
| Wenn das Video-Verzeichnis auf einer VFAT Partition liegt, oder mittels Samba freigegeben werden soll
Zeile 121: Zeile 110:
 
|}
 
|}
  
Der make-Befehl könnte also folgendermaßen aussehen.
+
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.
<pre>
+
Tipp: In '''Make.config''' können auch Vorgaben für das Kompilieren der Plugins hinterlegt werden.
make VFAT=1 REMOTE=LIRC
+
</pre>
+
 
+
Möchte man VDR + Plugins in einem Rutsch übersetzen.
+
 
+
<pre>
+
make VFAT=1 REMOTE=LIRC all plugins
+
</pre>
+
 
+
Wer öfters übersetzt, der sollte das Template '''[[Make.config.template]]''' nutzen:
+
 
+
 
<pre>
 
<pre>
 
cp Make.config.template Make.config
 
cp Make.config.template Make.config
mcedit Make.config
+
nano Make.config
 
...
 
...
REMOTE=LIRC VFAT=1
+
NO_KBD=1
...
+
VFAT=1
</pre>
+
  
Von nun an langt ein einfaches.
+
PREFIX  = /usr/local/
 +
BINDIR  = $(PREFIX)/bin
 +
MANDIR  = $(PREFIX)/man
  
<pre>
+
VIDEODIR = /video
make
+
...
 
</pre>
 
</pre>
  
Die anderen Optionen werden aus '''Make.config''' übernommen.
+
Nun können die erstellten Binärdateien installiert werden. Dadurch wird das für Aufnahmen notwendige [[VDR_Optionen#video|$VIDEODIR]] erstellt.
  
Nun müssen die notwendigen Dateien verlinkt werden.
+
make install
  
ln -s [[Struktur|$SOURCEDIR]]/VDR/vdr [[Struktur|$PATH]]
+
Man kann aber auch das [[VDR Optionen#video|$VIDEODIR]] und das Konfigurations-Verzeichnis trennen. Das hat den Vorteil, dass verschiedene Versionen von [[VDR]] installiert werden können.
ln -s [[Struktur|$SOURCEDIR]]/VDR/[[SVDRP|svdrpsend.pl]] [[Struktur|$PATH]]
+
 
+
Weiter mit den Verzeichnissen, diese können natürlich nach den eigenen Wünschen / Anforderungen angepasst oder zusammenlegt werden.
+
 
+
Besonders das vom [[VDR Optionen#video|$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 [[VDR_Optionen#video|$VIDEODIR]] erstellt.
+
 
+
mkdir -p [[VDR Optionen#video|$VIDEODIR]]
+
 
+
Weiter mit [[VDR Optionen#config|$VDRCONFIG]], in welches das [[EPG]] und die Konfigurations-Dateien gespeichert werden.
+
 
+
make install-conf VIDEODIR=[[Struktur|$VDRCONFIG]]
+
 
+
Wenn auch die Manual-Seiten benötigt werden.
+
 
+
<pre>
+
gzip -c vdr.1 > /usr/man/man1/vdr.1.gz
+
gzip -c vdr.5 > /usr/man/man5/vdr.5.gz
+
</pre>
+
 
+
==Hinweise==
+
{{Box Warnung|
+
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
+
 
+
<nowiki>export LD_ASSUME_KERNEL=2.4.1</nowiki>
+
 
+
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
+
 
+
<nowiki>export LANG=de_DE.iso8859-1</nowiki>
+
<nowiki>export LC_CTYPE=de_DE.iso8859-1</nowiki>
+
 
+
de_DE.euro sollte auch funktionieren.
+
}}
+
  
 
==Konfiguration==
 
==Konfiguration==
Zeile 209: Zeile 150:
  
 
===Sonstiges===
 
===Sonstiges===
[[runvdr|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.
+
[[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 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:
 +
 
 +
<pre>
 +
rmmod stradis
 +
 
 +
echo blacklist stradis >> /etc/modprobe.d/blacklist
 +
</pre>
 +
 
  
 
==Links==
 
==Links==
# [http://www.cadsoft.de/vdr VDR Homepage]
+
# [http://www.tvdr.de/ VDR Homepage]
# [ftp://ftp.cadsoft.de/vdr/Developer VDR Download-Verzeichnis]
+
# [ftp://ftp.tvdr.de/vdr VDR Download-Verzeichnis]
# [http://www.cadsoft.de/vdr/remote.htm Remote Control Unit für VDR]
+
# [http://www.lirc.org LIRC Homepage]
+
# [http://www.ijg.org Libjpeg]
+
  
 +
[[Kategorie:VDR]]
 
[[Kategorie:Installationsanleitungen]]
 
[[Kategorie:Installationsanleitungen]]
 
{{i18n|VDR Installation}}
 
{{i18n|VDR Installation}}

Aktuelle Version vom 9. August 2013, 19:22 Uhr

Inhaltsverzeichnis

[Bearbeiten] Beschreibung

[Bearbeiten] Softwareanforderungen

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.

[Bearbeiten] Source Installation der Softwareanforderungen

Hinweis
Hinweis

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'


[Bearbeiten] libjpeg

cd $SOURCEDIR
tar xvzf jpegsrc.<VERSION>.tar.gz
cd jpeg-<VERSION>
./configure --prefix=/usr/local
make
make install
ldconfig

[Bearbeiten] libcap

tar xfj libcap-1.10.tar.bz2
cd libcap-1.10
make
make install

[Bearbeiten] fontconfig

tar xfz fontconfig-2.4.2.tar.gz
cd fontconfig-2.4.2
./configure --prefix=/usr/local
make
make install
ldconfig

[Bearbeiten] Distributionen spezifische Installation der Softwareanforderungen

Die Installation von kompilierten Binärpaket per Paketmanager empfiehlt sich für die jeweilige Distribution.

[Bearbeiten] Arch-Linux

pacman -S base-devel libjpeg-turbo

[Bearbeiten] Crux

prt-get depinst libcap libjpeg

[Bearbeiten] Debian

apt-get install build-essential libjpeg62-dev libcap-dev libfontconfig1-dev gettext

[Bearbeiten] Gentoo

emerge jpeg libcap

[Bearbeiten] SuSE

yast -i libjpeg-devel libcap-devel

[Bearbeiten] 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

[Bearbeiten] 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).

Hinweis
Hinweis

Das Versionschema ist das gleiche wie beim Linux-Kernel, ist die zweite Zahl ungerade, handelt es sich um eine Entwickler-Version (z.B. v2.1.x), ist sie gerade, um eine stabile Version für den normalen Benutzer (z.B. 2.0.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

Unter dem älteren VDR 1.x.x gibt es noch folgende Parameter, Ab VDR 1.6.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 VFAT=1 Wenn das Video-Verzeichnis auf einer VFAT Partition liegt, oder mittels Samba freigegeben werden soll
NO_KBD=1 Deaktiviert die Tastatursteuerung

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.

[Bearbeiten] Konfiguration

[Bearbeiten] 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

[Bearbeiten] 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.

[Bearbeiten] 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.

[Bearbeiten] 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


[Bearbeiten] Links

  1. VDR Homepage
  2. VDR Download-Verzeichnis
In anderen Sprachen