Benutzer-Werkzeuge

Webseiten-Werkzeuge


vdr:vdr

VDR (veraltet)

Ich wollte meinen VDR-Server energiesparender machen, also besorgte ich mir zu meinem noch vorhandenen Athlon X2 4850e ein passendes Board. Ich habe mich für ein Board mit GeForce 7025/nForce 630a-Chipsatz entschieden. Leider gibt es da ein kleines Problem mit dem Sound, worauf ich später eingehe.

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.36.2 und s2-liplianin-Treiber (Stand 25.01.2012)
  • nVidia-Treiber Version 290.03
  • xine-lib mit vdpau-Unterstützung
  • VDR 1.7.14
  • vdradmind

Plugins

  • nordlichtsepg (mit menuhook-patch als Ersatz für das ursprüngliche Programm-Menü)
  • extrecmenu
  • xineliboutput
  • osdteletext
  • graphlcd
  • epgsearch
  • skinsoppalusikka
  • tvm2vdr

Aufbau

openSUSE 11.2 und VDR

Ich habe in der Vorgängerversion VDR in Version 1.7.14 mit einigen Plugins installiert. Leider gab es dort nicht alle Plugins, die ich benötigte. So musste ich mir die Sourcen installieren, die Patches einspielen, neuere Versionen der Plugins besorgen und dann „backen“. Aus Zeitmangel konnte ich bisher noch kein RPM erstellen, so dass ich nur ein tar.gz-Archiv tar.gz-Archiv meiner Version anbieten kann.

DVB-S Hardware

In meinem Media/Server-PC arbeitete lange eine Karte von Hauppage. Leider hat die ein Problem mit der Wärme in einem PC und die Stromversorgung des LNB versagt ihren Dienst. Ob da an einer besseren Kühlung gespart wurde oder warum kein Hinweis auf eine ausreichende Kühlung im PC beigelegt wurde, das bleibt das Geheimnis des Herstellers. So habe ich mir dann eine DVB-S2-Karte von Terractec gekauft. Die Cinergy S2 HD läuft mit den s2-liplianin-Treiber unter einem Kernel 2.6.33.3. Nachdem die mittlerweile auch das zeitliche gesegnet hat (wieso eigentlich?) und eh immer wieder mal wegen Treiberproblemen bzw. wohl auch Hardwarebugs des Chipsatzes einen Reboot des Servers erforderte, musste eine neue her. Eine Recherche im VDR-Wiki ergab, das sich wohl eine TeVii S464 mit einem mir bis dato unbekannten Chipsatz ein mehr als adäquater Ersatz ist. Jedenfalls meldet w_scan sich sehr euphorisch mit „very good“ anstelle von „good“.

Sound

Leider gibt es einige Probleme mit dem Sound über Onboard und HDMI. Beide laufen über den Alsa-Treiber „hda-intel“, der allerdings keine zwei verschiedene Soundkarten verwalten kann. So musste ich also die Onboard-Soundkarte deaktivieren und mir eine zusätzliche (intern oder USB) besorgen. Wegen dem Platzbedarf der Grafikkarte kann ich nur eine USB-Soundkarte nutzen. Ein Versuch mit einem WLAN-Stick von Belkin hatte leider mit Verbindungsabbrüchen die Verbindung zur Fritzbox ziemlich gestört, was ich dann wieder verworfen hatte.

Für die Soundkarte „nVidia Audio device“ auf der GT240 muss man einen kleinen Trick anwenden, damit nach dem Unmute auch wirklich Sound am TV ankommt.

options snd slots=snd-hda-intel
options snd-hda-intel enable=1 index=0 enable_msi=0 probe_mask=0xfff2
alias snd-card-0 snd-hda-intel

Damit VDR auch den Sound ausgeben kann, definiert man ein Default-Device oder gibt es dem xineliboutput-Plugin als „alsa:hw0,3“ mit.

pcm.!default {
    type hw
    card 0
    device 3
}

Mit einer zweiten Soundkarte (siehe 2 Soundkarten parallel betreiben) kann man dann auch Sound auf einer Hifi-Anlage hören.

lirc

Die der TeVii S464 beigelegte Fernbedienung kann über den lirc-Treiber im Kernel (devinput) angesprochen werden. Dazu gibt es eine Default-Konfiguration, die auch so funktioniert. Man muss nur ein paar Tasten im VDR anders belegen, da z.B. die Tasten rot, grün, gelb und blau für Teletext nicht existieren.

remote.conf

