Ubuntu HD VDR mittels TechnoTrend S2-6400 - VDR

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(VDR Konfigurationen ablegen)
(VDR Logausgabe)
 
(115 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 4: Zeile 4:
 
==Installationsmedien herunterladen==
 
==Installationsmedien herunterladen==
 
  cd /data/installfiles/vdr
 
  cd /data/installfiles/vdr
  wget ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.27.tar.bz2
+
  wget ftp://ftp.tvdr.de/vdr/vdr-2.0.4.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
+
  
 
==vdruser in die Gruppe video aufnehmen==
 
==vdruser in die Gruppe video aufnehmen==
Zeile 24: Zeile 17:
  
 
  cd /usr/local/src
 
  cd /usr/local/src
  tar -xjf /data/installfiles/vdr/vdr-1.7.27.tar.bz2  
+
  tar -xjf /data/installfiles/vdr/vdr-2.0.4.tar.bz2  
  ln -s vdr-1.7.27/ vdr
+
  ln -s vdr-2.0.4/ 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 /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===
 
===Shutdownskript erstellen und ablegen===
  cd /usr/local/bin
+
  vi /usr/local/bin/vdrpoweroff.sh
vi vdrpoweroff.sh
+
  
 
  #!/bin/bash
 
  #!/bin/bash
Zeile 54: Zeile 27:
  
 
und anschließend das Skript ausführbar machen:
 
und anschließend das Skript ausführbar machen:
  cd /usr/local/bin
+
  chmod +x /usr/local/bin/vdrpoweroff.sh
chmod +x vdrpoweroff.sh
+
  
====sudoers erweitern====
+
====Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen====
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.
+
Damit der Benutzer '''vdruser''' die benötigten Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen kann muss dies mittels '''visudo''' konfiguriert werden. '''Achtung!''' Die Einträge müssen untereinander und am Ende der Datei eingefügt werden.
  
 
  visudo
 
  visudo
Zeile 66: Zeile 38:
 
===Installation VDR===
 
===Installation VDR===
 
  cd /usr/local/src/vdr
 
  cd /usr/local/src/vdr
  make REMOTE=LIRC && make plugins && make install
+
  make REMOTE=LIRC && make install
  
 
  exit
 
  exit
  
====Fehlermeldung nach erfolgreicher VDR Installation====
+
===Videoverzeichnis anpassen===
Falls nach der VDR Installation folgende "Fehlermeldung" auftaucht kann diese ignoriert werden:
+
In diesem Verzeichnis werden später die VDR Aufnahmen abgelegt. Da ich mich an den Standardpfad für das Videroverzeichnis des VDR halten möchte, aber mein vorhander Festplattenspeicher in einem anderen Verzeichnis vorhanden ist, ist das setzen eines Link nötig.
  
  cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-dvbhddevice.so.1.7.24“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-dvbhddevice.so.1.7.24“ sind die gleiche Datei
+
  mkdir -p /data/vdrrecords
  cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-dvbsddevice.so.1.7.24“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-dvbsddevice.so.1.7.24“ sind die gleiche Datei
+
  sudo rm -r /srv/vdr/video
  cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-hello.so.1.7.24“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-hello.so.1.7.24“ sind die gleiche Datei
+
  sudo ln -s /data/vdrrecords/ /srv/vdr/video
cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-osddemo.so.1.7.24“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-osddemo.so.1.7.24“ sind die gleiche Datei
+
cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-pictures.so.1.7.24“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-pictures.so.1.7.24“ sind die gleiche Datei
+
cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-skincurses.so.1.7.24“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-skincurses.so.1.7.24“ sind die gleiche Datei
+
cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-status.so.1.7.24“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-status.so.1.7.24“ sind die gleiche Datei
+
cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-svccli.so.1.7.24“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-svccli.so.1.7.24“ sind die gleiche Datei
+
cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-svcsvr.so.1.7.24“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-svcsvr.so.1.7.24“ sind die gleiche Datei
+
cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-svdrpdemo.so.1.7.24“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-svdrpdemo.so.1.7.24“ sind die gleiche Datei
+
make: *** [install-plugins] Fehler 1
+
  
 
==VDR mittels runvdr starten==
 
==VDR mittels runvdr starten==
Zeile 125: Zeile 89:
 
  VDRPRG="/usr/local/bin/vdr"
 
  VDRPRG="/usr/local/bin/vdr"
 
   
 
   
  VDROPTIONS="-w 60 -c /etc/vdr -E /var/vdr -u vdruser -L /usr/local/src/vdr/PLUGINS/lib -s /usr/local/bin/vdrpoweroff.sh"
+
  VDROPTIONS="-w 60 -u vdruser -c /var/lib/vdr -s /usr/local/bin/vdrpoweroff.sh"
 
  # For other options see manpage vdr.1
 
  # For other options see manpage vdr.1
 
   
 
   
  VDRPLUGINS=""
+
  VDRPLUGINS="-P dvbhddevice"
 
  # You will need to select your output device plugin if you want
 
  # You will need to select your output device plugin if you want
 
  # to use VDR to watch video. For instance, for a "Full Featured"
 
  # to use VDR to watch video. For instance, for a "Full Featured"
Zeile 180: Zeile 144:
 
  sudo chmod +x /usr/local/bin/runvdr
 
  sudo chmod +x /usr/local/bin/runvdr
  
===runvdr Skript als User root starten===
+
===Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen===
Damit der vdruser das runvdr Skript ausführen kann benötigt dieser root Rechte.
+
Damit der Benutzer '''vdruser''' die benötigten Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen kann muss dies mittels '''visudo''' konfiguriert werden. '''Achtung!''' Die Einträge müssen untereinander und am Ende der Datei eingefügt werden.
  
 
  sudo visudo
 
  sudo visudo
Zeile 199: Zeile 163:
 
  sudo vi /usr/local/bin/runvdr
 
  sudo vi /usr/local/bin/runvdr
  
  VDROPTIONS="-w 60 -c /etc/vdr -E /var/vdr -D0 -u vdruser -L /usr/local/src/vdr/PLUGINS/lib -s /usr/local/bin/vdrpoweroff.sh"
+
  VDROPTIONS="-w 60 -D0 -u vdruser -c /var/lib/vdr -s /usr/local/bin/vdrpoweroff.sh"
  
 
somit wird nur 1 Tuner der TV-Karte genutzt.
 
somit wird nur 1 Tuner der TV-Karte genutzt.
  
==VDR auf non-root User umstellen==
+
==VDR auf non-root Benutzer umstellen==
  sudo chown -R vdruser.vdruser /usr/local/src/vdr
+
  sudo chown vdruser.vdruser -R /usr/local/share/vdr
  sudo chown -R vdruser.vdruser /usr/local/src/vdr/
+
  sudo chown vdruser.vdruser -R /usr/local/bin
  sudo chown -R vdruser.vdruser /etc/vdr/
+
  sudo chown vdruser.vdruser -R /usr/local/include/vdr
  sudo chown -R vdruser.vdruser /var/vdr/
+
  sudo chown vdruser.vdruser -R /usr/local/lib/vdr
  sudo chown -R vdruser.vdruser /usr/local/bin/runvdr
+
  sudo chown vdruser.vdruser -R /usr/local/src/vdr*
  sudo chown -R vdruser.vdruser /usr/local/bin/svdrpsend
+
  sudo chown vdruser.vdruser -R /srv/vdr
  sudo chown -R vdruser.vdruser /usr/local/bin/vdr
+
  sudo chown vdruser.vdruser -R /var/cache/vdr
  sudo chown -R vdruser.vdruser /usr/local/bin/vdrpoweroff.sh
+
  sudo chown vdruser.vdruser -R /var/lib/vdr/
  
 
==remote.conf erstellen==
 
==remote.conf erstellen==
  cd /etc/vdr
+
  cd /var/lib/vdr/
 
  vi remote.conf
 
  vi remote.conf
  
Zeile 244: Zeile 208:
  
 
==svdrphosts.conf anpassen==
 
==svdrphosts.conf anpassen==
  cd /etc/vdr/
+
  cd /var/lib/vdr/
 
  vi svdrphosts.conf
 
  vi svdrphosts.conf
  
Zeile 256: Zeile 220:
 
   
 
   
 
  127.0.0.1            # always accept localhost
 
  127.0.0.1            # always accept localhost
192.168.0.0/24        # Euer Netzwerk
 
 
  #192.168.100.0/24    # any host on the local net
 
  #192.168.100.0/24    # any host on the local net
 
  #204.152.189.113      # a specific host
 
  #204.152.189.113      # a specific host
 
  #0.0.0.0/0            # any host on any net (USE THIS WITH CARE!)
 
  #0.0.0.0/0            # any host on any net (USE THIS WITH CARE!)
 +
192.168.0.0/24        # Euer Netzwerk
  
 
==VDR in den Autostart==
 
==VDR in den Autostart==
 
====Skript erstellen====
 
====Skript erstellen====
  cd /etc/init.d/
+
  sudo vi /etc/init.d/vdr
sudo vi vdr
+
  
  #! /bin/bash
+
  #! /bin/sh
 +
#
 +
# VDR initscript
 +
#
 
  ### BEGIN INIT INFO
 
  ### BEGIN INIT INFO
 
  # Provides:          VDR
 
  # Provides:          VDR
  # Required-Start:    $network $syslog $remote_fs $all
+
  # Required-Start:    $remote_fs $syslog
  # Required-Stop:     
+
  # Required-Stop:    $remote_fs $syslog
 
  # Default-Start:    2 3 4 5
 
  # Default-Start:    2 3 4 5
 
  # Default-Stop:      0 1 6
 
  # Default-Stop:      0 1 6
  # Short-Description: Video Disk Recorder
+
  # Short-Description: VDR
  # Description:      Start the Video Disk Recorder.
+
  # Description:      Start Video Disc Recorder
 
  ### END INIT INFO
 
  ### END INIT INFO
 
   
 
   
Zeile 282: Zeile 248:
 
  SCRIPTNAME=/etc/init.d/$NAME
 
  SCRIPTNAME=/etc/init.d/$NAME
 
   
 
   
  d_start() {
+
  set -e
    /usr/local/bin/runvdr &
+
}
+
+
d_stop() {
+
    killall vdr
+
    killall runvdr
+
}
+
 
   
 
   
 
  case "$1" in
 
  case "$1" in
 
   start)
 
   start)
    echo -n "Starting $DESC: $NAME"
