Ubuntu VDR DVB-T mittels Xine und VDPAU - VDR

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(DVB-T channels.conf mittels w_scan erstellen)
 
(7 dazwischenliegende Versionen von einem Benutzer 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.16.tar.bz2
+
  wget ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.18.tar.bz2
  
 
==Videoverzeichnis vorbereiten==
 
==Videoverzeichnis vorbereiten==
Zeile 17: Zeile 17:
  
 
  cd /usr/local/src
 
  cd /usr/local/src
  tar -xjf /data/installfiles/vdr/vdr-1.7.16.tar.bz2  
+
  tar -xjf /data/installfiles/vdr/vdr-1.7.18.tar.bz2  
  ln -s vdr-1.7.16/ vdr
+
  ln -s vdr-1.7.18/ vdr
  
 
===Make.config erstellen und anpassen===
 
===Make.config erstellen und anpassen===
Zeile 68: Zeile 68:
 
Falls nach der VDR Installation folgende "Fehlermeldung" auftaucht kann diese ignoriert werden:
 
Falls nach der VDR Installation folgende "Fehlermeldung" auftaucht kann diese ignoriert werden:
  
  cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-dvbsddevice.so.1.7.16â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-dvbsddevice.so.1.7.16â sind die gleiche Datei
+
  cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-dvbsddevice.so.1.7.17â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-dvbsddevice.so.1.7.17â sind die gleiche Datei
  cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-hello.so.1.7.16â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-hello.so.1.7.16â sind die gleiche Datei
+
  cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-hello.so.1.7.17â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-hello.so.1.7.17â sind die gleiche Datei
  cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-osddemo.so.1.7.16â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-osddemo.so.1.7.16â sind die gleiche Datei
+
  cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-osddemo.so.1.7.17â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-osddemo.so.1.7.17â sind die gleiche Datei
  cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-pictures.so.1.7.16â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-pictures.so.1.7.16â sind die gleiche Datei
+
  cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-pictures.so.1.7.17â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-pictures.so.1.7.17â sind die gleiche Datei
  cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-skincurses.so.1.7.16â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-skincurses.so.1.7.16â sind die gleiche Datei
+
  cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-skincurses.so.1.7.17â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-skincurses.so.1.7.17â sind die gleiche Datei
  cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-status.so.1.7.16â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-status.so.1.7.16â sind die gleiche Datei
+
  cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-status.so.1.7.17â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-status.so.1.7.17â sind die gleiche Datei
  cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-svccli.so.1.7.16â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-svccli.so.1.7.16â sind die gleiche Datei
+
  cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-svccli.so.1.7.17â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-svccli.so.1.7.17â sind die gleiche Datei
  cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-svcsvr.so.1.7.16â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-svcsvr.so.1.7.16â sind die gleiche Datei
+
  cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-svcsvr.so.1.7.17â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-svcsvr.so.1.7.17â sind die gleiche Datei
  cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-svdrpdemo.so.1.7.16â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-svdrpdemo.so.1.7.16â sind die gleiche Datei
+
  cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-svdrpdemo.so.1.7.17â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-svdrpdemo.so.1.7.17â sind die gleiche Datei
 
  make: *** [install-plugins] Fehler 1
 
  make: *** [install-plugins] Fehler 1
  
Zeile 132: Zeile 132:
 
  function LoadDriver()
 
  function LoadDriver()
 
  {
 
  {
  sudo modprobe budget_ci
+
  return 0
 
  }
 
  }
 
   
 
   
Zeile 138: Zeile 138:
 
  function UnloadDriver()
 
  function UnloadDriver()
 
  {
 
  {
  sudo modprobe -r budget_ci
+
  return 0
 
  }
 
  }
 
   
 
   
Zeile 144: Zeile 144:
 
  if ! DriverLoaded; then
 
  if ! DriverLoaded; then
 
     LoadDriver
 
     LoadDriver
    fi
+
fi
 
   
 
   
 
  while (true) do
 
  while (true) do
Zeile 169: Zeile 169:
 
==VDR auf non-root User umstellen==
 
==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 /usr/local/src/vdr-1.7.16/
+
  sudo chown -R vdruser.vdruser /usr/local/src/vdr-1.7.17/
 
  sudo chown -R vdruser.vdruser /etc/vdr/
 
  sudo chown -R vdruser.vdruser /etc/vdr/
 
  sudo chown -R vdruser.vdruser /var/vdr/
 
  sudo chown -R vdruser.vdruser /var/vdr/
Zeile 218: Zeile 218:
  
 
  cd /tmp
 
  cd /tmp
  tar -xjf /data/installfiles/vdr/w_scan-20101001.tar.bz2
+
  tar -xjf /data/installfiles/vdr/w_scan-20110206.tar.bz2
  cd w_scan-20101001/
+
  cd w_scan-20110206/
 
  ./configure && make && make install
 
  ./configure && make && make install
  
Zeile 255: Zeile 255:
 
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:
  
  Jun 23 14:42:49 ws02 vdr: [2296] VDR version 1.7.16 started
+
  Jun 23 14:42:49 ws02 vdr: [2296] VDR version 1.7.17 started
 
  Jun 23 14:42:49 ws02 vdr: [2296] codeset is 'UTF-8' - known
 
  Jun 23 14:42:49 ws02 vdr: [2296] codeset is 'UTF-8' - known
 
  Jun 23 14:42:49 ws02 vdr: [2296] found 26 locales in /usr/local/src/vdr/locale
 
  Jun 23 14:42:49 ws02 vdr: [2296] found 26 locales in /usr/local/src/vdr/locale
Zeile 297: Zeile 297:
 
# [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 VDR DVB-T mittels Xine und VDPAU]]
 
[[Kategorie:Ubuntu VDR DVB-T mittels Xine und VDPAU]]

Aktuelle Version vom 5. August 2013, 20:18 Uhr

Inhaltsverzeichnis

[Bearbeiten] Downloadverzeichnis vorbereiten

mkdir -p /data/installfiles/vdr

[Bearbeiten] Installationsmedien herunterladen

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

[Bearbeiten] Videoverzeichnis vorbereiten

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

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

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

[Bearbeiten] Make.config erstellen und anpassen

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

LOCDIR   = /usr/local/src/vdr/locale
PLUGINDIR= /usr/local/src/vdr/PLUGINS

[Bearbeiten] 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
mv /etc/vdr/channels.conf /etc/vdr/channels.conf_sat

[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

Nun als Besitzer des Skripts „root“ auswählen und s-bit setzen, um es künftig mit dessen Rechten auszuführen

cd /usr/local/bin
sudo chown root:root vdrpoweroff.sh
sudo chmod +s vdrpoweroff.sh

[Bearbeiten] sudoers erweitern

Damit der vdruser das System stoppen kann benötigt dieser root Rechte für das angelegte Skript. Achtung! Der untiger Eintrag muss als letzte Zeile hinzugefügt werden.

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

[Bearbeiten] Installation VDR

cd /usr/local/src/vdr
make && make plugins && make install
exit

[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-dvbsddevice.so.1.7.17â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-dvbsddevice.so.1.7.17â sind die gleiche Datei
cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-hello.so.1.7.17â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-hello.so.1.7.17â sind die gleiche Datei
cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-osddemo.so.1.7.17â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-osddemo.so.1.7.17â sind die gleiche Datei
cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-pictures.so.1.7.17â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-pictures.so.1.7.17â sind die gleiche Datei
cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-skincurses.so.1.7.17â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-skincurses.so.1.7.17â sind die gleiche Datei
cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-status.so.1.7.17â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-status.so.1.7.17â sind die gleiche Datei
cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-svccli.so.1.7.17â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-svccli.so.1.7.17â sind die gleiche Datei
cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-svcsvr.so.1.7.17â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-svcsvr.so.1.7.17â sind die gleiche Datei
cp: â/usr/local/src/vdr/PLUGINS/lib/libvdr-svdrpdemo.so.1.7.17â und â/usr/local/src/vdr/PLUGINS/lib/libvdr-svdrpdemo.so.1.7.17â 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

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

[Bearbeiten] runvdr Skript ausführbar machen

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

[Bearbeiten] runvdr als root starten

Damit der vdruser das runvdr Skript ausführen kann benötigt dieser root Rechte. Achtung! Der untiger Eintrag muss als letzte Zeile hinzugefügt werden.

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

[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-1.7.17/
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] remote.conf erstellen

Die Tastatur wird erst später über das VDR OSD angelernt. Die untigen Werte könnt Ihr vorerst so übernehmen.

cd /etc/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] DVB-T channels.conf mittels w_scan erstellen

[Bearbeiten] Download w_scan

cd /data/installfiles/vdr/
wget http://wirbel.htpc-forum.de/w_scan/w_scan-20110206.tar.bz2

[Bearbeiten] w_scan installieren

sudo su -
cd /tmp
tar -xjf /data/installfiles/vdr/w_scan-20110206.tar.bz2
cd w_scan-20110206/
./configure && make && make install
exit

[Bearbeiten] DVB-T Kanalliste erstellen

sudo modprobe budget_ci
w_scan -f t -c DE -o 7 >> /etc/vdr/channels.conf

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

[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 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/user.log

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

Jun 23 14:42:49 ws02 vdr: [2296] VDR version 1.7.17 started
Jun 23 14:42:49 ws02 vdr: [2296] codeset is 'UTF-8' - known
Jun 23 14:42:49 ws02 vdr: [2296] found 26 locales in /usr/local/src/vdr/locale
Jun 23 14:42:49 ws02 vdr: [2296] creating directory /etc/vdr/themes
Jun 23 14:42:49 ws02 vdr: [2296] loading /etc/vdr/sources.conf
Jun 23 14:42:49 ws02 vdr: [2296] loading /etc/vdr/diseqc.conf
Jun 23 14:42:49 ws02 vdr: [2296] loading /etc/vdr/channels.conf
Jun 23 14:42:49 ws02 vdr: [2296] loading /etc/vdr/svdrphosts.conf
Jun 23 14:42:49 ws02 vdr: [2296] loading /etc/vdr/keymacros.conf
Jun 23 14:42:49 ws02 vdr: [2298] video directory scanner thread started (pid=2296, tid=2298)
Jun 23 14:42:49 ws02 vdr: [2299] video directory scanner thread started (pid=2296, tid=2299)
Jun 23 14:42:49 ws02 vdr: [2296] registered source parameters for 'A - ATSC'
Jun 23 14:42:49 ws02 vdr: [2296] registered source parameters for 'C - DVB-C'
Jun 23 14:42:49 ws02 vdr: [2296] registered source parameters for 'S - DVB-S'
Jun 23 14:42:49 ws02 vdr: [2296] registered source parameters for 'T - DVB-T'
Jun 23 14:42:49 ws02 vdr: [2296] probing /dev/dvb/adapter0/frontend0
Jun 23 14:42:49 ws02 vdr: [2296] creating cDvbDevice
Jun 23 14:42:49 ws02 vdr: [2296] new device number 1
Jun 23 14:42:49 ws02 vdr: [2299] video directory scanner thread ended (pid=2296, tid=2299)
Jun 23 14:42:49 ws02 vdr: [2298] video directory scanner thread ended (pid=2296, tid=2298)
Jun 23 14:42:54 ws02 vdr: [2296] frontend 0/0 provides DVB-T with QPSK,QAM16,QAM64 ("Philips TDA10046H DVB-T")
Jun 23 14:42:54 ws02 vdr: [2296] found 1 DVB device
Jun 23 14:42:54 ws02 vdr: [2296] setting primary device to 1
Jun 23 14:42:54 ws02 vdr: [2296] device 1 has no MPEG decoder
Jun 23 14:42:54 ws02 vdr: [2296] assuming manual start of VDR
Jun 23 14:42:54 ws02 vdr: [2296] SVDRP listening on port 6419
Jun 23 14:42:54 ws02 vdr: [2312] section handler thread started (pid=2296, tid=2312)
Jun 23 14:42:54 ws02 vdr: [2311] tuner on frontend 0/0 thread started (pid=2296, tid=2311)
Jun 23 14:42:54 ws02 vdr: [2296] setting current skin to "sttng"
Jun 23 14:42:54 ws02 vdr: [2296] loading /etc/vdr/themes/sttng-default.theme
Jun 23 14:42:54 ws02 vdr: [2296] remote control KBD - learning keys
Jun 23 14:42:54 ws02 vdr: [2296] ERROR: no OSD provider available - using dummy OSD!
Jun 23 14:42:54 ws02 vdr: [2317] KBD remote control thread started (pid=2296, tid=2317)
Jun 23 14:43:04 ws02 vdr: [2296] setting watchdog timer to 60 seconds
Jun 23 14:43:04 ws02 vdr: [2296] OSD size changed to 720x480 @ 1
Jun 23 14:43:04 ws02 vdr: [2296] ERROR: no OSD provider available - using dummy OSD!

Die Error Meldung im Log ist derzeit noch normal da noch kein Ausgabeplugin für das TV Bild installiert ist.

[Bearbeiten] Links

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