Vaapidevice-plugin
Inhaltsverzeichnis |
Beschreibung
Autoren: pesintta, rofafor, basierend auf dem [Softhddevice-plugin] von Johns
Ein HDTV Ausgabe Plugin für VDR mit GPU Unterstützung über die vaapi-Schnittstelle.
- Video-Dekoder CPU / VAAPI
- Video-Ausgabe VAAPI
- Audio FFMpeg / Alsa / Analog / Digital
- HDMI/SPDIF pass-through
- VDR ScaleVideo API
- Autocrop
- Grab image (no OSD!)
- Suspend / Detach
- Letterbox, Stretch and Center cut-out video display modes
Status
Letztes Update 02/2018
Softwareanforderungen
- vdr >=2.2.0
- ffmpeg >=3.2
- alsa-lib
- libva >=2.0.0
- libva-intel-driver >=2.0.0
- libxcb
- xcb-util, xcb-util-wm, xcb-util-keysyms >=0.3.8
- libX11
Installation
git clone https://github.com/pesintta/vdr-plugin-vaapidevice.git cd vdr-plugin-vaapidevice make make install
Konfiguration
Parameter
Parameter | Beschreibung |
---|---|
-a audio_device | Selects audio device (alsa) (fe. hw:0,0 or pulse) "" - to disable audio output |
-p audio_device | audio device for pass-through (hw:0,1) |
-c channel_name | audio mixer channel name (fe. PCM) |
-d display | display of x11 server (fe. :0.0) |
-D | start plugin detached, meaning it does not open a window on the X server. svdrp command ATTA shows the window (This information comes from YaVDR part of VDR portal |
-f | start with fullscreen window (only with window manager) |
-g geometry | x11 window geometry WxH+X+Y |
-v device | video device (va-api, noop) |
-s | start in suspended mode |
-x | start x11 server |
-w workaround | enable/disable workarounds no-hw-decoder - disable hw decoder, use software decoder only |
xorg.conf(.d)
Der X Server sollte so konfiguriert werden, dass Power Management deaktiviert ist und der Bildschirm/TV mit genau 50Hz non-interlaced arbeitet.
Section "ServerLayout" ... Option "NoPM" "true" Option "BlankTime" "0" Option "StandbyTime" "0" Option "SuspendTime" "0" Option "OffTime" "0" EndSection
Die Bildwiederholrate lässt sich z.B. mit xrandr prüfen (Stern = aktuelle Auflösung). Bei Bedarf lässt sich die Auflösung durch Einfügen einer passenden Modeline in die xorg.conf ändern.
xrandr Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384 DVI-I-0 disconnected primary (normal left inverted right x axis y axis) VGA-0 disconnected (normal left inverted right x axis y axis) DVI-I-1 disconnected (normal left inverted right x axis y axis) HDMI-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 1150mm x 650mm 1920x1080 60.00 + 59.94 50.00* 29.97 25.00 23.97 60.05 60.00 50.04 1280x1024 60.02 1280x720 60.96 60.00 59.94 50.00 1024x768 60.00 800x600 60.32 720x576 50.00 50.08 720x480 59.94 640x480 59.95 59.94 59.93
Beispiel einer 1920x1080 Modeline
Section "Monitor" (..) Modeline "1920x1080_50" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync EndSection
Hinweis: Die Wiederholrate ergibt sich im Beispiel aus einem Pixelclock von 148.5MHz und 2640 Pixeln je Zeile und 1125 Zeilen je Frame: 148.5MHz / (2640 * 1125) = 50Hz. Aus einer Modeline kann also unmittelbar die Bild-Wiederholrate berechnet werden.
Einstellungen
remote.conf
Add "XKeySym." definitions to $VDRCONFIG/remote.conf to control the vdr and plugin with the connected input device. fe.
XKeySym.Up Up XKeySym.Down Down ...
Additional to the x11 input sends the window close button "Close".
fe.
XKeySym.Power Close
keymacros.conf
Folgend sind die unterstützten Tastensequenzen aufgeführt:
@vaapidevice Blue 1 0 disable pass-through @vaapidevice Blue 1 1 enable pass-through @vaapidevice Blue 1 2 toggle pass-through @vaapidevice Blue 1 3 decrease audio delay by 10ms @vaapidevice Blue 1 4 increase audio delay by 10ms @vaapidevice Blue 1 5 toggle ac3 mixdown @vaapidevice Blue 2 0 disable fullscreen @vaapidevice Blue 2 1 enable fullscreen @vaapidevice Blue 2 2 toggle fullscreen @vaapidevice Blue 2 3 disable auto-crop @vaapidevice Blue 2 4 enable auto-crop @vaapidevice Blue 2 5 toggle auto-crop @vaapidevice Blue 3 0 stretch 4:3 to 16:9 @vaapidevice Blue 3 1 letter box 4:3 in 16:9 @vaapidevice Blue 3 2 center cut-out 4:3 to 16:9 @vaapidevice Blue 3 9 rotate 4:3 to 16:9 zoom mode
setup.conf
SVDRP Befehle
Der Befehl 'svdrpsend plug vaapidevice HELP' zeigt die Hilfe zu den vom Plugin unterstützten SVDRP-Kommandos an.
Sonstiges
Bugs und Wünsche
GIT Snapshot
git clone https://github.com/pesintta/vdr-plugin-vaapidevice.git