+
        echo -n "Starting $DESC: "
    d_start
+
        sudo /usr/local/bin/runvdr &
    echo "."
+
        echo "$NAME."
    ;;
+
        ;;
 
   stop)
 
   stop)
    echo -n "Stopping $DESC: $NAME"
+
        echo -n "Stopping $DESC: "
    d_stop
+
        sudo killall vdr && sudo killall runvdr
    echo "."
+
        echo "$NAME."
    ;;
+
        ;;
 +
  restart|force-reload)
 +
        echo -n "Restarting $DESC: "
 +
        $0 stop
 +
        sleep 1
 +
        $0 start
 +
        ;;
 
   *)
 
   *)
  echo "Usage: $SCRIPTNAME {start|stop}" >&2
+
        N=/etc/init.d/$NAME
  exit 1
+
        # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
  ;;
+
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
 +
        exit 1
 +
        ;;
 
  esac
 
  esac
 
   
 
   
Zeile 311: Zeile 278:
  
 
====Skript ausführbar machen====
 
====Skript ausführbar machen====
  cd /etc/init.d
+
  sudo chmod +x /etc/init.d/vdr
sudo chmod +x vdr
+
  
===Skript als User root starten===
+
===Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen===
Damit der vdruser das Skript ausführen kann benötigt dieser root Rechte.
+
Damit der Benutzer '''vdruser''' die benötigten Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen kann muss dies mittels '''visudo''' konfiguriert werden. '''Achtung!''' Die Einträge müssen untereinander und am Ende der Datei eingefügt werden.
  
 
  sudo visudo
 
  sudo visudo
