Softhddevice-plugin
Inhaltsverzeichnis |
Beschreibung
Autor: Johns
A software and GPU emulated HD output device plugin for VDR.
- Video VA-API/VA-API (with intel, nvidia and amd backend supported)
- Video CPU/VA-API
- Video VDPAU/VDPAU
- Video CPU/VDPAU
- Audio FFMpeg/Alsa/Analog
- Audio FFMpeg/Alsa/Digital
- Audio FFMpeg/OSS/Analog
- HDMI/SPDIF Passthrough
- VA-API bob software deinterlace
- Auto-crop
Bilder
Bedienung
SVDRP Befehle
Use 'svdrpsend.pl plug softhddevice HELP' to see the SVDRP commands help and which are supported by the plugin.
Hardwareanforderungen
Softwareanforderungen
media-video/ffmpeg (version >=0.7)
Complete solution to record, convert and stream audio and video. Includes libavcodec. [1]
media-libs/alsa-lib
Advanced Linux Sound Architecture Library [2] or kernel support for oss/oss4 or alsa oss emulation
x11-libs/libva
Video Acceleration (VA) API for Linux [3]
x11-libs/libva-intel-driver
HW video decode support for Intel integrated graphics [4]
or
x11-libs/vdpau-video
VDPAU Backend for Video Acceleration (VA) API [5]
or
x11-libs/xvba-video
XVBA Backend for Video Acceleration (VA) API [6]
and
x11-libs/libxcb,
X C-language Bindings library [7]
x11-libs/xcb-util, x11-libs/xcb-util-wm, x11-libs/xcb-util-keysyms
X C-language Bindings library [8] Only versions >= 0.3.8 are good supported
x11-libs/libX11
X.Org X11 library [9]
GNU Make 3.xx [10]
Warning: libav is not supported, expect many bugs with it.
Installation
- git
git clone git://projects.vdr-developer.org/vdr-plugin-softhddevice.git cd vdr-plugin-softhddevice make VDRDIR=<path-to-your-vdr-files> LIBDIR=.
gentoo:
make VDRDIR=/usr/include/vdr LIBDIR=.
- tarball
Download latest version from: [11]
tar vxf vdr-softhddevice-*.tar.bz2 cd softhddevice-* make VDRDIR=<path-to-your-vdr-files> LIBDIR=.
You can edit Makefile to enable/disable VDPAU / VA-API / Alsa / OSS support.
Optionen
Konfiguration
Parameter
Use vdr -h to see the command line arguments supported by the plugin.
-a audio_device
Selects audio output module and device.
"" to disable audio output
/... to use oss audio module (if compiled with oss support)
other to use alsa audio module (if compiled with alsa support)
Einstellungen
remote.conf
Add "XKeySym." definitions to 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
environment
Following is supported: DISPLAY=:0.0 x11 display name only if alsa is configured ALSA_DEVICE=default alsa PCM device name
ALSA_AC3_DEVICE= alsa AC3/pass-though device name
ALSA_MIXER=default alsa control device name
ALSA_MIXER_CHANNEL=PCM alsa control channel name
only if oss is configured OSS_AUDIODEV=/dev/dsp oss dsp device name
OSS_AC3_AUDIODEV= oss AC3/pass-though device name
OSS_MIXERDEV=/dev/mixer oss mixer device name
OSS_MIXER_CHANNEL=pcm oss mixer channel name
setup.conf
Following is supported:
softhddevice.MakePrimary = 1 0 = no change, 1 make softhddevice primary at start
softhddevice.HideMainMenuEntry = 0 0 = show softhddevice main menu entry, 1 = hide entry
<res> of the next parameters is 576i, 720p, 1080i_fake or 1080i. 1080i_fake is 1280x1080 or 1440x1080 1080i is "real" 1920x1080
softhddevice.<res>.Scaling = 0 0 = normal, 1 = fast, 2 = HQ, 3 = anamorphic
softhddevice.<res>.Deinterlace = 0 0 = bob, 1 = weave, 2 = temporal, 3 = temporal_spatial, 4 = software (only 0, 1 supported with vaapi)
softhddevice.<res>.SkipChromaDeinterlace = 0 0 = disabled, 1 = enabled (for slower cards, poor qualität)
softhddevice.<res>.Denoise = 0 0 .. 1000 noise reduction level (0 off, 1000 max)
softhddevice.<res>.Sharpness = 0 -1000 .. 1000 noise reduction level (0 off, -1000 max blur, 1000 max sharp)
softhddevice.AudioDelay = 0 +n or -n ms
softhddevice.AudioPassthrough = 0 0 = none, 1 = AC-3
for AC-3 the pass-through device is used. softhddevice.AutoCrop.Interval = 0 0 disables auto-crop n each 'n' frames auto-crop is checked.
softhddevice.AutoCrop.Delay = 0 if auto-crop is over 'n' intervals the same, the cropping is used.
softhddevice.AutoCrop.Tolerance = 0 if detected crop area is too small, cut max 'n' pixels at top and bottom.
softhddevice.SkipLines = 0 skip 'n' lines at top and bottom of the video picture.
softhddevice.Suspend.Close = 0 1 suspend closes x11 window, connection and audio device. (use svdrpsend plug softhddevice RESU to resume, if you have no lirc)
softhddevice.Suspend.X11 = 0 1 suspend stops X11 server (not working yet)
Sonstiges
Tipps
Audio
- Kein Ton bei 6 Kanal Ton
Entweder kann die Soundkarte kein 6 Kanalton oder libav/ffmpeg hat Probleme beim Umwandeln.
im .asoundrc im Heimverzeichnis des VDR Benutzers oder global zu /etc/asound.conf hinzufügen:
pcm.51to20 { type route slave.pcm { type hw card <deine karte> device <dein device> channels 2 } ttable.0.0 1 # front links -> links ttable.1.1 1 # front rechts -> rechts ttable.2.0 0.707 # hinten links -> links, Dämpfung 3dB ttable.3.1 0.707 # hinten rechts -> rechts, Dämpfung 3dB ttable.4.0 0.5 # zentrum -> links, Dämpfung 6dB ttable.4.1 0.5 # zentrum -> rechts, Dämpfung 6dB ttable.5.0 0.5 # basskanal -> links, Dämpfung 6dB ttable.5.1 0.5 # basskanal -> rechts, Dämpfung 6dB }
Dann bei vdr Argument fürs plugin '--plugin="softhddevice ... -a pcm.51to20 ..."' hinzufügen oder ändern. Dann im Menu -> Setup -> Plugins -> softhddevice -> Audio pass-through None stellen.
- Keine Lautstärkenregelung möglich
Analog softhddevice regelt den "PCM" Regler automatisch. Wenn dieser anders heißt, kann man dies softhddevice mitteilen. Dazu mit "alsamixer" nachsehen wie dieser nun heißt. "Master" regelt alle Eingänge, zur Not kann man diesen nehmen. Bei Rechnern mit 6 Analogen Ausgängen ist es meist "Front". Das Vdr Startscript um
export ALSA_MIXER_CHANNEL=Front
ergänzen. Digital Digitale Ausgänge kann softhddevice nicht regeln. (noch nicht)
Mit diesem Eintrag in asound.conf kann man den Digitalen Ausgang trotzdem regeln.
pcm.!default hdmi_complete pcm.hdmi_hw { type hw card 1 # <- Hier die Nummer der Karte device 7 # <- Nummer des Device } pcm.hdmi_formatted { type plug slave { pcm hdmi_hw #rate 48000 # <- Optional! Hier die gewünschte Rate. #channels 2 # <- Optional! Anzahl der Kanäle. } } pcm.hdmi_complete { type softvol slave.pcm hdmi_formatted control.name hdmi_volume control.card 1 # <- Hier die Nummer der Karte }
Nun muß man noch softhddevice mitteilen, welchen Regler es regeln soll. Dazu das Vdr Startscript um
export ALSA_MIXER_CHANNEL=hdmi_volume
ergänzen.
GIT Snapshot
git clone git://projects.vdr-developer.org/vdr-plugin-softhddevice.git