OpenSUSE 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)
K (VDR in den Autostart)
 
(6 dazwischenliegende Versionen von einem Benutzer werden nicht angezeigt)
Zeile 64: Zeile 64:
 
  vi dvbdevice.h
 
  vi dvbdevice.h
  
Das typedef muss unter die include Zeile hinzugefügt werden:
+
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
 
  #include <sys/mman.h> // FIXME: workaround for broken linux-dvb header files
 
  typedef unsigned char __u8;
 
  typedef unsigned char __u8;
Zeile 189: Zeile 189:
  
 
===DVB-T Kanalliste für Deutschland erstellen===
 
===DVB-T Kanalliste für Deutschland erstellen===
  w_scan -ft {-c DE} >> /etc/vdr/channels.conf
+
  cd /usr/local/src/w_scan
 +
./w_scan -ft -c DE >> /etc/vdr/channels.conf
  
 
==VDR in den Autostart==
 
==VDR in den Autostart==
Damit der VDR zukünftig automatisch mit dem System gestartet werden kann ist folgendes Skript notwendig:
+
Damit der VDR nach einem Systemstart automatisch gestartet wird kann das runvdr Skript am Ende der inittab des Systems eingetragen werden.
  
===Startskript erstellen===
+
  cd /etc/
  cd /etc/init.d
+
  vi inittab
  sudo vi vdr
+
  
  #!/bin/bash
+
  # VDR
### BEGIN INIT INFO
+
  vdr:35:once:/usr/local/bin/runvdr
# Provides:          VDR
+
  # Required-Start:   $network
+
# Required-Stop:     $network
+
# Default-Start:     2 5
+
# Default-Stop:      0 1 6
+
# Description:      Start, Stop or Restart VDR
+
### END INIT INFO
+
 
   
 
   
  # Shell functions sourced from /etc/rc.status:
+
  # end of /etc/inittab
# set -e
+
# Reset status of this service
+
# rc_reset
+
+
#
+
case "$1" in
+
    start)
+
        echo -n "Starting VDR "
+
                /usr/local/bin/runvdr &
+
        ;;
+
    stop)
+
        echo -n "Shutting down VDR "
+
                /usr/bin/killall runvdr
+
                /usr/bin/killall vdr
+
        ;;
+
    restart)
+
        echo -n "Restart VDR "
+
        $0 stop
+
        sleep 5
+
        $0 start
+
        ;;
+
    *)
+
        echo "Usage: $0 {start|stop|restart}"
+
        exit 1
+
        ;;
+
esac
+
# rc_exit
+
exit 0
+
 
+
===Startskript ausführbar machen===
+
cd /etc/init.d/
+
chmod +x vdr
+
 
+
===Startskript in den Autostart aufnehmen===
+
update-rc.d vdr defaults 90 90
+
 
+
Falls man den VDR wieder aus dem Autostart entfernen möchte geht das mit:
+
update-rc.d -f vdr remove
+
  
[[Kategorie:Installationsanleitungen]]
+
[[Kategorie:OpenSUSE VDR DVB-T mittels Xine und VDPAU]]

Aktuelle Version vom 29. Juni 2010, 17:13 Uhr

Inhaltsverzeichnis

[Bearbeiten] OS Systempakete installieren

yast > Software > Software Management >

- ImageMagick-devel
- libMagick++-devel
- libcap-devel

[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.10.tar.bz2

[Bearbeiten] Videoverzeichnis vorbereiten

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

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

[Bearbeiten] Installation VDR

[Bearbeiten] Link auf compiler.h setzen

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

[Bearbeiten] VDR Verzeichnis vorbereiten und Installationsmedien entpacken

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

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

[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

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

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

[Bearbeiten] Installation VDR

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

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

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

[Bearbeiten] DVB-T channels.conf mittels w_scan erstellen

[Bearbeiten] w_scan installieren

cd /data/installfiles/vdr
wget http://wirbel.htpc-forum.de/w_scan/w_scan-20091118.tar.bz2
cd /usr/local/src
tar -xjf /data/installfiles/vdr/w_scan-20091118.tar.bz2
ln -s w_scan-20091118/ w_scan

[Bearbeiten] DVB-T Kanalliste für Deutschland erstellen

cd /usr/local/src/w_scan
./w_scan -ft -c DE >> /etc/vdr/channels.conf

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