Ubuntu HD VDR mittels TechnoTrend S2-6400 - VDR

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Downloadverzeichnis vorbereiten

mkdir -p /data/installfiles/vdr

Installationsmedien herunterladen

cd /data/installfiles/vdr
wget ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.18.tar.bz2

Videoverzeichnis vorbereiten

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

mkdir -p /data/vdrrecords
cd /
sudo ln -s /data/vdrrecords/ video

Installation VDR

VDR Verzeichnis vorbereiten und Installationsmedien entpacken

sudo su -
cd /usr/local/src
tar -xjf /data/installfiles/vdr/vdr-1.7.18.tar.bz2 
ln -s vdr-1.7.18/ vdr

Make.config erstellen und anpassen

cd /usr/local/src/vdr
cp -a Make.config.template Make.config
vi Make.config

### The directory environment:
DVBDIR   = /usr/local/src/dvb/linux
LOCDIR   = /usr/local/src/vdr/locale
PLUGINDIR= /usr/local/src/vdr/PLUGINS

VDR Konfigurationen ablegen

cd /usr/local/src/vdr
cp -a svdrpsend.pl /usr/local/bin
mkdir -p /etc/vdr/plugins /var/vdr
mv *.conf /etc/vdr
mv channels.conf.cable /etc/vdr
mv channels.conf.terr /etc/vdr

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

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

Installation VDR

cd /usr/local/src/vdr
make REMOTE=LIRC && make plugins && make install
exit

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

VDR mittels runvdr starten

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

runvdr anpassen

cd /usr/local/bin
sudo vi runvdr
#!/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 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 \
        $*"

KILL="/usr/bin/killall -q -TERM"

# 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

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

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

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 obige "runvdr" Skript könnte folgendermaßen erweitert werden:

VDRCMD="$VDRPRG -w 60 -c /etc/vdr -E /var/vdr -D0 -u vdruser \

somit wird nur 1 Tuner der TV-Karte genutzt.

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

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

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 Ausgabeplugin für den VDR weiter.

VDR manuell starten und Log überprüfen

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

SSH Session 1

Hier wird das VDR Log geöffnet:

tail -f /var/log/user.log

SSH Session 2

Hier wird der VDR manuell gestartet:

/usr/local/bin/runvdr

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:

Apr 18 15:02:24 vdr vdr: [3313] cTimeMs: using monotonic clock (resolution is 1 ns)
Apr 18 15:02:24 vdr vdr: [3313] VDR version 1.7.18 started
Apr 18 15:02:24 vdr vdr: [3313] codeset is 'UTF-8' - known
Apr 18 15:02:24 vdr vdr: [3313] found 28 locales in /usr/local/src/vdr/locale
Apr 18 15:02:24 vdr vdr: [3313] no locale for language code 'por'
Apr 18 15:02:24 vdr vdr: [3313] creating directory /etc/vdr/themes
Apr 18 15:02:24 vdr vdr: [3313] loading /etc/vdr/sources.conf
Apr 18 15:02:24 vdr vdr: [3313] loading /etc/vdr/diseqc.conf
Apr 18 15:02:24 vdr vdr: [3313] loading /etc/vdr/channels.conf
Apr 18 15:02:24 vdr vdr: [3313] loading /etc/vdr/svdrphosts.conf
Apr 18 15:02:24 vdr vdr: [3313] loading /etc/vdr/remote.conf
Apr 18 15:02:24 vdr vdr: [3313] loading /etc/vdr/keymacros.conf
Apr 18 15:02:24 vdr vdr: [3314] video directory scanner thread started (pid=3313, tid=3314)
Apr 18 15:02:24 vdr vdr: [3315] video directory scanner thread started (pid=3313, tid=3315)
Apr 18 15:02:24 vdr vdr: [3313] registered source parameters for 'A - ATSC'
Apr 18 15:02:24 vdr vdr: [3313] registered source parameters for 'C - DVB-C'
Apr 18 15:02:24 vdr vdr: [3313] registered source parameters for 'S - DVB-S'
Apr 18 15:02:24 vdr vdr: [3313] registered source parameters for 'T - DVB-T'
Apr 18 15:02:24 vdr vdr: [3313] probing /dev/dvb/adapter0/frontend0
Apr 18 15:02:24 vdr vdr: [3313] creating cDvbDevice
Apr 18 15:02:24 vdr vdr: [3313] new device number 1
Apr 18 15:02:24 vdr vdr: [3315] video directory scanner thread ended (pid=3313, tid=3315)
Apr 18 15:02:24 vdr vdr: [3314] video directory scanner thread ended (pid=3313, tid=3314)
Apr 18 15:02:24 vdr vdr: [3313] frontend 0/0 provides DVB-S2 with QPSK ("STV090x Multistandard")
Apr 18 15:02:24 vdr vdr: [3317] tuner on frontend 0/0 thread started (pid=3313, tid=3317)
Apr 18 15:02:24 vdr vdr: [3318] section handler thread started (pid=3313, tid=3318)
Apr 18 15:02:24 vdr vdr: [3313] probing /dev/dvb/adapter0/frontend1
Apr 18 15:02:24 vdr vdr: [3313] creating cDvbDevice
Apr 18 15:02:24 vdr vdr: [3313] new device number 2
Apr 18 15:02:24 vdr vdr: [3313] frontend 0/1 provides DVB-S2 with QPSK ("STV090x Multistandard")
Apr 18 15:02:24 vdr vdr: [3320] tuner on frontend 0/1 thread started (pid=3313, tid=3320)
Apr 18 15:02:24 vdr vdr: [3321] section handler thread started (pid=3313, tid=3321)
Apr 18 15:02:24 vdr vdr: [3313] found 2 DVB devices
Apr 18 15:02:24 vdr vdr: [3313] setting primary device to 1
Apr 18 15:02:24 vdr vdr: [3313] device 1 has no MPEG decoder
Apr 18 15:02:24 vdr vdr: [3313] assuming manual start of VDR
Apr 18 15:02:24 vdr vdr: [3313] SVDRP listening on port 6419
Apr 18 15:02:24 vdr vdr: [3313] setting current skin to "sttng"
Apr 18 15:02:24 vdr vdr: [3313] loading /etc/vdr/themes/sttng-default.theme
Apr 18 15:02:24 vdr vdr: [3322] LIRC remote control thread started (pid=3313, tid=3322)
Apr 18 15:02:24 vdr vdr: [3323] KBD remote control thread started (pid=3313, tid=3323)
Apr 18 15:02:24 vdr vdr: [3313] remote control LIRC - keys known
Apr 18 15:02:24 vdr vdr: [3313] remote control KBD - keys known
Apr 18 15:02:24 vdr vdr: [3313] setting watchdog timer to 60 seconds
Apr 18 15:02:24 vdr vdr: [3313] OSD size changed to 720x480 @ 1
Apr 18 15:02:24 vdr vdr: [3313] ERROR: no OSD provider available - using dummy OSD!
Apr 18 15:02:30 vdr vdr: [3313] max. latency time 1 seconds

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

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