Vaapidevice-plugin

Aus VDR Wiki
Wechseln zu: Navigation, Suche

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
other - to use alsa audio module (if compiled with alsa support)

-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
no-mpeg-hw-decoder - disable hw decoder for mpeg only
still-hw-decoder - enable hardware decoder for still-pictures
alsa-driver-broken - disable broken alsa driver message
alsa-close-open - this needs a description
alsa-close-open-delay - this needs a description
ignore-repeat-pict - disable repeat pict message

Angabe von mehreren Optionen wie folgt:
-w workaround1 -w workaround2 ...

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

bug tracker

GIT Snapshot

git clone https://github.com/pesintta/vdr-plugin-vaapidevice.git

Links

  1. Homepage des Plugins
In anderen Sprachen