Zeile 322: Zeile 288:
  
 
====VDR in den Autostart aufnehmen====
 
====VDR in den Autostart aufnehmen====
  sudo update-rc.d vdr defaults
+
  sudo update-rc.d vdr defaults 99 99
  
 
====VDR aus dem Autostart entfernen====
 
====VDR aus dem Autostart entfernen====
Zeile 329: Zeile 295:
  
 
==VDR auf Lauffähigkeit überprüfen==
 
==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.
 
 
 
===VDR manuell starten und Log überprüfen===
 
===VDR manuell starten und Log überprüfen===
Am besten ist Ihr macht euch zwei SSH Session´s auf euren VDR auf.  
+
Am besten Ihr öffnet zwei SSH Sessions auf euren VDR.
  
 
====SSH Session 1====
 
====SSH Session 1====
Zeile 342: Zeile 306:
 
Hier wird der VDR manuell gestartet:
 
Hier wird der VDR manuell gestartet:
 
   
 
   
  /usr/local/bin/runvdr
+
  sudo /usr/local/bin/runvdr
  
 
oder mittels Autostartskript
 
oder mittels Autostartskript
  
  /etc/init.d/vdr start
+
  sudo /etc/init.d/vdr start
  
 
====VDR Logausgabe====
 
====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:
+
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:  
  
  Dec  6 19:23:56 vdr vdr: [3694] VDR version 1.7.24 started
+
  Oct 18 09:13:06 vdr01 vdr: [10651] VDR version 2.0.4 started
  Dec  6 19:23:56 vdr vdr: [3694] codeset is 'UTF-8' - known
+
  Oct 18 09:13:06 vdr01 vdr: [10651] switched to user 'vdruser'
  Dec  6 19:23:56 vdr vdr: [3694] found 28 locales in /usr/local/src/vdr/locale
+
Oct 18 09:13:06 vdr01 vdr: [10651] codeset is 'UTF-8' - known
  Dec  6 19:23:56 vdr vdr: [3694] creating directory /etc/vdr/themes
+
  Oct 18 09:13:06 vdr01 vdr: [10651] found 29 locales in /usr/local/share/locale
  Dec  6 19:23:56 vdr vdr: [3694] loading /etc/vdr/sources.conf
