Dieses Howto soll dabei unterstützen ein ubuntu precise 12.04 LTS mit selbstkompiliertem VDR und einigen Plugins zu installieren.
Die Videoausgabe erfolgt über das SoftHDDevice Plugin. Video wird mittels nvidia's vdpau für H264 und mpeg2 hardwarebeschäunigt deshalb ist auch ein recht langsames system (ab ~ Sempron 3000 mit geeigneter Nvidia VGA ) voll dafür geeignet ein VDR zu werden.
Benötigt werden ein Computer mit Nvidia Grafikkarte (vdpau wird nur von
recht aktuellen Modellen unterstützt) Die günstigen Karten der GT520 Serie (~30 euro) reichen jedoch vollkommen aus), ein von Linux unterstützte DVB Karte (siehe die Kompatibilitätsliste auf linuxtv.org:
http://www.linuxtv.org/wiki/index.php/Hardware_Device_Information ) und dem Komfort sehr zuträglich ist eine Fernbedienung zur Steuerung des VDR. Die bei manchen DVB-Karten mitgelieferten Fernbedienungen werden in der regel einwandfrei erkannt.
Ubuntu 12.04 install:ubuntu presice 12.004 Desktop installation Disk bekommt ihr hier:
http://releases.ubuntu.com/precise/ Wenn man einen usb stick erstellen möchte anstatt eine cd zu verschwenden kann mit 'Unetbootin' von windows aus einen bootstick erstellen. Von einem ubuntu system aus mit dem 'System => Administration => Startup Disk Creator' Menüpunkt .
Jetzt den Ubuntu install starten und einige Fragen wie username, passwort usw. beantworten. bei der Partitionierung wird es automatisch neben einem bestehenden system installiert, also keine gefahr
Nach dem Install empfiehlt es sich schnellere Repository Mirrors zu wählen. Es werden während der installation automatisch geo positionierte Mirrors gewählt die teilweise sehr überrannt und damit langsam sind. Die Quell mirrors von ubuntu selbst sind immer am aktuellsten und sehr schnell. dazu vom terminal:
gksu gedit /etc/apt/sources.list
und alle country code Prefixe entfernen, oder die gesamte Datei ersetzen mit
## Main Archives
deb http://archive.ubuntu.com/ubuntu precise main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu precise main restricted universe multiverse
## Major bug fix updates
deb http://archive.ubuntu.com/ubuntu precise-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu precise-updates main restricted universe multiverse
## Security Updates
deb http://archive.ubuntu.com/ubuntu precise-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu precise-security main restricted universe multiverse
## Backports
# deb http://at.archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse
# deb-src http://at.archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse
## Canonical 'partner' repository
deb http://archive.canonical.com/ubuntu precise partner
# deb-src http://archive.canonical.com/ubuntu precise partner
Dann ein Systemupdate durchführen:
sudo apt-get update && sudo apt-get dist-upgrade
"Recommended Packages" nicht mitinstallierenRecommended Packages waren vom debian packaging konzept nicht dafür vorgesehen automatisch mit installiert zu werden aber ubuntu hat das per default angeschaltet was unglaublich viel unnötige dependencies mitinstalliert. Um das verhalten zurück auf die Standardeinstellung zu schalten:
gksudo gedit /etc/apt/apt.conf.d/02recommends
folgendes einfügen, speichern und schließen.
APT::Install-Recommends "0";
DVB Treiber InstallierenWurde die Karte vom System erkannt? dmesg | grep -i dvb
sollte unter anderem eine Zeile "Registering Adapter 0 frontend 0" aufweisen und die device nodes sollten angelegt sein.
cd /dev/dvb/adapter*
ls
sollte
demux0 frontend0 dvr0 und net0 ausgeben. Wenn dem so ist, ist eure hardware bereit.
Falls eure Karte nicht out of the box unterstützt wird könnt ihr den aktuellen Snapshot der DVB Entwicklungstreiber installieren.
sudo add-apt-repository ppa:yavdr/main
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install dkms linux-media-dkms
Multimedia CodecsMedibuntu Repository hinzufügensudo wget --output-document=/etc/apt/sources.list.d/medibuntu.list http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list && sudo apt-get --quiet update && sudo apt-get --yes --quiet --allow-unauthenticated install medibuntu-keyring && sudo apt-get --quiet update && sudo apt-get --yes install app-install-data-medibuntu apport-hooks-medibuntu
und folgende restricted codecs installieren:
sudo apt-get install ubuntu-restricted-extras non-free-codecs gstreamer0.10-ffmpeg ttf-mscorefonts-installer unrar libavcodec-extra-53 libavdevice-extra-53 libavfilter-extra-2 libavformat-extra-53 libpostproc-extra-52 libswscale-extra-2 libavcodec-dev libavdevice-dev libavfilter-dev libavformat-dev libavutil-dev libpostproc-dev libswscale-dev gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse
libav mit einem unrestricted ffmpeg build (für softhddevice nötig!) ersetzensudo add-apt-repository ppa:jon-severinsson/ffmpeg
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install ffmpeg libavcodec-dev libavformat-dev libpostproc-dev gstreamer0.10-ffmpeg libavutil-dev libswscale-dev libavdevice-dev libavfilter-dev libavutil51 libavcodec53 libavdevice53 libavformat53 libavfilter2 libpostproc52 libavutil-extra-51 libavcodec-extra-53 libavdevice-extra-53 libavfilter-extra-2 libpostproc-extra-52 libavformat-extra-53 libswscale2 libswscale-extra-2 libswresample0 libswresample-dev libswresample-extra-0 libav-tools
Audio und Video PlayerFür die Lokale mp3 sammlung empfehle Decibel Audio Player
sudo apt-get install decibel-audio-player
und für video aufgaben ist der Smplayer gut geeignet
sudo add-apt-repository ppa:motumedia/mplayer-daily ppa:rvm/smplayer
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install mplayer2 smplayer libx264 libblueray1
Smplayer für vdpau (nvidia hardware Beschleunigung) konfigurieren:
Options - Preferences - General - Video Tab
=> Output Driver: User defined... vdpau:deint=42:denoise=1,xv,
=> haken für 'Enable post processing by default' entfernen
Options - Preferences - General - Audio Tab
=> Output Driver: User defined... pulse,
=> Checkbox 'Global Volume' setzen
=> Checkbox 'Use Software Volume Control' setzen
Options - Preferences - Preformance
=> Checkbox 'Allow Frame Drop' setzen
=> Loop Filter: 'Skip only on HD Videos'
Options - Interface
=> Autoresize: 'Never'
Options - Advanced - Options for Mplayer
=> Extra options for mplayer:
-vc ffmpeg12vdpau,ffh264vdpau,ffwmv3vdpau,ffvc1vdpau,
Die Beistriche am ende einer Zeile wie z.B.
xv, sind nötig!
Während der Wiedergabe kann man mit + und - den audio sync anpassen. Neben HD material wird ab Vdpau feature set C auch avi, mkv mpeg2 und andere formate hardwarebeschläunigt abgespielt.
DVB mit vlc:Kanalscanner w_scan installieren und kanalsuchlauf starten.
sudo apt-get install w-scan
für DVB-S Astra 19.2 mit einem Empfangs-device
w_scan -f s -s S19E2 -X > $HOME/channels.dvbs.xspf
Für DVB-T
w_scan -f t -c DE -X > $HOME/channels.dvbt.xspf
vlc mit der channels playlist laden:
vlc $HOME/channels.dvbt.xspf
Kaffeinesudo add-apt-repository ppa:mtron/kaffeine-stable
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install kaffeine libxine1-ffmpeg
xine Konfiguration für HDTV:
zum editieren Raute am Beginn der betreffenden Zeile entfernen und Wert nach dem Doppelpunkt anpassen
gedit ~/.kde/share/apps/kaffeine/xine-config
# audio driver
audio.driver:pulseaudio
# video driver
video.driver:vdpau
# FFmpeg video decoding thread count
# mit der Nummer eurer Prozessoren anpassen!
video.processing.ffmpeg_thread_count:2
# number of audio buffers
engine.buffers.audio_num_buffers:750
# number of video buffers
engine.buffers.video_num_buffers:1800
# default number of video frames
engine.buffers.video_num_frames:30
# memcopy method used by xine
engine.performance.memcpy_method:sse
VDR-
VDR aus den Sourcen kompilieren.
sudo mkdir -p /video/vdr
sudo chown -R $USER:$USER /video
cd /video/vdr
wget ftp://ftp.tvdr.de/vdr/Developer/vdr-2.0.2.tar.bz2
tar -xjf vdr-2.0.2.tar.bz2
cd vdr-2.0.2
sudo apt-get build-dep vdr
sudo apt-get install build-essential gcc-4.6 g++-4.6
make
-
vdr plugin softhddevice ['git pull' zum updaten]cd /video/vdr/vdr-2.0.2/PLUGINS/src
git clone git://projects.vdr-developer.org/vdr-plugin-softhddevice.git
ln -s vdr-plugin-softhddevice softhddevice
cd softhddevice
gedit Makefile
### Configuration (edit this for your needs)
CONFIG := #-DDEBUG
CONFIG += -DAV_INFO -DAV_INFO_TIME=3000 # debug a/v sync
#CONFIG += -DHAVE_PTHREAD_NAME # supports new pthread_setname_np
#CONFIG += -DNO_TS_AUDIO # disable ts audio parser
#CONFIG += -DUSE_TS_VIDEO # build new ts video parser
CONFIG += $(shell pkg-config --exists vdpau && echo "-DUSE_VDPAU")
#CONFIG += $(shell pkg-config --exists libva && echo "-DUSE_VAAPI")
CONFIG += $(shell pkg-config --exists alsa && echo "-DUSE_ALSA")
#CONFIG += -DUSE_OSS
cd ../../..
make plugins
-
vdr Plugin Femon [aktuelle version 06/2012: 1.7.17 Quelle]cd /video/vdr/vdr-2.0.2/PLUGINS/src
wget http://www.saunalahti.fi/~rahrenbe/vdr/femon/files/vdr-femon-1.7.17.tgz
tar -xzf vdr-femon-1.7.17.tgz
ln -s femon-1.7.17 femon
cd ../..
make plugins
-
vdr Plugin Osdteletext [aktuelle version 06/2012: 0.9.3 Quelle]cd /video/vdr/vdr-2.0.2/PLUGINS/src
wget http://projects.vdr-developer.org/attachments/download/912/vdr-osdteletext-0.9.3.tgz
tar -xzf vdr-osdteletext-0.9.3.tgz
ln -s osdteletext-0.9.3 osdteletext
cd ../..
make plugins
-
vdr Plugin live ['git pull' zum updaten]cd /video/vdr/vdr-2.0.2/PLUGINS/src
sudo apt-get build-dep vdr-plugin-live
git://projects.vdr-developer.org/vdr-plugin-live.git
ln -s vdr-plugin-live live
cd ../../..
make plugins
die live http datein in die vdr plugin dir kopieren:
mkdir -p /video/vdr/vdr-2.0.2/config/plugins/live
cp -r /video/vdr/vdr-2.0.2/PLUGINS/src/live/live/* /video/vdr/config/plugins/live/
-
vdr Plugin epgsearch [aktuelle version 06/2012: 1.0.1 beta1 Quelle]cd /video/vdr/vdr-2.0.2/PLUGINS/src
wget http://winni.vdr-developer.org/epgsearch/downloads/beta/vdr-epgsearch-1.0.1.beta1.tgz
tar -xzf vdr-epgsearch-1.0.1.beta1.tgz
ln -s epgsearch-1.0.1.beta1 epgsearch
cd ../..
make plugins
-
vdr Plugin radio [aktuelle version 06/2012: 0.9.0 Quelle]cd /video/vdr/vdr-2.0.2/PLUGINS/src
wget http://www.egal-vdr.de/plugins/vdr-radio-0.9.0.tgz
tar -xzf vdr-radio-0.9.0.tgz
ln -s radio-0.9.0 radio
cd ../..
make plugins
Config dateien ins vdr plugin verzeichnis kopieren:
mkdir -p /video/vdr/config/plugins/radio
cp -r /video/vdr/vdr-2.0.2/PLUGINS/src/radio/config/mpegstill/* /video/vdr/config/plugins/radio/
-
vdr Plugin mp3 & mplayer
['hg update' zum updaten]cd /video/vdr/vdr-2.0.2/PLUGINS/src
hg clone http://hg.muempf.de/mp3
sudo apt-get install libvorbis-dev libmad0-dev libsndfile1-dev libogg-dev libid3tag0-dev mplayer
cd ../..
make plugins
Config dateien ins vdr plugin verzeichnis kopieren:
mkdir -p /video/vdr/config/plugins/mplayer
cd /video/vdr/config/plugins/mplayer
wget http://mtron.mine.nu/files/vdr/vdr-plugin-mplayer_config.zip
unzip vdr-plugin-mplayer_config.zip
rm vdr-plugin-mplayer_config.zip
chmod +x mplayer.sh
-
vdr Plugin streamdev-server [aktuelle version 06/2012: 0.6.0 Quelle]cd /video/vdr/vdr-2.0.2/PLUGINS/src
wget http://projects.vdr-developer.org/attachments/download/969/vdr-streamdev-0.6.0.tgz
tar -xzf vdr-streamdev-0.6.0.tgz
ln -s streamdev-0.6.0 streamdev
cd ../..
make plugins
Config dateien ins vdr plugin verzeichnis kopieren:
mkdir -p /video/vdr/config/plugins/streamdev-server
cp -r /video/vdr/vdr-2.0.2/PLUGINS/src/streamdev/streamdev-server/* /video/vdr/config/plugins/streamdev-server/
Streamdevhosts für zugriff aus dem lokalen subnet (im Bespiel alle Ip's von 192.168.1.1 bis 192.168.1.255) freischalten
#
# streamdevhosts This file describes a number of host addresses that
# are allowed to connect to the streamdev server running
# with the Video Disk Recorder (VDR) on this system.
# Syntax:
#
# IP-Address[/Netmask]
#
127.0.0.1 # always accept localhost
192.168.1.1/24 # any host on the local net
#204.152.189.113 # a specific host
#239.255.0.0/16 # uncomment for IGMP multicast streaming
#0.0.0.0/0 # any host on any net (DON'T DO THAT! USE AUTHENTICATION)
-
vdr Plugin devstatus [aktuelle version 06/2012: 0.4.1 Quelle]cd /video/vdr/vdr-2.0.2/PLUGINS/src
wget http://www.u32.de/download/vdr-devstatus-0.4.1.tgz
tar -xzf vdr-devstatus-0.4.1.tgz
ln -s devstatus-0.4.1 devstatus
cd ../..
make plugins
-
vdr Plugin favourites [aktuelle version 06/2012: 0.0.2 Quelle]cd /video/vdr/vdr-2.0.2/PLUGINS/src
wget http://www.vdr-portal.de/index.php?page=Attachment&attachmentID=29502&h=94727dd6a26dae63371fe764e69f413bc82339ba
tar -xzf vdr-favorites-0.0.2.tgz
ln -s favorites-0.0.2 favorites
cd ../..
make plugins
VDR Konfiguration:Kanalliste, Setup, Timers...Das Archiv vdr-2.0.2_config.zip (siehe Anhang) unter /video/vdr entpacken. Nach dem entpacken sollte die Ordnerstruktur so aussehen:
/video
-/video/vdr # Symlink zu /video/vdr-1.7.28
-/video/vdr-2.0.2 # Root des VDR
-/video/vdr-2.0.2/config # Konfigurationsdateien für VDR
-/video/vdr-2.0.2/config/plugins # Konfigurationsdateien für Plugins
-/video/vdr-2.0.2/epg #Speicherort für EPG Daten
-/video/vdr-2.0.2/vdr-2.0.2 # VDR Sourcen & Binaries
-/video/vdr/vdr-2.0.2vdr-2.0.2PLUGINS/src # VDR Plugins Sourcen
-/video/vdr/vdr-2.0.2/PLUGINS/lib # VDR Plugins Libraries
vom Terminal:
cd /video/vdr/config
wget http://mtron.mine.nu/files/vdr/vdr-2.0.2_config.zip
unzip vdr-plugin-mplayer_config.zip
rm vdr-2.0.2_config.zip
Falls ihr Astra 19.2 empfängt müsst ihr nur gegebenenfalls die remote.conf unter /video/vdr-2.0.2/config anpassen und folgende Start Scripte erstellen:
sudo gedit /etc/init/softvdr.conf
Mit dem upstart script wird der VDR Daemon vor dem Laden des Display-Managers gestartet
description "start softvdr"
author "mtron <mtron@a1.net>"
start on (startup and
(starting gdm
or starting kdm
or starting lightdm
or starting lxdm ))
stop on runlevel [016]
emits starting-vdr
exec /video/vdr/startvdr
vdr start script:
gedit /video/vdr/startvdr
Dies ist das eigentliche Starter Script des VDR. Plugins werden über die jeweiligen '-P pluginname' Zeilen geladen. Zum deaktivieren eines Plugins entsprechende Zeile auskommentieren / löschen.
#! /bin/sh
# vdr srarter script
## edit local folder structure
BASE=/video/vdr/vdr-2.0.2 # location of the vdr binary
CONF=/video/vdr/config # vdr configuration files
STREAM=/video/vdr/config/plugins/streamdev-server # Location of externremux.sh script
TXT=/var/cache/vdr/vtx # temp teletext files
EPG=/video/vdr/epg/epg.data # location of the epg.data file
LOGDIR=/video/vdr/log # logfiles directory
REC=/media/work/vdr # recording directory
MPLAY=/video/vdr/config/plugins/mplayer # location of the mplayer.sh script
cd $BASE
## set your local language (for OSD encoding)
export LC_ALL=de_DE.utf8
export LC_COLLATE=de_DE.utf8
export VDR_CHARSET_OVERRIDE="ISO-8859-9"
## Run vdr
## Disable a Plugin by removing the "-P PluginName \" line
## see README
./vdr -c $CONF -v $REC -s /bin/true -E $EPG -p 2001 --log=1 --lirc=/dev/lircd --no-kbd --user=mtron \
-P "softhddevice -v vdpau -f -D" \
-P sc \
-P femon \
-P "osdteletext -d $TXT" \
-P "live -p 8008 -i 192.168.1.100" \
-P epgsearch \
-P radio \
-P "streamdev-server --remux=$STREAM/externremux.sh" \
-P devstatus \
-P "mplayer -M $MPLAY/mplayer.sh -R $MPLAY" \
-P favorites
#-P timeline \
# >> $LOGDIR/sc_log-`date +%Y%m%d-%H%M%S`
## uncomment previous line to enable sc log
softhddevice start script sudo /video/vdr/softdevice
Dieses Script Steuert das öffnen und schließen des Video Fensters für mehrere Monitore. (Display 1 ist Computer Monitor, Display 2 ist TV)
#!/bin/bash
## X-Screen for the monitor.
#DISPLAY1=":1.0"
# auto detection for nvidia binary blob only
SCREEN1=$(nvidia-settings -q Screens | fgrep '.0' | cut -d ':' -f2 | cut -c1-3)
DISPLAY1=":$SCREEN1"
echo "Display1 (Monitor) is on $DISPLAY1"
## X-Screen for the television
#DISPLAY2=":1.1"
## auto detection for nvidia binary blob only
SCREEN2=$(nvidia-settings -q Screens | fgrep '.1' | cut -d ':' -f2 | cut -c1-3)
DISPLAY2=":$SCREEN2"
echo "Display2 (Television) is on $DISPLAY2"
## user the vdr runs as (replace $USER if dirfferent from login user)
export USER=$USER
## some static stuff
SCREEN1=$(DISPLAY="$DISPLAY1" wmctrl -l | grep softhddevice)
SCREEN2=$(DISPLAY="$DISPLAY2" wmctrl -l | grep softhddevice)
vdricon=/video/vdr/img/vdr-client.png
vdrimg=/video/vdr/img/vdr-client.png
monitorimg=/video/vdr/img/monitor.png
monitorrunning=/video/vdr/img/monitor-running.png
tvimg=/video/vdr/img/television.png
tvrunning=/video/vdr/img/television-running.png
## make sure openbox runs on Display 2
function startopenbox () {
bash -c "DISPLAY="$DISPLAY2" openbox &"
}
## make sure vdr is running, else start
function vdrstatus () {
ps cax | grep vdr > /dev/null
if [ $? -eq 0 ]; then
echo "VDR is already running."
else
echo "VDR is not running. Starting it now..."
bash -c '/video/vdr/startvdr &'
sleep 10
fi
}
## assign display images for gui depending on softhddevice status
function softhddevicestatus () {
checksusp=$(svdrpsend plug softhddevice stat | grep "SuspendMode" | head -c3)
if [[ "$checksusp" == "911" ]]; then
echo "softhddevice is suspended"
mon=$monitorimg
tv=$tvimg
elif [[ "$checksusp" == "912" ]]; then
echo "softhddevice is detached"
mon=$monitorimg
tv=$tvimg
elif [[ "$checksusp" == "910" ]]; then
echo "softhddevice is active"
if [ "${SCREEN1}" == "" ]; then
echo "softhddevice is running on Display 2 (Television)"
mon=$monitorimg
tv=$tvrunning
else
echo "softhddevice is running on Display 1 (Monitor)"
mon=$monitorrunning
tv=$tvimg
fi
else
echo "he's dead jim. $checksusp is no expected softhddevice response code"
exit 1
fi
}
## gui menu based on yad
function menu () {
action=$(yad --geometry=400x330 --title "VDR SoftHDDevice" \
--window-icon=$vdricon --image=$vdricon \
--list --no-headers \
--column=check:tip --hide-column=1 --column=display:img Monitor $mon Television $tv \
--button="Restart VDR:2" --button="Start/Stop:0" --button="Quit:1" \
--text "<b>Select a Display</b> to start or stop the SoftHD Device Video Window\n\n<b>Device Status:</b>\n VDR $(svdrpsend plug | sed -n -e 's/^.*VideoDiskRecorder //p' | cut -d ";" -f1) is running (pid $(pidof vdr))\n$(svdrpsend plug softhddevice stat | grep SuspendMode | sed -e 's/[0-9]*//g')")
ret=$?
if [ $ret -eq 1 ]; then
exit 0
elif [ $ret -eq 2 ]; then
killall vdr
sleep 5
vdrstatus
menu
fi
case $action in
Monitor*) monitor ;;
Television*) tv ;;
*) yad --width 300 --window-icon=$vdricon --title "VDR SoftHDDevice" --image=gtk-dialog-info --button="Back:0" --text "Select one of the Displays to proceed" && menu ;;
esac
eval exec $cmd
}
## activate or deactivate Softhddevice Window on Display 1 (Monitor)
function monitor () {
if [[ "$checksusp" == "912" ]]; then
DISPLAY="$DISPLAY1"
/usr/bin/svdrpsend plug softhddevice atta -d "$DISPLAY1"
sleep 1
/usr/bin/svdrpsend chan 1
exit 0
else
if [ "${SCREEN1}" == "" ]; then
echo "softhddevice is not running on Display 1 (Monitor)"
if [ "${SCREEN2}" == "" ]; then
echo "softhddevice is not running on Display 2 (TV)"
echo "Starting softhddevice on Display 1 (Monitor)..."
DISPLAY="$DISPLAY1"
/usr/bin/svdrpsend plug softhddevice atta -d "$DISPLAY1"
sleep 1
/usr/bin/svdrpsend chan 1
exit 0
else
echo "Stopping it now..."
/usr/bin/svdrpsend plug softhddevice deta
sleep 1
echo "Starting softhddevice on Display 1 (Monitor)..."
DISPLAY="$DISPLAY1"
/usr/bin/svdrpsend plug softhddevice atta -d "$DISPLAY1"
sleep 1
/usr/bin/svdrpsend chan 1
exit 0
fi
else
echo "Stopping it now..."
DISPLAY="$DISPLAY1"
/usr/bin/svdrpsend plug softhddevice deta
exit 0
fi
fi
}
## activate or deactivate Softhddevice Window on Display 2 (Television)
function tv () {
if [[ "$checksusp" == "912" ]]; then
DISPLAY="$DISPLAY2"
/usr/bin/svdrpsend plug softhddevice atta -d "$DISPLAY2"
sleep 1
/usr/bin/svdrpsend chan 1
exit 0
else
if [ "${SCREEN2}" == "" ]; then
echo "softhddevice is not running on Display 2 (TV)"
if [ "${SCREEN1}" == "" ]; then
echo "softhddevice is not running on Display 1 (Monitor)"
echo "Starting softhddevice on Display 2 (TV)..."
DISPLAY="$DISPLAY2"
/usr/bin/svdrpsend plug softhddevice atta -d "$DISPLAY2"
sleep 1
/usr/bin/svdrpsend chan 1
exit 0
else
echo "Stopping it now..."
/usr/bin/svdrpsend plug softhddevice deta
sleep 1
echo "Starting softhddevice on Display 2 (TV)..."
DISPLAY="$DISPLAY2"
/usr/bin/svdrpsend plug softhddevice atta -d "$DISPLAY2"
sleep 1
/usr/bin/svdrpsend chan 1
exit 0
fi
else
echo "Stopping it now..."
DISPLAY="$DISPLAY1"
/usr/bin/svdrpsend plug softhddevice deta
exit 0
fi
fi
}
case "$1" in
tv)
startopenbox
vdrstatus
softhddevicestatus
tv
;;
mon)
vdrstatus
softhddevicestatus
monitor
;;
help)
echo "Usage: 'softhddevice mon' or 'softhddevice tv' to open or close a video window on the desired display device."
echo "When no valid option is passed a gtk gui is shown (yad needed)."
exit 0
;;
*)
vdrstatus
startopenbox
softhddevicestatus
menu
;;
esac
SteuerungFernbedienung:Meine Fernbedienung wurde mit der Terratec Cinergy S2 mitgeliefert und der Infrarot Empänger wir direkt an die Sat karte angeschlossen. Linux erkennt den empfänger automatisch als "Linux Input Device" und die Einrichtung erfolgt über das Gui tool
gnome-lirc-properties.
sudo apt-get install gnome-lirc-properties
gksu gnome-lirc-properties
Ein klick auf den 'Auto-Detect' button und die sache war erledigt. Die settings werden beim Neustart automatisch geladen.
VDR Steuerung via Remote und TastaturDer VDR kann mit folgender remote.conf mit einer Fernbedienung dessen Empfänger als "Linux Input Layer" erkannt wird und der Tastatur bedient werden:
KBD.Up 00000000001B5B41
KBD.Down 00000000001B5B42
KBD.Menu 000000000000006D
KBD.Ok 000000000000000D
KBD.Back 000000000000007F
KBD.Left 00000000001B5B44
KBD.Right 00000000001B5B43
KBD.Red 000000001B5B5B41
KBD.Green 000000001B5B5B42
KBD.Yellow 000000001B5B5B43
KBD.Blue 000000001B5B5B44
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.Info 0000000000000069
KBD.FastFwd 0000001B5B31377E
KBD.FastRew 000000001B5B5B45
KBD.Power 0000000000000070
KBD.Volume+ 0000001B5B32347E
KBD.Volume- 0000001B5B32337E
KBD.Mute 0000001B5B32317E
KBD.User7 0000001B5B31387E
KBD.User8 0000001B5B31397E
KBD.User9 0000001B5B32307E
XKeySym.Up Up
XKeySym.Down Down
XKeySym.Menu m
XKeySym.Ok Return
XKeySym.Back BackSpace
XKeySym.Left Left
XKeySym.Right Right
XKeySym.Red F1
XKeySym.Green F2
XKeySym.Yellow F3
XKeySym.Blue F4
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.Info i
XKeySym.Pause space
XKeySym.FastFwd F6
XKeySym.FastRew F5
XKeySym.Power p
XKeySym.Volume+ F12
XKeySym.Volume- F11
XKeySym.Mute F10
XKeySym.User7 F7
XKeySym.User8 F8
XKeySym.User9 F9
LIRC.Up KEY_UP
LIRC.Down KEY_DOWN
LIRC.Menu KEY_TV
LIRC.Menu KEY_MENU
LIRC.Ok KEY_OK
LIRC.Back KEY_ESC
LIRC.Back KEY_POWER
LIRC.Left KEY_LEFT
LIRC.Right KEY_RIGHT
LIRC.Red KEY_RED
LIRC.Green KEY_GREEN
LIRC.Yellow KEY_YELLOW
LIRC.Blue KEY_BLUE
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_PLAY
LIRC.Pause KEY_PAUSE
LIRC.Stop KEY_STOP
LIRC.Record KEY_RECORD
LIRC.FastFwd KEY_FASTFORWARD
LIRC.FastRew KEY_REWIND
LIRC.Next KEY_NEXT
LIRC.Prev KEY_PREVIOUS
LIRC.Audio KEY_VIDEO
LIRC.Schedule KEY_EPG
#LIRC.Power handled via irxevent ~/.lircrc
LIRC.Channel+ KEY_CHANNELUP
LIRC.Channel- KEY_CHANNELDOWN
LIRC.Volume+ KEY_VOLUMEUP
LIRC.Volume- KEY_VOLUMEDOWN
LIRC.Mute KEY_MUTE
LIRC.User1 KEY_TEXT
LIRC.User2 KEY_VCR
Der Power key soll entweder ein Video fenster öffnen, oder falls bereits ein Video Fenster offen ist soll es geschlossen werden. Dies passiert über eine Funktion in .lircrc das von irexec ausgeführt wird.
gedit $HOME/.lircrc
Die restliche Konfiguration im .lircrc File ist um mplayer mit der Fernbedienung steuern zu können. Irexec muss als autostart programm eingetragen werden.
begin
remote = linux-input-layer
prog = irexec
button = KEY_POWER
config = /video/vdr/softdevice tv
end
# mplayer bindings
#OSD Menu begin
begin
remote = linux-input-layer
prog = mplayer
button = KEY_INFO
config = menu up
config = menu hide
end
begin
remote = linux-input-layer
prog = mplayer
button = KEY_UP
config = menu up
end
begin
remote = linux-input-layer
prog = mplayer
button = KEY_DOWN
config = menu down
end
begin
remote = linux-input-layer
prog = mplayer
button = KEY_LEFT
config = menu cancel
end
begin
remote = linux-input-layer
prog = mplayer
button = KEY_RIGHT
config = menu hide
end
begin
remote = linux-input-layer
prog = mplayer
button = KEY_OK
config = menu ok
end
#OSD Menu End
begin
remote = linux-input-layer
button = KEY_EPG
prog = mplayer
config = osd
# repeat 3
end
begin
remote = linux-input-layer
button = KEY_GREEN
prog = mplayer
config = vo_fullscreen
# repeat 3
end
begin
remote = linux-input-layer
button = KEY_POWER
prog = mplayer
config = q
end
begin
remote = linux-input-layer
button = KEY_PLAY
prog = mplayer
config = pause
end
begin
remote = linux-input-layer
button = KEY_VOLUMEUP
prog = mplayer
config = volume 2
repeat = 1
end
begin
remote = linux-input-layer
button = KEY_VOLUMEDOWN
prog = mplayer
config = volume -2
repeat = 1
end
begin
remote = linux-input-layer
button = KEY_MUTE
prog = mplayer
config = mute
end
begin
remote = linux-input-layer
button = KEY_FASTFORWARD
prog = mplayer
config = seek 10
repeat = 1
end
begin
remote = linux-input-layer
button = KEY_REWIND
prog = mplayer
config = seek -10
repeat = 1
end
begin
remote = linux-input-layer
button = KEY_PREVIOUS
prog = mplayer
config = seek -20
repeat = 1
end
begin
remote = linux-input-layer
button = KEY_NEXT
prog = mplayer
config = seek 20
repeat = 1
end
Audio via HDMI outDie Audio Ausgabe lässt sich in der Regel komplett über die in ubuntu integrierte Lautstärkenregelung steuern (HDMI out, Stereo Chinc out und so weiter).
Falls pulseaudio daran scheitert alsa manuell konfigurieren
aplay -l
schauen wie das HDMI Device der Nvidia Karte heisst.
speaker-test -c 2 -D hw:NVidia,7
testen welches das richtige ist.
"hw:NVidia,7" mit aplay -l Ausgabe ersetzten.
Der Benutzer unter dem der VDR läuft muß in der Gruppe 'audio' sein.
sudo gpasswd -a $USER audio
VDR Daemon startensudo service softvdr start
VDR Daemon stoppensudo service softvdr start
VDR Video Fenster öffnensvdrpsend plug softhddevice atta
Multi - Display BetriebComputer Monitor (Display :0.0) und Fernseher (Display :0.1) mit seperater X-screen konfiguration:
DISPLAY=:0.0 /usr/bin/svdrpsend -p 2001 plug softhddevice atta -d :0.0
um das fenster am Monitor zu starten oder für das Fenster am Fernseher:
DISPLAY=:0.1 /usr/bin/svdrpsend -p 2001 plug softhddevice atta -d :0.1
VDR Video Fenster schließen svdrpsend plug softhddevice deta
Starter Icon für den Panel oder Unity/gnome-shell:
gedit $HOME/.local/share/applications/VDR.desktop
#!/usr/bin/env xdg-open
[Desktop Entry]
Categories=AudioVideo;Player;
Comment=start VDR SoftHDDevice
Encoding=UTF-8
Hidden=false
Icon=/usr/share/icons/xineliboutput-sxfe.svg
Name=VDR SoftDevice
Terminal=false
Type=Application
Version=1.0
Exec=/video/vdr/softdevice crt
Icon[en_US]=/usr/share/icons/xineliboutput-sxfe.svg
Comment[en_US]=VDR Softhddevice
Name[en_US]=VDR
Jetzt im dash nach vdr suchen und den Launcher anpinnen. beim klick auf den Icon wird ein VDR SoftHdDevice fenster auf dem Computer Monitor geöffnet . Falls bereits ein Fester aktiv ist wird es geschlossen. (dasselbe gibt auch für ein eventuell bereits geöffnetes VDR SoftHdDevice Fenster am Fernseher)
Wenn bei klick auf den VDR Icon ein Fenster am Fernseher (anstatt am Computer Monitor) geöffnet werden soll:
Exec=/video/vdr/softdevice crt
ändern in
Exec=/video/vdr/softdevice tv
Changelog - 22/05/2013: Update auf VDR 2.0.2
- 12/06/2012: VDR Konfiguration hinzugefügt
- 10/06/2012: erste Revision