OpenSUSE VDR DVB-S2 HD mittels Xine und VDPAU - 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.11.tar.bz2

Videoverzeichnis vorbereiten

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

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

Installation VDR

Link auf compiler.h setzen

cd /usr/local/src/dvb/linux/include/linux
ln -s /usr/src/linux/include/linux/compiler.h compiler.h

VDR Verzeichnis vorbereiten und Installationsmedien entpacken

cd /usr/local/src
tar -xjf /data/installfiles/vdr/vdr-1.7.11.tar.bz2 
ln -s vdr-1.7.11/ vdr

Make.config erstellen und anpassen

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

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
/sbin/poweroff 

und anschließend das Skript ausführbar machen:

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

dvbdevice.h anpassen

cd /usr/local/src/vdr
vi dvbdevice.h

Das "typedef unsigned char __u8;" muss unter die include Zeile "#include <sys/mman.h>" hinzugefügt werden:

#include <sys/mman.h> // FIXME: workaround for broken linux-dvb header files
typedef unsigned char __u8;

Installation VDR

Vorher noch fontconfig-devel ,libjpeg-devel, libcap-devel, gettext-tools, gcc, gcc-g++, make, ncurses-devel über Yast installieren!

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


Folgende Fehlermeldungen sind normal, und können ignoriert werden:


cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-wirbelscan.so.1.7.15“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-wirbelscan.so.1.7.15“ sind die gleiche Datei

cp: „/usr/local/src/vdr/PLUGINS/lib/libvdr-xineliboutput.so.1.7.15“ und „/usr/local/src/vdr/PLUGINS/lib/libvdr-xineliboutput.so.1.7.15“ 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
vi runvdr
#!/bin/sh

# 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
export LC_COLLATE=de_DE

PATH=/usr/local/bin:$PATH
VDRPRG="/usr/local/bin/vdr"
VDRCMD="$VDRPRG -t /dev/tty8 -w 60 -c /etc/vdr -E /var/vdr --vfat \
        -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()
{
 modprobe budget_ci
}

# Unload all DVB driver modules loaded in LoadDriver():
function UnloadDriver()
{
 modprobe -r budget_ci
}

# 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

remote.conf erstellen

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

VDR in den Autostart

Damit der VDR nach einem Systemstart automatisch gestartet wird kann das runvdr Skript am Ende der inittab des Systems eingetragen werden.

cd /etc/
vi inittab
# VDR
vdr:35:once:/usr/local/bin/runvdr

# end of /etc/inittab