Benutzer-Werkzeuge

Webseiten-Werkzeuge


vdr:vdr-1733

VDR

Ein Update auf die aktuellste Version hatte ich immer wieder verschoben. Meist gab es Probleme beim Kompilieren und ich hatte nicht den Nerv, diese Probleme aufzulösen. So habe ich mich dann kurz vor Weihnachten 2012 doch an diese Aufgabe gemacht und auf 1.7.33 upgedatet. An der Hardware ist nichts geändert worden.

Ich habe VDR 1.7.33 und meine verwendeten (und gepatchten) Plugins als tar.gz-Archive auf meinem FTP zur Verfügung gestellt.

Ausstattung

Hardware

  • Gigabyte M68M-S2P (mit Terratec Aureon 7.1 USB als zweite Soundkarte, siehe 2 Soundkarten parallel betreiben)
  • AMD Athlon™ X2 4850e
  • 2 Gb RAM
  • LG HL-DT-ST DVDRAM GH20NS10 als DVD-Brenner
  • Festplatte SAMSUNG HD204UI für die Aufnahmen (1TB)
  • TeVii S464 (DVB-S2)
  • nVidia GT240 mit HDMI/Sound (xineliboutput mit vdr-sxfe und vdpau/alsa)

Software

  • openSuSE 11.2 mit Kernel 2.6.39.4
  • nVidia-Treiber Version 313.09
  • xine-lib mit vdpau-Unterstützung
  • VDR 1.7.33
  • vdradmind

Plugins

  • nordlichtsepg
  • extrecmenu
  • xineliboutput
  • osdteletext
  • graphlcd
  • burn
  • femon
  • streamdev-server
  • skinenigmang

Scripte

runvdr

Geändert wurden:

  • Parallel-Device in die Konfiguration verschoben
  • Restart des Soundsystems per Variable ein-/ausschalten

Die Variablen werden nicht (!) auf Gültigkeit geprüft, daher ist Vorsicht angesagt.

#!/bin/sh
 
# Konfiguration laden
. /etc/sysconfig/vdr
 
# Sprache setzen
export LANG="de_DE.UTF-8"
 
# Rechte vom PPort setzen
if [ -n $PARPORTDEV ]; then
  if [ -f $PARPORTDEV ]; then
    chmod $PARPORTMOD $PARPORTDEV
  else
    /sbin/modprobe ppdev
    /sbin/modprobe parport
    if [ -f $PARPORTDEV ]; then
        chmod $PARPORTMOD $PARPORTDEV
    fi
  fi
fi
 
# Alsa auf Default setzen
if [ $SOUNDRESTART -eq 1 ]; then
  rcalsasound restart
  alsactl restore
fi
 
# X11 starten
while ps auxww | awk '$0~/X/&&$0!~/awk/{print $2}'|xargs kill; do sleep 3; done
X &
sleep 3
DISPLAY="127.0.0.1:0.0"
export DISPLAY
xhost +localhost
 
# vdr
VDRBIN=$(which vdr)
 
if [ -x $VDRBIN ] ; then 
        while killall $VDRBIN; do sleep 3; done
        eval "$VDRBIN $VDROPT $VDRPLUGINS"
        sleep 2
fi

/etc/sysconfig/vdr

Konfigurationsdaten für runvdr-Script (HINT: runvdr.sysconfig aus den Quellen manuell nach /etc/sysconfig/vdr kopieren!)

# VDR Plugins
VDRPLUGINS="-Pnordlichtsepg -Pextrecmenu -P'xineliboutput -l sxfe -V vdpau -A alsa:default -f' -P'osdteletext -d /var/tmp/vtx' -Pfemon -Pstreamdev-server -Pdvd -P'graphlcd -c /etc/graphlcd.conf -d t6963c' -Pskinenigmang"
# VDR Konfiguration
VDROPT="-d --lirc -v /srv/video/ -u vdr -g /srv/video/ -E /srv/video/epg.data -w 60 --localedir=/usr/share/locale -L /usr/lib64/vdr -c /etc/vdr -s /usr/local/bin/vdrpoweroff.sh"
 
# Plugin GraphLCD
PARPORTDEV=/dev/parport0
PARPORTMOD=0666
 
# Soundsystem neustarten
SOUNDRESTART=1

vdrpoweroff.sh

Schaltet den Computer aus, sofern nicht innerhalb von 11 Minuten (10 Minuten Vorlauf, 1 Minute Sicherheitsabstand) eine Aufnahme erfolgt.

#!/bin/bash
 
if [ "$UID" -ne "0" ] ; then
    sudo bash "$0" "$1" "$2" "$3" "$4" "$5"
    exit $!
fi
 
echo "Arguments:  $*"
echo "Next timer: $1 seconds from 1970/01/01, UTC"
 
if [ "$2" -ne 0 ]; then
    offset=$(($2 -600 )) 
    if [ "$offset" -lt "60" ] ; then
        echo "Abort! Next timer will be here soon!"
        exit 1
    fi
fi
 
# manuelle Hardwareuhrsynchronisierung
hwclock --systohc --utc
 
# wakealarm löschen (wenn schon gesetzt, muss er gelöscht werden)
echo 0 > /sys/class/rtc/rtc0/wakealarm
 
# wakealarm zweimal setzen
newtime=$(($1 - 600 ))  # 10 minutes earlier 
echo $newtime > /sys/class/rtc/rtc0/wakealarm
 
poweroff
 
exit 0

Dafür muss allerdings noch in /etc/sudoers eine zusätzliche Zeile eingefügt werden. VDR-User und Pfad zu vdrpoweroff.sh müssen natürlich an die eigene Installation angepasst werden.

vdr ALL=(ALL) NOPASSWD: /usr/local/bin/vdrpoweroff.sh,/bin/bash
vdr/vdr-1733.txt · Zuletzt geändert: 15.01.2013 12:13 von udo