+
  Oct 18 09:13:06 vdr01 vdr: [10651] loading plugin: /usr/local/lib/vdr/libvdr-dvbhddevice.so.2.0.0
  Dec  6 19:23:56 vdr vdr: [3694] loading /etc/vdr/diseqc.conf
+
  Oct 18 09:13:06 vdr01 vdr: [10651] loading /var/lib/vdr/setup.conf
  Dec  6 19:23:56 vdr vdr: [3694] loading /etc/vdr/scr.conf
+
Oct 18 09:13:06 vdr01 vdr: [10651] loading /var/lib/vdr/sources.conf
  Dec  6 19:23:56 vdr vdr: [3694] loading /etc/vdr/channels.conf
+
  Oct 18 09:13:06 vdr01 vdr: [10651] loading /var/lib/vdr/diseqc.conf
  Dec  6 19:23:56 vdr vdr: [3694] loading /etc/vdr/svdrphosts.conf
+
  Oct 18 09:13:06 vdr01 vdr: [10651] loading /var/lib/vdr/scr.conf
  Dec  6 19:23:56 vdr vdr: [3694] loading /etc/vdr/remote.conf
+
  Oct 18 09:13:06 vdr01 vdr: [10651] loading /var/lib/vdr/channels.conf
  Dec  6 19:23:56 vdr vdr: [3694] loading /etc/vdr/keymacros.conf
+
  Oct 18 09:13:06 vdr01 vdr: [10651] loading /var/lib/vdr/svdrphosts.conf
  Dec  6 19:23:56 vdr vdr: [3695] video directory scanner thread started (pid=3694, tid=3695)
+
  Oct 18 09:13:06 vdr01 vdr: [10651] loading /var/lib/vdr/remote.conf
Dec  6 19:23:56 vdr vdr: [3694] registered source parameters for 'A - ATSC'
+
  Oct 18 09:13:06 vdr01 vdr: [10651] loading /var/lib/vdr/keymacros.conf
  Dec  6 19:23:56 vdr vdr: [3696] video directory scanner thread started (pid=3694, tid=3696)
+
  Oct 18 09:13:06 vdr01 vdr: [10651] registered source parameters for 'A - ATSC'
Dec  6 19:23:56 vdr vdr: [3694] registered source parameters for 'C - DVB-C'
+
  Oct 18 09:13:06 vdr01 vdr: [10651] registered source parameters for 'C - DVB-C'
  Dec  6 19:23:56 vdr vdr: [3694] registered source parameters for 'S - DVB-S'
+
  Oct 18 09:13:06 vdr01 vdr: [10651] registered source parameters for 'S - DVB-S'
  Dec  6 19:23:56 vdr vdr: [3694] registered source parameters for 'T - DVB-T'
+
  Oct 18 09:13:06 vdr01 vdr: [10651] registered source parameters for 'T - DVB-T'
  Dec  6 19:23:56 vdr vdr: [3694] probing /dev/dvb/adapter0/frontend0
+
  Oct 18 09:13:06 vdr01 vdr: [10653] video directory scanner thread started (pid=10651, tid=10653, prio=high)
  Dec  6 19:23:56 vdr vdr: [3694] creating cDvbDevice
+
  Oct 18 09:13:06 vdr01 vdr: [10652] video directory scanner thread started (pid=10651, tid=10652, prio=high)
  Dec  6 19:23:56 vdr vdr: [3694] new device number 1
+
  Oct 18 09:13:06 vdr01 vdr: [10651] probing /dev/dvb/adapter0/frontend0
  Dec  6 19:23:56 vdr vdr: [3696] video directory scanner thread ended (pid=3694, tid=3696)
+
  Oct 18 09:13:06 vdr01 vdr: [10653] video directory scanner thread ended (pid=10651, tid=10653)
  Dec  6 19:23:56 vdr vdr: [3695] video directory scanner thread ended (pid=3694, tid=3695)
+
  Oct 18 09:13:06 vdr01 vdr: [10652] video directory scanner thread ended (pid=10651, tid=10652)
  Dec 6 19:23:56 vdr vdr: [3694] frontend 0/0 provides DVB-S2 with QPSK ("STV090x Multistandard")
+
  Oct 18 09:13:06 vdr01 vdr: [10654] epg data reader thread started (pid=10651, tid=10654, prio=high)
  Dec  6 19:23:56 vdr vdr: [3698] tuner on frontend 0/0 thread started (pid=3694, tid=3698)
+
  Oct 18 09:13:06 vdr01 vdr: [10654] reading EPG data from /var/cache/vdr/epg.data
  Dec  6 19:23:56 vdr vdr: [3699] section handler thread started (pid=3694, tid=3699)
+
Oct 18 09:13:06 vdr01 vdr: [10651] creating cDvbHdFfDevice
  Dec 6 19:23:56 vdr vdr: [3694] probing /dev/dvb/adapter1/frontend0
