Dieses Howto sind meine Notizen um einen VDR mit Softhddevice auf ubuntu trusty 64bit zu installieren.Für die Wiedergabe werde ich intels GPU Beschleunigung verwenden die mit neuerer Prozessoren (HD können nur neuere Modelle ab ~i5? ) mitgeliefert wird.
VDR stammt von vorkompilierten Paketen des
yavdr ppa Diese Pakete sind sehr gut gepflegt, aber für die Verwendung mit nvidias vdpau Hardware Beschleunigung gedacht, weshalb für Intel Hardware einige Anpassungen nötig sind.
Das Endergebnis funktioniert recht gut nur die De-Interlacer von Intel sind grottenschlecht. Mehr als Bob geht bei mir nicht. Meilenweit von nvidia entfernt, wo bob ja einer der einfachsten Möglichkeiten ist.
System vorbereitensudo add-apt-repository ppa:yavdr/main
sudo add-apt-repository ppa:yavdr/testing-vdr
sudo apt update && sudo apt full-upgrade
VDR und einige
Plugins installierensudo apt install dkms vdrsymbols-ttf vdr vdr-plugin-bgprocess vdr-plugin-chanman vdr-plugin-clock vdr-plugin-devstatus vdr-plugin-epgsearch vdr-plugin-extrecmenu vdr-plugin-favorites vdr-plugin-femon vdr-plugin-live vdr-plugin-menuorg vdr-plugin-mousemate vdr-plugin-osdteletext vdr-plugin-radio vdr-plugin-skinelchi vdr-plugin-streamdev-server vdr-plugin-systeminfo
Softhddevice mit vaapi Support bauencd ~
mkdir -p work/softhddevice && cd work/softhddevice
sudo apt install vdr-dev libva-intel-vaapi-driver
sudo apt-get build-dep vdr-plugin-softhddevice
apt-get source vdr-plugin-softhddevice
sed -i s/#VAAPI/VAAPI/ ./vdr-plugin-softhddevice-0.6.1rc1.git20140218.1126/Makefile
cd vdr-plugin-softhddevice-0.6.1rc1.git20140218.1126
fakeroot debian/rules binary
cd ..
sudo dpkg -i *.deb
sudo apt-get install -f
VDR Config- VDR Empfangsart (dvb-s, dvb-t oder dvb-c) wählen:
sudo dpkg-reconfigure vdr
In diesem textmenü die VDR Empfangsart (DVB-S/T/C) wählen
- Die mitgelieferte Kanalliste ist veraltet. Darum löschen wir sie:
sudo rm /var/lib/vdr/channels.conf
und befüllen sie wieder mit aktuellen Einträgen von der channelpedia. Hier am Beispiel Astra 19.2:
sudo wget http://channelpedia.yavdr.com/gen/DVB-S/S19.2E/S19.2E_complete_sorted_by_groups.channels.conf -O /var/lib/vdr/channels.conf
- VDR Streaming für das lokale Subnetz freischalten. 192.168.1.0/24 auf deine Gegebenheiten anpassen
sudo nano /var/lib/vdr/plugins/streamdev-server/streamdevhosts.conf
#
# 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.0/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 SVDRP Kommandos aus dem lokalen Subnetz freischalten. 192.168.1.0/24 auf deine Gegebenheiten anpassen
sudo nano /etc/vdr/svdrphosts.conf
#
# svdrphosts This file describes a number of host addresses that
# are allowed to connect to the SVDRP port of the Video
# Disk Recorder (VDR) running on this system.
# Syntax:
#
# IP-Address[/Netmask]
#
127.0.0.1 # always accept localhost
192.168.1.0/24 # any host on the local net
#204.152.189.113 # a specific host
#0.0.0.0/0 # any host on any net (USE THIS WITH CARE!)
-DiseqC Astra 19.2 - Hotbird 13
/var/lib/vdr/diseqc.conf
S19.2E 11700 V 9750 t v W15 [E0 10 38 F0] W15 A W15 t
S19.2E 99999 V 10600 t v W15 [E0 10 38 F1] W15 A W15 T
S19.2E 11700 H 9750 t V W15 [E0 10 38 F2] W15 A W15 t
S19.2E 99999 H 10600 t V W15 [E0 10 38 F3] W15 A W15 T
S13.0E 11700 V 9750 t v W15 [E0 10 38 F4] W15 B W15 t
S13.0E 99999 V 10600 t v W15 [E0 10 38 F5] W15 B W15 T
S13.0E 11700 H 9750 t V W15 [E0 10 38 F6] W15 B W15 t
S13.0E 99999 H 10600 t V W15 [E0 10 38 F7] W15 B W15 T
- Steuerung mit Keyboard oder Fernbedienung (via inputlirc das meine FB als "linux-input-device" erkennt)
/var/lib/vdr/remote.conf
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.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
Damit es keine Rechteprobleme mit der bei meiner Cinergy USB Box mitgelieferten Fernbedienung gibt muss ich folgende udev Regel erstellen
sudo nano /etc/udev/rules.d/99-input.rules
SUBSYSTEM=="input", GROUP="input", MODE="0660"
KERNEL=="tty[0-9]*", GROUP="tty", MODE="0660"
und den user unter dem VDR dann läuft (in der Regel dein System User wenn du Softhddevice verwendest) zu den Systemgruppen hinzufügen damit dieser die nötigen Rechte hat:
sudo useradd -G audio <username>
sudo useradd -G video <username>
sudo useradd -G input <username>
Der Power Key der Fernbedienung soll entweder ein Video Fenster öffnen, oder falls bereits ein Video Fenster offen ist soll es geschlossen werden. Dies passiert über ein Shell script (siehe
diesen Post) welches durch eine Funktion in .lircrc ausgeführt wird. (via irexec)
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
- VDR Webfrontend
Ein gutes Web Plugin heißt "Live" und wird über die Datei plugin.live.conf konfiguriert. Mit dem Live Plugin kann man das OSD des VDR darstellen, welches für die Konfiguration des VDR und einigen Plugins nötig ist.
sudo nano /etc/vdr/plugins/plugin.live.conf
#
# Command line parameters for vdr-plugin-live
#
# For more details see:
# - /usr/share/doc/vdr-plugin-live/README
# - `vdr --help -Plive`
--port=8008
--ip=192.168.1.105
# When retrieving EPG data with images from external sources, enabling
# this option allows those images to be shown by the Live plug-in.
#
# --epgimages=/var/cache/vdr/epgimages
- VDR Startoptionen... kann man in der Datei /etc/default/vdr anpassen. Du musst erstmal das Init script selbst aktivieren und ich lasse den watchdog deaktiviert
sudo nano /etc/default/vdr
# /etc/default/vdr
#
# See also /usr/share/doc/vdr/README.Debian.gz
#
# Change to 1 to enable vdr's init-script
ENABLED=1
# Change this to 1 if you want vdr to be able to shutdown the
# computer
ENABLE_SHUTDOWN=0
# Options that will be passed to vdr's commandline
# for example: OPTIONS="-w 15"
OPTIONS="-w 0 -p 2001 --lirc=/dev/lircd --no-kbd --log=3 --user=mtron"
- VDR starten:
sudo service vdr start
Debug und Logmeldungen bekommt man am einfachsten indem man über ein neues Terminal Fenster mit:
tail -f /var/log/syslog
die Logs betrachtet. Sollte der VDR nicht starten bitte syslog und 'dmesg' Ausgabe nach Reboot posten! (via
pastebin.com)
Der VDR startet erstmal ohne aktive Videoausgabe (auch automatisch beim Boot durch das init script) . Also kann man mit anderen TV Anwendungen erst wieder auf die DVB Hardware zugreifen wenn der vdr nicht läuft (dieses Verhalten kann man mit dem
dynamite-plugin ändern).
Nun kann man über das Live Plugin unter
http://IP-DES-VDR:8080 auf das Webfrontend des VDR-Live Plugins zugreifen und über den Tab Fernbedienung das OSD Menü des VDR aufrufen über das man jetzt den VDR und die Plugins konfigurieren kann.
- Video Wiedergabe:
Softhddevice wird im "Detached" Modus gestartet. Zum Live-TV schauen muss man das Plugin einhängen ("attachen")
svdrpsend plug softhddevice atta
den momentanen Status des Softhddevice Video Fensters:
svdrpsend plug softhddevice stat