Ubuntu HD VDR 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
sudo 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-headers-2.6.31-17-generic/include/linux/compiler.h compiler.h

VDR Verzeichnis vorbereiten und Installationsmedien entpacken

sudo su -
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

Installation VDR

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

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.11/
sudo chown -R vdruser.vdruser /etc/vdr/
sudo chown -R vdruser.vdruser /var/vdr/
sudo chown -R vdruser.vdruser /usr/local/bin/svdrpsend.pl
sudo chown -R vdruser.vdruser /usr/local/bin/vdrpoweroff.sh
sudo chown -R vdruser.vdruser /usr/local/bin/runvdr

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/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 -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 dvb_ttpci
 modprobe budget_ci
}

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

# 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
sudo 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 zukünftig automatisch mit dem System gestartet werden kann ist folgendes Skript notwendig:

Startskript erstellen

cd /etc/init.d
sudo vi vdr
#! /bin/sh
### BEGIN INIT INFO
# Provides:          vdr
# Required-Start:    $network $syslog
# Required-Stop:     $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Video Disc Recorder
# Description:       Starts the 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

d_start() {
   /usr/local/bin/runvdr
}

d_stop() {
   killall runvdr
   killall vdr
}

case "$1" in
  start)
   echo -n "Starting $DESC: $NAME"
   d_start
   echo "."
   ;;
  stop)
   echo -n "Stopping $DESC: $NAME"
   d_stop
   echo "."
   ;;
  *)
   echo "Usage: $SCRIPTNAME {start|stop}" >&2
   exit 1
   ;;
esac

exit 0

Skript ausführbar machen

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

IRTrans in den Autostart aufnehmen

sudo update-rc.d vdr defaults

IRTrans aus dem Autostart entfernen

sudo update-rc.d -f vdr remove

Links

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