+
Oct 18 09:13:06 vdr01 vdr: [10651] new device number 1
  Dec  6 19:23:56 vdr vdr: [3694] creating cDvbDevice
+
Oct 18 09:13:06 vdr01 vdr: [10651] DVB API version is 0x050A (VDR was built with 0x0504)
  Dec  6 19:23:56 vdr vdr: [3694] new device number 2
+
Oct 18 09:13:06 vdr01 vdr: [10651] frontend 0/0 provides DVB-S,DVB-S2,DSS with QPSK ("STV090x Multistandard")
  Dec  6 19:23:56 vdr vdr: [3698] cTimeMs: using monotonic clock (resolution is 1 ns)
+
  Oct 18 09:13:06 vdr01 vdr: [10656] tuner on frontend 0/0 thread started (pid=10651, tid=10656, prio=high)
Dec  6 19:23:56 vdr vdr: [3694] frontend 1/0 provides DVB-S2 with QPSK ("STV090x Multistandard")
+
  Oct 18 09:13:06 vdr01 vdr: [10657] section handler thread started (pid=10651, tid=10657, prio=low)
  Dec  6 19:23:56 vdr vdr: [3701] tuner on frontend 1/0 thread started (pid=3694, tid=3701)
+
  Oct 18 09:13:06 vdr01 vdr: [10656] cTimeMs: using monotonic clock (resolution is 1 ns)
  Dec 6 19:23:56 vdr vdr: [3702] section handler thread started (pid=3694, tid=3702)
+
  Oct 18 09:13:06 vdr01 vdr: [10654] epg data reader thread ended (pid=10651, tid=10654)
  Dec  6 19:23:56 vdr vdr: [3694] found 2 DVB devices
+
Oct 18 09:13:06 vdr01 vdr: [10651] probing /dev/dvb/adapter1/frontend0
  Dec  6 19:23:56 vdr vdr: [3694] setting primary device to 1
+
  Oct 18 09:13:06 vdr01 vdr: [10651] creating cDvbDevice
  Dec  6 19:23:56 vdr vdr: [3694] device 1 has no MPEG decoder
+
  Oct 18 09:13:06 vdr01 vdr: [10651] new device number 2
Dec  6 19:23:56 vdr vdr: [3694] assuming manual start of VDR
+
  Oct 18 09:13:06 vdr01 vdr: [10651] frontend 1/0 provides DVB-S,DVB-S2,DSS with QPSK ("STV090x Multistandard")
  Dec  6 19:23:56 vdr vdr: [3694] SVDRP listening on port 6419
+
  Oct 18 09:13:06 vdr01 vdr: [10659] tuner on frontend 1/0 thread started (pid=10651, tid=10659, prio=high)
  Dec  6 19:23:56 vdr vdr: [3694] setting current skin to "sttng"
+
  Oct 18 09:13:06 vdr01 vdr: [10651] found 2 DVB devices
  Dec  6 19:23:56 vdr vdr: [3694] loading /etc/vdr/themes/sttng-default.theme
+
  Oct 18 09:13:06 vdr01 vdr: [10660] section handler thread started (pid=10651, tid=10660, prio=low)
  Dec  6 19:23:56 vdr vdr: [3694] ERROR (lirc.c,48): /var/run/lirc/lircd: Datei oder Verzeichnis nicht gefunden
+
  Oct 18 09:13:06 vdr01 vdr: [10651] initializing plugin: dvbhddevice (2.0.2): HD Full Featured DVB device
  Dec  6 19:23:56 vdr vdr: [3694] ERROR: remote control LIRC not ready!
+
  Oct 18 09:13:06 vdr01 vdr: [10651] setting primary device to 1
  Dec 6 19:23:56 vdr vdr: [3694] setting watchdog timer to 60 seconds
+
  Oct 18 09:13:06 vdr01 vdr: [10651] assuming manual start of VDR
  Dec  6 19:23:56 vdr vdr: [3694] OSD size changed to 720x480 @ 1
+
  Oct 18 09:13:06 vdr01 vdr: [10651] SVDRP listening on port 6419
  Dec  6 19:23:56 vdr vdr: [3694] ERROR: no OSD provider available - using dummy OSD!
+
  Oct 18 09:13:06 vdr01 vdr: [10651] setting current skin to "lcars"
Dec  6 19:24:02 vdr vdr: [3694] max. latency time 1 seconds
+
  Oct 18 09:13:06 vdr01 vdr: [10651] loading /var/lib/vdr/themes/lcars-default.theme
 +
  Oct 18 09:13:06 vdr01 vdr: [10651] starting plugin: dvbhddevice
 +
  Oct 18 09:13:06 vdr01 vdr: [10651] remote control LIRC - keys known
 +
  Oct 18 09:13:06 vdr01 vdr: [10651] switching to channel 1
 +
  Oct 18 09:13:06 vdr01 vdr: [10661] LIRC remote control thread started (pid=10651, tid=10661, prio=high)
 +
