VDR Installation

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
K (Box Vorlage)
K (Arch-Linux)
 
(115 dazwischenliegende Versionen von 46 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
==Voraussetzungen==
+
==Beschreibung==
 +
 
 +
==Softwareanforderungen==
 +
* Entwicklungsumgebung (make, gcc..)
 +
* [[DVB Installation|DVB Treiber]].
 +
* [http://www.ijg.org Libjpeg]
 +
* [ftp://ftp.kernel.org/pub/linux/libs/security/linux-privs/kernel-2.4/libcap-1.10.tar.bz2 libcap] >=  1.10
 +
* [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'''
 +
 
 +
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.
 +
 
 +
===Source Installation der Softwareanforderungen===
 
{{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.
 +
<pre>
 +
export SOURCEDIR='/usr/local/src'
 +
</pre>
 
}}
 
}}
 
+
====libjpeg====
Um [[VDR]] installieren zu können, muss der [[DVB]]-Treiber in einem Verzeichnis parallel zu VDR liegen.
+
Also z.B.
+
 
<pre>
 
<pre>
$SOURCEDIR/DVB
+
cd $SOURCEDIR
$SOURCEDIR/VDR
+
tar xvzf jpegsrc.<VERSION>.tar.gz
 +
cd jpeg-<VERSION>
 +
./configure --prefix=/usr/local
 +
make
 +
make install
 +
ldconfig
 
</pre>
 
</pre>
Für weiteres zum DVB-Treiber s.h. [[DVB Installation]].
+
====libcap====
 
+
<pre>
Außerdem muss die [[JPEG]]-[[Library]] installiert sein. Bei einer normalen Distribution sollte dies bereits der Fall sein, falls nicht:
+
tar xfj libcap-1.10.tar.bz2
<pre>cd $SOURCEDIR
+
cd libcap-1.10
tar xvzf jpegsrc.v6b.tar.gz
+
make
cd jpeg-6b
+
make install
 +
</pre>
 +
====fontconfig====
 +
<pre>
 +
tar xfz fontconfig-2.4.2.tar.gz
 +
cd fontconfig-2.4.2
 
./configure --prefix=/usr/local
 
./configure --prefix=/usr/local
 
make
 
make
 
make install
 
make install
ldconfig</pre>
+
ldconfig
{{Box Warnung|
+
</pre>
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-[[Patch|Patches]] zum Einsatz kommt sollte ein
+
  
<nowiki>export LD_ASSUME_KERNEL=2.4.1</nowiki>
+
===Distributionen spezifische Installation der Softwareanforderungen===
 +
Die Installation von kompilierten Binärpaket per Paketmanager empfiehlt sich für die jeweilige [[Distribution]].
 +
====[[Arch-Linux]]====
 +
pacman -S base-devel libjpeg-turbo
  
vor dem Start des VDR gesetzt werden.
+
====[[Crux]]====
 +
prt-get depinst libcap libjpeg
  
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
+
====[[Debian]]====
 +
apt-get install build-essential libjpeg62-dev libcap-dev libfontconfig1-dev gettext
  
<nowiki>export LANG=de_DE.iso8859-1</nowiki>
+
====[[Gentoo]]====
  <nowiki>export LC_CTYPE=de_DE.iso8859-1</nowiki>
+
  emerge jpeg libcap
  
de_DE.euro sollte auch funktionieren
+
====[[SuSE]]====
}}
+
yast -i libjpeg-devel libcap-devel
  
Zunächst wird eine aktuelle Version von [[VDR]] benötigt ([ftp://ftp.cadsoft.de/vdr/Developer [1]], [http://www.cadsoft.de/vdr [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).
+
==== 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).
 +
 
 +
{{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'''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.
  
==Entpacken==
+
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.
Nun wird das eben heruntergeladene Archiv entpackt und ein symbolischer Link nach VDR gesetzt
+
 
<pre>cd $SOURCEDIR
+
<pre>
tar -jxvf /path/to/vdr-<VERSION>.tar.bz2
+
cd $SOURCEDIR
ln -s vdr-<VERSION> VDR
+
tar jxvf /path/to/vdr-<VERSION>.tar.bz2
cd VDR</pre>
+
cd vdr-<VERSION>
==Kompilieren==
+
make
Zum kompilieren reicht ein einfaches
+
</pre>
<pre>make</pre>
+
Damit wird VDR mit Standardeinstellungen und Unterstützung für die Tastatur übersetzt.
+
  
Folgende Parameter können make übergeben werden, um VDR anzupassen.
+
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.
 
{|
 
{|
 
|bgcolor=#efefef|REMOTE=[[RCU]]
 
|bgcolor=#efefef|REMOTE=[[RCU]]
| ''"Remote Control Unit"'', ein speziell für VDR entwickelter Infrarot-Empfänger (s.h. [http://www.cadsoft.de/vdr/remote.htm [3]])
+
| '''R'''emote '''C'''ontrol '''U'''nit, ein speziell für VDR entwickelter Infrarot-Empfänger
 
|-
 
|-
 
|bgcolor=#efefef|REMOTE=[[LIRC]]
 
|bgcolor=#efefef|REMOTE=[[LIRC]]
| ''"Linux Infrared Remote Control"''. Infrarot-Empfänger für Linux (s.h. [http://www.lirc.org [4]])
+
| '''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 65: 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.
<pre>make VFAT=1 REMOTE=LIRC</pre>
+
Der Buildprozess übernimmt dann die in '''Make.config''' gewählten Vorgaben.
Möchte man VDR + Plugins in einem Rutsch übersetzen
+
Tipp: In '''Make.config''' können auch Vorgaben für das Kompilieren der Plugins hinterlegt werden.
<pre>make VFAT=1 REMOTE=LIRC all plugins</pre>
+
<pre>
Wer öfters übersetzt, der sollte das Template '''[[Make.config.template]]''' nutzen:
+
cp Make.config.template Make.config
<pre>cp Make.config.template Make.config
+
nano Make.config
mcedit Make.config
+
 
...
 
...
REMOTE=LIRC VFAT=1
+
NO_KBD=1
...</pre>
+
VFAT=1
Von nun an langt ein einfaches:
+
<pre>make</pre>
+
Die anderen Optionen werden aus '''Make.config''' übernommen.
+
==Installation==
+
===Standard===
+
Nachdem VDR nun fertig übersetzt ist, kann er installiert werden
+
<pre>su
+
make install</pre>
+
Das installiert VDR, legt das Video-Verzeichnis an und kopiert die Konfigurationsdateien dorthin.
+
  
===Benutzerdefiniert===
+
PREFIX  = /usr/local/
Zuerst werden ein paar notwendige Verzeichnisse angelegt
+
BINDIR  = $(PREFIX)/bin
<pre>su
+
MANDIR  = $(PREFIX)/man
mkdir /var/spool/video
+
mkdir /var/spool/epg
+
mkdir /etc/vdr
+
mkdir /usr/lib/vdr</pre>
+
Diese Verzeichnisse sind für die Aufnahmen, für das [[EPG]], für die Konfigurationsdateien und für die [[Plugins]]. Die Pfade können natürlich nach den eigenen Wünschen/Anforderungen angepasst oder zusammenlegen werden. Besonders das vom Video-Verzeichnis getrennte Konfigurations-Verzeichnis hat aber den Vorteil, dass verschiedene Versionen von [[VDR]] installiert werden können, mit jeweils eigenen Konfigurationen.
+
  
Nun müssen nur noch die notwendigen Dateien kopiert werden:
+
VIDEODIR = /video
<pre>cp vdr /usr/bin
+
...
cp *.conf /etc/vdr
+
cp PLUGINS/lib/* /usr/lib/vdr</pre>
+
Evt. noch das [[svdrpsend.pl]] Script in den PATH kopieren, da einige Programme/[[Plugins]] es nutzen, z.B. [[vdrconvert-plugin]]/[[vdrrip-plugin]]:
+
<pre>cp svdrpsend.pl /usr/local/bin</pre>
+
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>
 
</pre>
 +
 +
Nun können die erstellten Binärdateien installiert werden. Dadurch wird das für Aufnahmen notwendige [[VDR_Optionen#video|$VIDEODIR]] erstellt.
 +
 +
make install
 +
 +
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.
 +
 
==Konfiguration==
 
==Konfiguration==
 
===Aufruf===
 
===Aufruf===
Beim starten werden VDR die entsprechenden Pfade bekannt gemacht
+
Beim Starten werden VDR die entsprechenden Pfade wie folgt bekannt gemacht:
<pre>
+
 
vdr --video=/var/spool/video \
+
vdr --video=[[VDR Optionen#video|$VIDEODIR]] \
    --epgfile=/var/spool/epg \
+
    --epgfile=[[Struktur|$VDRCONFIG]]/[[epg.data]] \
    --config=/etc/vdr \
+
    --config=[[VDR Optionen#config|$VDRCONFIG]] \
    --lib=/usr/lib/vdr \
+
    --lib=[[Struktur|$SOURCEDIR]]/VDR/PLUGINS/lib \
    [weitere Parameter]
+
    --shutdown=[[Struktur|$PATH]]/[[shutdown.sh]] \
</pre>
+
    --record=[[Struktur|$PATH]]/[[rwrapper.sh]] \
 +
    --[[VDR Optionen|weitere Parameter]]
  
 
===Netzwerk===
 
===Netzwerk===
VDR bietet die Möglichkeit über das Netzwerk mit Hilfe des [[svdrp|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.
+
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===
 
===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.
+
[[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.tvdr.de/ VDR Homepage]
| [1]
+
# [ftp://ftp.tvdr.de/vdr VDR Download-Verzeichnis]
| http://www.cadsoft.de/vdr
+
 
| VDR Homepage
+
[[Kategorie:VDR]]
|-
+
[[Kategorie:Installationsanleitungen]]
| [2]
+
{{i18n|VDR Installation}}
| ftp://ftp.cadsoft.de/vdr/Developer
+
| VDR Download-Verzeichnis
+
|-
+
| [3]
+
| http://www.cadsoft.de/vdr/remote.htm
+
| Remote Control Unit für VDR
+
|-
+
| [4]
+
| http://www.lirc.org
+
| LIRC Homepage
+
|-
+
| [5]
+
| http://www.ijg.org
+
| Libjpeg
+
|}
+

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