XKeySym.Up         Up
XKeySym.Down       Down
XKeySym.Menu       F2
XKeySym.Ok         Return
XKeySym.Back       f
XKeySym.Left       Left
XKeySym.Right      Right
XKeySym.Red        F5
XKeySym.Green      F6
XKeySym.Yellow     F7
XKeySym.Blue       F8
XKeySym.0          0
XKeySym.1          1
XKeySym.2          2
XKeySym.3          3
XKeySym.4          4
XKeySym.5          5
XKeySym.6          6
XKeySym.7          7
XKeySym.8          8
XKeySym.9          9
XKeySym.Volume+    +
XKeySym.Volume-    -
XKeySym.Mute       m
XKeySym.Info       i
XKeySym.Pause      space
XKeySym.FastFwd    s
XKeySym.FastRew    r
XKeySym.Power      v
LIRC.Up         KEY_UP
LIRC.Down       KEY_DOWN
LIRC.Menu       KEY_MENU
LIRC.Ok         KEY_OK
LIRC.Back       KEY_BACK
LIRC.Left       KEY_LEFT
LIRC.Right      KEY_RIGHT
LIRC.Red        KEY_F1                  
LIRC.Green      KEY_F2                  
LIRC.Yellow     KEY_F3                  
LIRC.Blue       KEY_F4                  
LIRC.0          KEY_0                   
LIRC.1          KEY_1                   
LIRC.2          KEY_2                   
LIRC.3          KEY_3                   
LIRC.4          KEY_4                   
LIRC.5          KEY_5                   
LIRC.6          KEY_6                   
LIRC.7          KEY_7                   
LIRC.8          KEY_8                   
LIRC.9          KEY_9                   
LIRC.Info       KEY_INFO                
LIRC.Play       KEY_PLAYPAUSE           
LIRC.Pause      KEY_PVR                
LIRC.Stop       KEY_TUNER               
LIRC.Record     KEY_RECORD             
LIRC.FastFwd    KEY_FASTFORWARD         
LIRC.FastRew    KEY_REWIND              
LIRC.Next       KEY_OPEN               
LIRC.Prev       KEY_TIME               
LIRC.Power      KEY_POWER2              
LIRC.Channel+   KEY_CHANNELUP           
LIRC.Channel-   KEY_CHANNELDOWN         
LIRC.PrevChannel KEY_LAST               
LIRC.Volume+    KEY_VOLUMEUP            
LIRC.Volume-    KEY_VOLUMEDOWN
LIRC.Mute       KEY_MUTE
LIRC.Audio      KEY_AUDIO
LIRC.Subtitles  KEY_SUBTITLE
LIRC.Schedule   KEY_EPG
LIRC.Channels   KEY_F6
LIRC.Timers     KEY_MODE
LIRC.Recordings KEY_LIST
LIRC.Setup      KEY_SWITCHVIDEOMODE
LIRC.Commands   KEY_F5

runvdr

Zum Starten von VDR habe ich die nachfolgende Zeile in /etc/inittab eingefügt:

# VDR
vdr:345:once:/usr/local/bin/runvdr

Das von init aufgerufene Script lautet wie folgt:

#!/bin/sh
 
# Sprache setzen
export LANG="de_DE.UTF-8"
# Parport auf 666 setzen
if [ -f /dev/parport0 ] ; then 
    chmod 666 /dev/parport0
fi
 
# Alsa auf Default setzen
alsactl restore
 
# X11 starten
while killall X; do sleep 3; done
X &
sleep 3
DISPLAY="127.0.0.1:0.0"
export DISPLAY
xhost +localhost
 
# vdr
VDRBIN=$(which vdr)
VDRPLUGINS="-Pnordlichtsepg -Pextrecmenu -Pepgsearch -P'xineliboutput -l none -r 37890' -P'osdteletext -d /var/tmp/vtx' -Pskinsoppalusikka -P'graphlcd -c /etc/graphlcd.conf -d t6963c' -Ptvm2vdr"
VDROPT="-w 30 -d -E /etc/vdr/epg.data -u vdr --lirc -v /srv/video/ -t /dev/tty8"
 
# vdr-sxfe
VDRSXFE=$(which vdr-sxfe)
VDRSXFEOPT="-V vdpau --fullscreen --reconnect --daemon --post tvtime:method=use_vo_driver -A alsa:default xvdr://127.0.0.1"
 
# graphlcd
ANIGLCD="showpic -d t6963c -s 500 $(ls /etc/vdr/plugins/graphlcd/splash/start/*.glcd) -e"
 
# vdradmind
VDRADM=$(which vdradmind)
 
if [ -x $VDRBIN ] ; then 
        while killall $VDRBIN; do sleep 3; done
        #eval ANIGLCD
        eval "$VDRBIN $VDROPT $VDRPLUGINS"
        sleep 2
fi
#killall showpic
if [ -x $VDRADM ] ; then 
        eval "$VDRADM"
        ps -C vdradmind | wc -l
fi
if [ -x $VDRSXFE ] ; then
        while killall $VDRSXFE; do sleep 3; done
        eval "$VDRSXFE $VDRSXFEOPT"
fi

In dieser Version von runvdr habe ich noch eine Option für ein animierten Startscreen auf dem externen graphischen LCD vorgesehen, aber aufgrund einiger Probleme ist das auskommentiert.

vdr/vdr.txt · Zuletzt geändert: 22.12.2012 19:10 von udo