Oct 18 09:13:06 vdr01 vdr: [10651] setting watchdog timer to 60 seconds
 +
  Oct 18 09:13:06 vdr01 vdr: [10651] OSD size changed to 1920x1080 @ 1
 +
  Oct 18 09:13:07 vdr01 vdr: [10651] 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.
+
Die ERROR Meldungen im Log sind an dieser Stelle normal da ich kein LIRC verwende.
  
 
==System neu starten und prüfen ob der VDR automatisch gestartet wird==
 
==System neu starten und prüfen ob der VDR automatisch gestartet wird==
Zeile 408: Zeile 379:
 
# [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 TechnoTrend S2-6400]]
 
[[Kategorie:Ubuntu HD VDR mittels TechnoTrend S2-6400]]

Aktuelle Version vom 28. Oktober 2013, 10:50 Uhr

Inhaltsverzeichnis

[Bearbeiten] Downloadverzeichnis vorbereiten

mkdir -p /data/installfiles/vdr

[Bearbeiten] Installationsmedien herunterladen

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

[Bearbeiten] vdruser in die Gruppe video aufnehmen

sudo adduser vdruser video
sudo adduser vdruser audio

Danach müsst Ihr euch erneut am System anmelden damit die neue Gruppenzugehörigkeit "angezogen" wird.

[Bearbeiten] Installation VDR

[Bearbeiten] VDR Verzeichnis vorbereiten und Installationsmedien entpacken

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

[Bearbeiten] Shutdownskript erstellen und ablegen

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

und anschließend das Skript ausführbar machen:

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

[Bearbeiten] Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen

Damit der Benutzer vdruser die benötigten Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen kann muss dies mittels visudo konfiguriert werden. Achtung! Die Einträge müssen untereinander und am Ende der Datei eingefügt werden.

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

[Bearbeiten] Installation VDR

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

[Bearbeiten] Videoverzeichnis anpassen

In diesem Verzeichnis werden später die VDR Aufnahmen abgelegt. Da ich mich an den Standardpfad für das Videroverzeichnis des VDR halten möchte, aber mein vorhander Festplattenspeicher in einem anderen Verzeichnis vorhanden ist, ist das setzen eines Link nötig.

mkdir -p /data/vdrrecords
sudo rm -r /srv/vdr/video
sudo ln -s /data/vdrrecords/ /srv/vdr/video

[Bearbeiten] VDR mittels runvdr starten

Das Skript runvdr wird benötigt um den VDR zu starten.

[Bearbeiten] runvdr vorbereiten

sudo cp /usr/local/src/vdr/runvdr.template /usr/local/bin/runvdr

[Bearbeiten] runvdr anpassen

Achtung! Die erste Zeile im Skript muss von #!/bin/sh nach #!/bin/bash angepasst werden.

sudo vi /usr/local/bin/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.template 2.2 2011/04/17 12:34:30 kls Exp $

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

VDRPRG="/usr/local/bin/vdr"

VDROPTIONS="-w 60 -u vdruser -c /var/lib/vdr -s /usr/local/bin/vdrpoweroff.sh"
# For other options see manpage vdr.1

VDRPLUGINS="-P dvbhddevice"
# You will need to select your output device plugin if you want
# to use VDR to watch video. For instance, for a "Full Featured"
# SD DVB card that would be
# VDRPLUGINS="-P dvbsddevice"
# For a "Full Featured" HD DVB card you could use
# VDRPLUGINS="-P dvbhddevice"
# There are also other output device plugins available, see
# http://www.vdr-wiki.de/wiki/index.php/Plugins.

VDRCMD="$VDRPRG $VDROPTIONS $VDRPLUGINS $*"

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

[Bearbeiten] runvdr Skript ausführbar machen

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

[Bearbeiten] Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen

Damit der Benutzer vdruser die benötigten Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen kann muss dies mittels visudo konfiguriert werden. Achtung! Die Einträge müssen untereinander und am Ende der Datei eingefügt werden.

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
VDROPTIONS="-w 60 -D0 -u vdruser -c /var/lib/vdr -s /usr/local/bin/vdrpoweroff.sh"

somit wird nur 1 Tuner der TV-Karte genutzt.

[Bearbeiten] VDR auf non-root Benutzer umstellen

sudo chown vdruser.vdruser -R /usr/local/share/vdr
sudo chown vdruser.vdruser -R /usr/local/bin
sudo chown vdruser.vdruser -R /usr/local/include/vdr
sudo chown vdruser.vdruser -R /usr/local/lib/vdr
sudo chown vdruser.vdruser -R /usr/local/src/vdr*
sudo chown vdruser.vdruser -R /srv/vdr
sudo chown vdruser.vdruser -R /var/cache/vdr
sudo chown vdruser.vdruser -R /var/lib/vdr/

[Bearbeiten] remote.conf erstellen

