Ubuntu HD VDR mittels Xine und VAAPI - VDR

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(remote.conf erstellen)
K (Falls nur ein Tuner der TV Karte genutzt wird)
 
(14 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
==Downloadverzeichnis vorbereiten==
 
mkdir /data/vdr
 
 
 
==Installationsmedien herunterladen==
 
==Installationsmedien herunterladen==
  cd /data/vdr
+
  cd /data
 
  wget ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.18.tar.bz2
 
  wget ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.18.tar.bz2
 +
tar xf vdr-1.7.18.tar.bz2
 +
ln -s vdr-1.7.18 vdr
  
 
==Videoverzeichnis vorbereiten==
 
==Videoverzeichnis vorbereiten==
Zeile 13: Zeile 12:
  
 
==Installation VDR==
 
==Installation VDR==
===VDR Verzeichnis vorbereiten und Installationsmedien entpacken===
 
sudo su -
 
 
cd /usr/local/src
 
tar -xjf /data/vdr/vdr-1.7.18.tar.bz2
 
ln -s vdr-1.7.18/ vdr
 
 
 
===Make.config erstellen und anpassen===
 
===Make.config erstellen und anpassen===
  cd /usr/local/src/vdr
+
  cd /data/vdr
  cp -a Make.config.template Make.config
+
  cp Make.config.template Make.config
 
  vi Make.config
 
  vi Make.config
  
 
  ### The directory environment:
 
  ### The directory environment:
  DVBDIR  = /usr/local/src/dvb/linux
+
  DVBDIR  = /data/dvb/linux
 
   
 
   
  LOCDIR  = /usr/local/src/vdr/locale
+
  LOCDIR  = /data/vdr/locale
  PLUGINDIR= /usr/local/src/vdr/PLUGINS
+
  PLUGINDIR= /data/vdr/PLUGINS
  
 
===VDR Konfigurationen ablegen===
 
===VDR Konfigurationen ablegen===
  cd /usr/local/src/vdr
+
  cd /soft/vdr
  cp -a svdrpsend.pl /usr/local/bin
+
  sudo cp -a svdrpsend.pl /usr/local/bin
  mkdir -p /etc/vdr/plugins /var/vdr
+
  sudo mkdir -p /etc/vdr/plugins /var/vdr
 +
sudo chown -R vdruser:vdruser /etc/vdr /var/vdr
 
  mv *.conf /etc/vdr
 
  mv *.conf /etc/vdr
 
  mv channels.conf.cable /etc/vdr
 
  mv channels.conf.cable /etc/vdr
Zeile 58: Zeile 51:
  
 
===Installation VDR===
 
===Installation VDR===
  cd /usr/local/src/vdr
+
  cd /data/vdr
  make REMOTE=LIRC && make plugins && make install
+
  make REMOTE=LIRC
 
+
make plugins
exit
+
sudo make install
  
 
====Fehlermeldung nach erfolgreicher VDR Installation====
 
====Fehlermeldung nach erfolgreicher VDR Installation====
Zeile 82: Zeile 75:
  
 
===runvdr anpassen===
 
===runvdr anpassen===
  cd /usr/local/bin
+
  sudo vi /usr/local/bin/runvdr
sudo vi runvdr
+
  
 
  #!/bin/bash
 
  #!/bin/bash
 
# runvdr: Loads the DVB driver and runs VDR
 
#
 
# If VDR exits abnormally, the driver will be reloaded
 
# and VDR restarted.
 
#
 
# In order to actually use this script you need to implement
 
# the functions DriverLoaded(), LoadDriver() and UnloadDriver()
 
# and maybe adjust the VDRPRG and VDRCMD to your particular
 
# requirements.
 
#
 
# Since this script loads the DVB driver, it must be started
 
# as user 'root'. Add the option "-u username" to run VDR
 
# under the given user name.
 
#
 
# Any command line parameters will be passed on to the
 
# actual 'vdr' program.
 
#
 
# See the main source file 'vdr.c' for copyright information and
 
# how to reach the author.
 
#
 
# $Id: runvdr 2.0 2006/05/14 16:02:05 kls Exp $
 
 
   
 
   
 
  export LANG=de_DE.utf8
 
  export LANG=de_DE.utf8
Zeile 119: Zeile 89:
 
         $*"
 
         $*"
 
   
 
   
  KILL="/usr/bin/killall -q -TERM"
+
  eval "$VDRCMD"
+
# Detect whether the DVB driver is already loaded
+
# and return 0 if it *is* loaded, 1 if not:
+
function DriverLoaded()
+
{
+
  return 1
+
}
+
+
# Load all DVB driver modules needed for your hardware:
+
function LoadDriver()
+
{
+
  return 0
+
}
+
+
# Unload all DVB driver modules loaded in LoadDriver():
+
function UnloadDriver()
+
{
+
  return 0
+
}
+
+
# Load driver if it hasn't been loaded already:
+
if ! DriverLoaded; then
+
    LoadDriver
+
fi
+
+
while (true) do
+
      eval "$VDRCMD"
+
      if test $? -eq 0 -o $? -eq 2; then exit; fi
+
      echo "`date` reloading DVB driver"
+
      $KILL $VDRPRG
+
      sleep 10
+
      UnloadDriver
+
      LoadDriver
+
      echo "`date` restarting VDR"
+
      done
+
  
 
===runvdr Skript ausführbar machen===
 
===runvdr Skript ausführbar machen===
  cd /usr/local/bin
+
  sudo chmod +x /usr/local/bin/runvdr
sudo chmod +x runvdr
+
  
 
===runvdr Skript als User root starten===
 
===runvdr Skript als User root starten===
Zeile 177: Zeile 111:
 
Das "runvdr" Skript könnte folgendermaßen erweitert werden:
 
Das "runvdr" Skript könnte folgendermaßen erweitert werden:
  
  cd /usr/local/bin
+
  sudo vi /usr/local/bin/runvdr
sudo vi runvdr
+
  
 
  VDRCMD="$VDRPRG -w 60 -c /etc/vdr -E /var/vdr -D0 -u vdruser \
 
  VDRCMD="$VDRPRG -w 60 -c /etc/vdr -E /var/vdr -D0 -u vdruser \
Zeile 193: Zeile 126:
 
  sudo chown -R vdruser.vdruser /usr/local/bin/vdr
 
  sudo chown -R vdruser.vdruser /usr/local/bin/vdr
 
  sudo chown -R vdruser.vdruser /usr/local/bin/vdrpoweroff.sh
 
  sudo chown -R vdruser.vdruser /usr/local/bin/vdrpoweroff.sh
 
==VDR in den Autostart==
 
Damit der VDR zukünftig automatisch mit der grafischen Oberfläche startet muss das runvdr Skript in den Autostart hinzugefügt werden.
 
 
* System -> Einstellungen -> Startprogramme -> Hinzufügen ->
 
Name:      VDR
 
Befehl:    /usr/local/bin/runvdr
 
Kommentar:  VDR Startskript
 
  
 
==VDR auf Lauffähigkeit überprüfen==
 
==VDR auf Lauffähigkeit überprüfen==
Zeile 274: Zeile 199:
  
 
Die Error Meldungen im Log sind an dieser Stelle noch normal da noch kein Ausgabeplugin für das TV Bild gestartet ist.
 
Die Error Meldungen im Log sind an dieser Stelle noch normal da noch kein Ausgabeplugin für das TV Bild gestartet ist.
 
==System neu starten und prüfen ob der VDR automatisch gestartet wird==
 
Hiermit ist die VDR Installation grundsätzlich abgeschlossen. Nach einem Systemneustart sollte der VDR automatisch gestartet werden. Das könnt Ihr wie oben beschrieben im VDR Log sehen.
 
 
sudo init 6
 
  
 
==Links==
 
==Links==
 
# [http://www.tvdr.de/ Video Disc Recorder Homepage]
 
# [http://www.tvdr.de/ Video Disc Recorder Homepage]
 
# [ftp://ftp.tvdr.de/vdr/Developer/ VDR FTP-Server]
 
# [ftp://ftp.tvdr.de/vdr/Developer/ VDR FTP-Server]
# [http://www.vdr-portal.de/board/portal.php VDR Portal]
+
 
 +
[[Kategorie:Ubuntu HD VDR mittels Xine und VAAPI]]

Aktuelle Version vom 14. Januar 2012, 18:57 Uhr

Inhaltsverzeichnis

[Bearbeiten] Installationsmedien herunterladen

cd /data
wget ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.18.tar.bz2
tar xf vdr-1.7.18.tar.bz2
ln -s vdr-1.7.18 vdr

[Bearbeiten] Videoverzeichnis vorbereiten

In diesem Verzeichnis werden später die VDR Aufnahmen abgelegt.

mkdir /video
chown vdruser:vdruser /video

[Bearbeiten] Installation VDR

[Bearbeiten] Make.config erstellen und anpassen

cd /data/vdr
cp Make.config.template Make.config
vi Make.config
### The directory environment:
DVBDIR   = /data/dvb/linux

LOCDIR   = /data/vdr/locale
PLUGINDIR= /data/vdr/PLUGINS

[Bearbeiten] VDR Konfigurationen ablegen

cd /soft/vdr
sudo cp -a svdrpsend.pl /usr/local/bin
sudo mkdir -p /etc/vdr/plugins /var/vdr
sudo chown -R vdruser:vdruser /etc/vdr /var/vdr
mv *.conf /etc/vdr
mv channels.conf.cable /etc/vdr
mv channels.conf.terr /etc/vdr

[Bearbeiten] Shutdownskript erstellen und ablegen

cd /usr/local/bin
vi vdrpoweroff.sh
#!/bin/bash
sudo /sbin/poweroff

und anschließend das Skript ausführbar machen:

cd /usr/local/bin
chmod +x vdrpoweroff.sh

[Bearbeiten] sudoers erweitern

Das Skript muss mit root-Rechten ausgeführt werden. Passt man sudoers wie hier gezeigt an, kann vdruser ohne zusätzliche Passworteingabe mit root-Rechten arbeiten.

visudo
vdruser ALL=(ALL) NOPASSWD: /usr/local/bin/vdrpoweroff.sh,/sbin/poweroff

[Bearbeiten] Installation VDR

cd /data/vdr
make REMOTE=LIRC
make plugins
sudo make install

[Bearbeiten] Fehlermeldung nach erfolgreicher VDR Installation

Falls nach der VDR Installation folgende "Fehlermeldung" auftaucht kann diese ignoriert werden:

cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-dvbhddevice.so.1.7.18“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-dvbhddevice.so.1.7.18“ sind die gleiche Datei
cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-dvbsddevice.so.1.7.18“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-dvbsddevice.so.1.7.18“ sind die gleiche Datei
cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-hello.so.1.7.18“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-hello.so.1.7.18“ sind die gleiche Datei
cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-osddemo.so.1.7.18“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-osddemo.so.1.7.18“ sind die gleiche Datei
cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-pictures.so.1.7.18“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-pictures.so.1.7.18“ sind die gleiche Datei
cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-skincurses.so.1.7.18“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-skincurses.so.1.7.18“ sind die gleiche Datei
cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-status.so.1.7.18“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-status.so.1.7.18“ sind die gleiche Datei
cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-svccli.so.1.7.18“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-svccli.so.1.7.18“ sind die gleiche Datei
cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-svcsvr.so.1.7.18“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-svcsvr.so.1.7.18“ sind die gleiche Datei
cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-svdrpdemo.so.1.7.18“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-svdrpdemo.so.1.7.18“ sind die gleiche Datei
make: *** [install-plugins] Fehler 1

[Bearbeiten] VDR mittels runvdr starten

Das Skript runvdr wird benötigt um die DVB Treiber sowie den VDR zu starten.

[Bearbeiten] runvdr anpassen

sudo vi /usr/local/bin/runvdr
#!/bin/bash

export LANG=de_DE.utf8
export LC_COLLATE=de_DE.utf8

PATH=/usr/local/bin:$PATH
VDRPRG="/usr/local/bin/vdr"
VDRCMD="$VDRPRG -w 60 -c /etc/vdr -E /var/vdr -u vdruser \
        -L /usr/local/src/vdr/PLUGINS/lib \
        -s /usr/local/bin/vdrpoweroff.sh \
        $*"

eval "$VDRCMD"

[Bearbeiten] runvdr Skript ausführbar machen

sudo chmod +x /usr/local/bin/runvdr

[Bearbeiten] runvdr Skript als User root starten

Damit der vdruser das runvdr Skript ausführen kann benötigt dieser root Rechte.

sudo visudo
vdruser ALL=(ALL) NOPASSWD: /usr/local/bin/runvdr,/usr/local/bin/vdr,/usr/bin/killall

[Bearbeiten] Falls nur ein Tuner der TV Karte genutzt wird

Achtung! Falls nur 1 SAT-Kabel an die TV Karte angeschlossen ist kann nur 1 Tuner verwendet werden. Deshalb muss der zweite Tuner für den VDR deaktiviert werden.

Hier die VDR Parameter um einen der Tuner zu deaktivieren:

  -D NUM,   --device=NUM   use only the given DVB device (NUM = 0, 1, 2...)
                           there may be several -D options (default: all DVB
                           devices will be used)

Das "runvdr" Skript könnte folgendermaßen erweitert werden:

sudo vi /usr/local/bin/runvdr
VDRCMD="$VDRPRG -w 60 -c /etc/vdr -E /var/vdr -D0 -u vdruser \

somit wird nur 1 Tuner der TV-Karte genutzt.

[Bearbeiten] VDR auf non-root User umstellen

sudo chown -R vdruser.vdruser /usr/local/src/vdr
sudo chown -R vdruser.vdruser /usr/local/src/vdr/
sudo chown -R vdruser.vdruser /etc/vdr/
sudo chown -R vdruser.vdruser /var/vdr/
sudo chown -R vdruser.vdruser /usr/local/bin/runvdr
sudo chown -R vdruser.vdruser /usr/local/bin/svdrpsend.pl
sudo chown -R vdruser.vdruser /usr/local/bin/vdr
sudo chown -R vdruser.vdruser /usr/local/bin/vdrpoweroff.sh

[Bearbeiten] VDR auf Lauffähigkeit überprüfen

Achtung! Bei diesen Test´s wird noch kein TV Bild angezeigt. Hier wird erstmal die grundsätzliche Lauffähigkeit des VDR´s geprüft. Sobald der VDR ordnungsgemäß läuft gehts mit den nächsten Schritten und dem TV Ausgabeplugin für den VDR weiter.

[Bearbeiten] VDR manuell starten und Log überprüfen

Am besten ist Ihr macht euch zwei SSH Session´s auf euren VDR auf.

[Bearbeiten] SSH Session 1

Hier wird das VDR Log geöffnet:

tail -f /var/log/syslog

[Bearbeiten] SSH Session 2

Hier wird der VDR manuell gestartet:

/usr/local/bin/runvdr

[Bearbeiten] VDR Logausgabe

Jetzt könnt Ihr auf der "SSH Session 1" genau mitverfolgen was der VDR macht. Wenn der VDR ordnungsgemäß läuft sollte es so aussehen:

May 15 12:57:24 vdr vdr: [3733] cTimeMs: using monotonic clock (resolution is 1 ns)
May 15 12:57:24 vdr vdr: [3733] VDR version 1.7.18 started
May 15 12:57:24 vdr vdr: [3733] codeset is 'UTF-8' - known
May 15 12:57:24 vdr vdr: [3733] found 28 locales in /usr/local/src/vdr/locale
May 15 12:57:24 vdr vdr: [3733] no locale for language code 'por'
May 15 12:57:24 vdr vdr: [3733] loading /etc/vdr/setup.conf
May 15 12:57:24 vdr vdr: [3733] loading /etc/vdr/sources.conf
May 15 12:57:24 vdr vdr: [3733] loading /etc/vdr/diseqc.conf
May 15 12:57:24 vdr vdr: [3733] loading /etc/vdr/channels.conf
May 15 12:57:24 vdr vdr: [3733] loading /etc/vdr/svdrphosts.conf
May 15 12:57:24 vdr vdr: [3733] loading /etc/vdr/keymacros.conf
May 15 12:57:24 vdr vdr: [3735] video directory scanner thread started (pid=3733, tid=3735)
May 15 12:57:24 vdr vdr: [3733] reading EPG data from /var/vdr/epg.data
May 15 12:57:24 vdr vdr: [3736] video directory scanner thread started (pid=3733, tid=3736)
May 15 12:57:24 vdr vdr: [3733] registered source parameters for 'A - ATSC'
May 15 12:57:24 vdr vdr: [3733] registered source parameters for 'C - DVB-C'
May 15 12:57:24 vdr vdr: [3733] registered source parameters for 'S - DVB-S'
May 15 12:57:24 vdr vdr: [3733] registered source parameters for 'T - DVB-T'
May 15 12:57:24 vdr vdr: [3733] probing /dev/dvb/adapter0/frontend0
May 15 12:57:24 vdr vdr: [3733] creating cDvbDevice
May 15 12:57:24 vdr vdr: [3733] new device number 1
May 15 12:57:25 vdr vdr: [3736] video directory scanner thread ended (pid=3733, tid=3736)
May 15 12:57:25 vdr vdr: [3735] video directory scanner thread ended (pid=3733, tid=3735)
May 15 12:57:25 vdr vdr: [3733] frontend 0/0 provides DVB-S2 with QPSK ("STV090x Multistandard")
May 15 12:57:25 vdr vdr: [3738] tuner on frontend 0/0 thread started (pid=3733, tid=3738)
May 15 12:57:25 vdr vdr: [3739] section handler thread started (pid=3733, tid=3739)
May 15 12:57:25 vdr vdr: [3733] probing /dev/dvb/adapter1/frontend0
May 15 12:57:25 vdr vdr: [3733] creating cDvbDevice
May 15 12:57:25 vdr vdr: [3733] new device number 2
May 15 12:57:25 vdr vdr: [3733] frontend 1/0 provides DVB-S2 with QPSK ("STV090x Multistandard")
May 15 12:57:25 vdr vdr: [3741] tuner on frontend 1/0 thread started (pid=3733, tid=3741)
May 15 12:57:25 vdr vdr: [3742] section handler thread started (pid=3733, tid=3742)
May 15 12:57:25 vdr vdr: [3733] found 2 DVB devices
May 15 12:57:25 vdr vdr: [3733] setting primary device to 1
May 15 12:57:25 vdr vdr: [3733] device 1 has no MPEG decoder
May 15 12:57:25 vdr vdr: [3733] assuming manual start of VDR
May 15 12:57:25 vdr vdr: [3733] SVDRP listening on port 6419
May 15 12:57:25 vdr vdr: [3733] setting current skin to "sttng"
May 15 12:57:25 vdr vdr: [3733] loading /etc/vdr/themes/sttng-default.theme
May 15 12:57:25 vdr vdr: [3733] ERROR: /dev/lircd: Datei oder Verzeichnis nicht gefunden
May 15 12:57:25 vdr vdr: [3733] ERROR: remote control LIRC not ready!
May 15 12:57:25 vdr vdr: [3743] KBD remote control thread started (pid=3733, tid=3743)
May 15 12:57:25 vdr vdr: [3733] remote control KBD - learning keys
May 15 12:57:25 vdr vdr: [3733] ERROR: no OSD provider available - using dummy OSD!
May 15 12:57:35 vdr vdr: [3733] switching to channel 1
May 15 12:57:35 vdr vdr: [3733] setting watchdog timer to 60 seconds
May 15 12:57:35 vdr vdr: [3733] OSD size changed to 720x480 @ 1
May 15 12:57:35 vdr vdr: [3733] ERROR: no OSD provider available - using dummy OSD!
May 15 12:57:36 vdr vdr: [3733] retuning due to modification of channel 1
May 15 12:57:36 vdr vdr: [3733] switching to channel 1


Die Error Meldungen im Log sind an dieser Stelle noch normal da noch kein Ausgabeplugin für das TV Bild gestartet ist.

[Bearbeiten] Links

  1. Video Disc Recorder Homepage
  2. VDR FTP-Server