Autor Thema: [trusty] VDR + Softhddevice mit den yavdr ppa  (Gelesen 2655 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline mtron

  • Server-Admin
  • *
  • Beiträge: 1513
    • some debs
[trusty] VDR + Softhddevice mit den yavdr ppa
« am: 22 April, 2014, 18:55 »
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 vorbereiten

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

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

cd ~
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
Zitat
#
# 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
Zitat
#
# 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
Zitat
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/.lircrcDie 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
Zitat
#
# 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
Zitat
# /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
« Letzte Änderung: 23 April, 2014, 20:26 von mtron »
Signatur
PC: lshw | Sats: 19.2° & 13°Ost (DiSEqC, 80cmØ Blech) | DVB-Soft: vdr 2.1.7 mit softhddevice via va-api
- Hauppauge Nova-T USB 2.0 Stick mit DiBcom DiB7700P Frontend, MT2060 tuner, Firmware
- TerraTec Cinergy S2 PCI HD mit STB0899 demodulator und Mantis VP 1041 PCI bridge
- TerraTec Cinergy S2 USB mit Montage DS3000 demodulator und IR-receiver,  Firmware
[close]