cd /var/lib/vdr/
vi remote.conf
KBD.Up         00000000001B4F41
KBD.Down       00000000001B4F42
KBD.Menu       0000001B5B31397E    #F8
KBD.Ok         000000000000000D    #Enter
KBD.Back       000000001B5B347E    #Backspace
KBD.Left       00000000001B4F44
KBD.Right      00000000001B4F43
KBD.Red        00000000001B4F50    #F1
KBD.Green      00000000001B4F51    #F2
KBD.Yellow     00000000001B4F52    #F3
KBD.Blue       00000000001B4F53    #F4
KBD.0          0000000000000030
KBD.1          0000000000000031
KBD.2          0000000000000032
KBD.3          0000000000000033
KBD.4          0000000000000034
KBD.5          0000000000000035
KBD.6          0000000000000036
KBD.7          0000000000000037
KBD.8          0000000000000038
KBD.9          0000000000000039
KBD.Power      0000001B5B32347E    #F12
KBD.Volume+    000000000000002B    #+
KBD.Volume-    000000000000002D    #-
KBD.Mute       0000001B5B32307E    #F9

[Bearbeiten] svdrphosts.conf anpassen

cd /var/lib/vdr/
vi svdrphosts.conf
# svdrphosts    This file describes a number of host addresses that
#               are allowed to connect to the SVDRP port of the Video
#               Disk Recorder (VDR) running on this system.
# Syntax:
#
# IP-Address[/Netmask]
#

127.0.0.1             # always accept localhost
#192.168.100.0/24     # any host on the local net
#204.152.189.113      # a specific host
#0.0.0.0/0            # any host on any net (USE THIS WITH CARE!)
192.168.0.0/24        # Euer Netzwerk

[Bearbeiten] VDR in den Autostart

[Bearbeiten] Skript erstellen

sudo vi /etc/init.d/vdr
#! /bin/sh
#
# VDR initscript 
#
### BEGIN INIT INFO
# Provides:          VDR
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: VDR
# Description:       Start Video Disc Recorder
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="Video Disc Recorder"
NAME=vdr
SCRIPTNAME=/etc/init.d/$NAME

set -e

case "$1" in
  start)
        echo -n "Starting $DESC: "
        sudo /usr/local/bin/runvdr &
        echo "$NAME."
        ;;
  stop)
        echo -n "Stopping $DESC: "
        sudo killall vdr && sudo killall runvdr
        echo "$NAME."
        ;;
  restart|force-reload)
        echo -n "Restarting $DESC: "
        $0 stop
        sleep 1
        $0 start
        ;;
  *)
        N=/etc/init.d/$NAME
        # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac

exit 0

[Bearbeiten] Skript ausführbar machen

sudo chmod +x /etc/init.d/vdr

[Bearbeiten] Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen

Damit der Benutzer vdruser die benötigten Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen kann muss dies mittels visudo konfiguriert werden. Achtung! Die Einträge müssen untereinander und am Ende der Datei eingefügt werden.

sudo visudo
vdruser ALL=(ALL) NOPASSWD: /etc/init.d/vdr

[Bearbeiten] VDR in den Autostart aufnehmen

sudo update-rc.d vdr defaults 99 99

[Bearbeiten] VDR aus dem Autostart entfernen

Falls das Skript mal nicht funktionieren sollte kann man dieses wieder aus dem Autostart entfernen:

sudo update-rc.d -f vdr remove

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

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

Am besten Ihr öffnet zwei SSH Sessions auf euren VDR.

[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:

sudo /usr/local/bin/runvdr

oder mittels Autostartskript

sudo /etc/init.d/vdr start

[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:

Oct 18 09:13:06 vdr01 vdr: [10651] VDR version 2.0.4 started
Oct 18 09:13:06 vdr01 vdr: [10651] switched to user 'vdruser'
Oct 18 09:13:06 vdr01 vdr: [10651] codeset is 'UTF-8' - known
Oct 18 09:13:06 vdr01 vdr: [10651] found 29 locales in /usr/local/share/locale
Oct 18 09:13:06 vdr01 vdr: [10651] loading plugin: /usr/local/lib/vdr/libvdr-dvbhddevice.so.2.0.0
Oct 18 09:13:06 vdr01 vdr: [10651] loading /var/lib/vdr/setup.conf
Oct 18 09:13:06 vdr01 vdr: [10651] loading /var/lib/vdr/sources.conf
Oct 18 09:13:06 vdr01 vdr: [10651] loading /var/lib/vdr/diseqc.conf
Oct 18 09:13:06 vdr01 vdr: [10651] loading /var/lib/vdr/scr.conf
Oct 18 09:13:06 vdr01 vdr: [10651] loading /var/lib/vdr/channels.conf
Oct 18 09:13:06 vdr01 vdr: [10651] loading /var/lib/vdr/svdrphosts.conf
Oct 18 09:13:06 vdr01 vdr: [10651] loading /var/lib/vdr/remote.conf
Oct 18 09:13:06 vdr01 vdr: [10651] loading /var/lib/vdr/keymacros.conf
Oct 18 09:13:06 vdr01 vdr: [10651] registered source parameters for 'A - ATSC'
Oct 18 09:13:06 vdr01 vdr: [10651] registered source parameters for 'C - DVB-C'
Oct 18 09:13:06 vdr01 vdr: [10651] registered source parameters for 'S - DVB-S'
Oct 18 09:13:06 vdr01 vdr: [10651] registered source parameters for 'T - DVB-T'
Oct 18 09:13:06 vdr01 vdr: [10653] video directory scanner thread started (pid=10651, tid=10653, prio=high)
Oct 18 09:13:06 vdr01 vdr: [10652] video directory scanner thread started (pid=10651, tid=10652, prio=high)
Oct 18 09:13:06 vdr01 vdr: [10651] probing /dev/dvb/adapter0/frontend0
Oct 18 09:13:06 vdr01 vdr: [10653] video directory scanner thread ended (pid=10651, tid=10653)
Oct 18 09:13:06 vdr01 vdr: [10652] video directory scanner thread ended (pid=10651, tid=10652)
Oct 18 09:13:06 vdr01 vdr: [10654] epg data reader thread started (pid=10651, tid=10654, prio=high)
Oct 18 09:13:06 vdr01 vdr: [10654] reading EPG data from /var/cache/vdr/epg.data
Oct 18 09:13:06 vdr01 vdr: [10651] creating cDvbHdFfDevice
Oct 18 09:13:06 vdr01 vdr: [10651] new device number 1
Oct 18 09:13:06 vdr01 vdr: [10651] DVB API version is 0x050A (VDR was built with 0x0504)
Oct 18 09:13:06 vdr01 vdr: [10651] frontend 0/0 provides DVB-S,DVB-S2,DSS with QPSK ("STV090x Multistandard")
Oct 18 09:13:06 vdr01 vdr: [10656] tuner on frontend 0/0 thread started (pid=10651, tid=10656, prio=high)
Oct 18 09:13:06 vdr01 vdr: [10657] section handler thread started (pid=10651, tid=10657, prio=low)
Oct 18 09:13:06 vdr01 vdr: [10656] cTimeMs: using monotonic clock (resolution is 1 ns)
Oct 18 09:13:06 vdr01 vdr: [10654] epg data reader thread ended (pid=10651, tid=10654)
Oct 18 09:13:06 vdr01 vdr: [10651] probing /dev/dvb/adapter1/frontend0
Oct 18 09:13:06 vdr01 vdr: [10651] creating cDvbDevice
Oct 18 09:13:06 vdr01 vdr: [10651] new device number 2
Oct 18 09:13:06 vdr01 vdr: [10651] frontend 1/0 provides DVB-S,DVB-S2,DSS with QPSK ("STV090x Multistandard")
Oct 18 09:13:06 vdr01 vdr: [10659] tuner on frontend 1/0 thread started (pid=10651, tid=10659, prio=high)
Oct 18 09:13:06 vdr01 vdr: [10651] found 2 DVB devices
Oct 18 09:13:06 vdr01 vdr: [10660] section handler thread started (pid=10651, tid=10660, prio=low)
Oct 18 09:13:06 vdr01 vdr: [10651] initializing plugin: dvbhddevice (2.0.2): HD Full Featured DVB device
Oct 18 09:13:06 vdr01 vdr: [10651] setting primary device to 1
Oct 18 09:13:06 vdr01 vdr: [10651] assuming manual start of VDR
Oct 18 09:13:06 vdr01 vdr: [10651] SVDRP listening on port 6419
Oct 18 09:13:06 vdr01 vdr: [10651] setting current skin to "lcars"
Oct 18 09:13:06 vdr01 vdr: [10651] loading /var/lib/vdr/themes/lcars-default.theme
Oct 18 09:13:06 vdr01 vdr: [10651] starting plugin: dvbhddevice
Oct 18 09:13:06 vdr01 vdr: [10651] remote control LIRC - keys known
Oct 18 09:13:06 vdr01 vdr: [10651] switching to channel 1
Oct 18 09:13:06 vdr01 vdr: [10661] LIRC remote control thread started (pid=10651, tid=10661, prio=high)
Oct 18 09:13:06 vdr01 vdr: [10651] setting watchdog timer to 60 seconds
Oct 18 09:13:06 vdr01 vdr: [10651] OSD size changed to 1920x1080 @ 1
Oct 18 09:13:07 vdr01 vdr: [10651] max. latency time 1 seconds


Die ERROR Meldungen im Log sind an dieser Stelle normal da ich kein LIRC verwende.

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

[Bearbeiten] Links

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