====== Xineliboutput ======
Als OSD-Provider nutze ich xineliboutput.
===== Installieren =====
Xineliboutput-Plugin herunterladen.
mkdir -p /data/installfiles/vdrplugins/xineliboutput
cd /data/installfiles/vdrplugins/xineliboutput
cvs -z3 -d:pserver:anonymous@xineliboutput.cvs.sourceforge.net:/cvsroot/xineliboutput co vdr-xineliboutput
Xineliboutput-Plugin installieren.
cd /usr/local/src/vdr/PLUGINS/src/
cp -a /data/installfiles/vdrplugins/xineliboutput/vdr-xineliboutput/ .
ln -s vdr-xineliboutput/ xineliboutput
cd xineliboutput
./configure && make -j2 && make install
/data/installfiles/[[vdr:scripte:usermod_vdruser|usermod-vdruser.sh]] ausführen.
===== Konfiguration =====
Konfigurationsdateien ablegen.
cd /usr/local/src/vdr/PLUGINS/src/xineliboutput/
mkdir -p /etc/vdr/plugins/xineliboutput
cp *.mpg /etc/vdr/plugins/xineliboutput/
//setup.conf// anpassen.
killall runvdr
killall vdr
cd /etc/vdr
vi setup.conf
Folgende Zeilen anpassen:
xineliboutput.Audio.Compression = 100
xineliboutput.Audio.Delay = 0
xineliboutput.Audio.Driver = alsa
xineliboutput.Audio.Equalizer = 0 0 0 0 0 0 0 0 0 0
xineliboutput.Audio.Headphone = 0
xineliboutput.Audio.Port = hw:0,1
xineliboutput.Audio.SoftwareVolumeControl = 0
xineliboutput.Audio.Speakers = Surround 5.1
xineliboutput.Audio.Surround = 0
xineliboutput.Audio.Upmix = 0
xineliboutput.Audio.Visualization = goom
xineliboutput.Audio.Visualization.GoomOpts = width=720,height=576,fps=25
xineliboutput.Decoder.PesBuffers = 1000
xineliboutput.DisplayAspect = CenterCutOut
xineliboutput.Frontend = sxfe
xineliboutput.Fullscreen = 1
xineliboutput.Media.CacheImplicitPlaylists = 1
xineliboutput.Media.DVD.ArrowKeysControlPlayback = 1
xineliboutput.Media.EnableID3Scanner = 1
xineliboutput.Media.MenuItems = -1
xineliboutput.Modeline =
xineliboutput.OSD.AlphaCorrection = 0
xineliboutput.OSD.AlphaCorrectionAbs = 0
xineliboutput.OSD.Blending = 1
xineliboutput.OSD.BlendingLowRes = 1
xineliboutput.OSD.DvbSubtitles = 0
xineliboutput.OSD.ExtSubSize = -1
xineliboutput.OSD.Height = 576
xineliboutput.OSD.HideMainMenu = 0
xineliboutput.OSD.LayersVisible = 4
xineliboutput.OSD.Scaling = 1
xineliboutput.OSD.ScalingSPU = 1
xineliboutput.OSD.Size = automatic
xineliboutput.OSD.Width = 720
xineliboutput.Playlist.Album = 0
xineliboutput.Playlist.Artist = 0
xineliboutput.Playlist.Tracknumber = 0
xineliboutput.Post.denoise3d.chroma = 30
xineliboutput.Post.denoise3d.Enable = 0
xineliboutput.Post.denoise3d.luma = 40
xineliboutput.Post.denoise3d.time = 60
xineliboutput.Post.pp.Enable = 0
xineliboutput.Post.pp.Mode = de
xineliboutput.Post.pp.Quality = 3
xineliboutput.Post.unsharp.chroma_amount = 0
xineliboutput.Post.unsharp.chroma_matrix_height = 3
xineliboutput.Post.unsharp.chroma_matrix_width = 3
xineliboutput.Post.unsharp.Enable = 0
xineliboutput.Post.unsharp.luma_amount = 0
xineliboutput.Post.unsharp.luma_matrix_height = 5
xineliboutput.Post.unsharp.luma_matrix_width = 5
xineliboutput.Remote.AllowHttp = 1
xineliboutput.Remote.AllowHttpCtrl = 0
xineliboutput.Remote.AllowRtsp = 1
xineliboutput.Remote.AllowRtspCtrl = 0
xineliboutput.Remote.Iface =
xineliboutput.Remote.Keyboard = 1
xineliboutput.Remote.ListenPort = 37890
xineliboutput.Remote.LocalIP =
xineliboutput.Remote.MaxClients = 10
xineliboutput.Remote.Rtp.Address = 224.0.1.9
xineliboutput.Remote.Rtp.AlwaysOn = 0
xineliboutput.Remote.Rtp.Port = 37890
xineliboutput.Remote.Rtp.SapAnnouncements = 1
xineliboutput.Remote.Rtp.TTL = 1
xineliboutput.Remote.UseBroadcast = 1
xineliboutput.Remote.UseHttp = 1
xineliboutput.Remote.UsePipe = 1
xineliboutput.Remote.UseRtp = 1
xineliboutput.Remote.UseTcp = 1
xineliboutput.Remote.UseUdp = 1
xineliboutput.RemoteMode = 0
xineliboutput.Video.AspectRatio = 0
xineliboutput.Video.AutoCrop = 1
xineliboutput.Video.AutoCrop.AutoDetect = 1
xineliboutput.Video.AutoCrop.DetectSubs = 1
xineliboutput.Video.AutoCrop.FixedSize = 1
xineliboutput.Video.AutoCrop.SoftStart = 0
xineliboutput.Video.Brightness = -1
xineliboutput.Video.Contrast = -1
xineliboutput.Video.Decoder.H264 = automatic
xineliboutput.Video.Decoder.MPEG2 = automatic
xineliboutput.Video.Deinterlace = none
xineliboutput.Video.DeinterlaceOptions = method=Linear,cheap_mode=1,pulldown=none,framerate_mode=full,judder_correction=1,use_progressive_frame_flag=1,chroma_filter=0,enabled=1
xineliboutput.Video.Driver = auto
xineliboutput.Video.FieldOrder = 0
xineliboutput.Video.HUE = -1
xineliboutput.Video.IBPTrickSpeed = 1
xineliboutput.Video.MaxTrickSpeed = 12
xineliboutput.Video.NoiseReduction = -1
xineliboutput.Video.Overscan = 0
xineliboutput.Video.Port = :0
xineliboutput.Video.Saturation = -1
xineliboutput.Video.Scale = 1
xineliboutput.Video.Sharpness = -1
xineliboutput.Video.SwScale = 0
xineliboutput.Video.SwScale.Aspect = 1
xineliboutput.Video.SwScale.Downscale = 1
xineliboutput.Video.SwScale.Height = 1080
xineliboutput.Video.SwScale.Resize = 1
xineliboutput.Video.SwScale.Width = 1920
xineliboutput.VideoModeSwitching = 1
xineliboutput.X11.UseKeyboard = 1
xineliboutput.X11.WindowHeight = 1080
xineliboutput.X11.WindowWidth = 1920
===== Finetuning xineliboutput =====
cd /etc/vdr/plugins/xineliboutput/
vi config
Diese Zeilen anpassen:
# vdpau: HD deinterlace method
# { bob half temporal half temporal_spatial temporal temporal_spatial }, default: 3
video.output.vdpau_hd_deinterlace_method:half
# vdpau: SD deinterlace method
# { bob half temporal half temporal_spatial temporal temporal_spatial }, default: 3
video.output.vdpau_sd_deinterlace_method:temporal_spatial
# vdpau: disable deinterlacing when progressive_frame flag is set
# bool, default: 0
video.output.vdpau_honor_progressive:1
# vdpau: restrict enabling video properties for SD video only
# { none noise sharpness noise+sharpness }, default: 0
video.output.vdpau_sd_only_properties:noise+sharpness
# number of video buffers
# numeric, default: 500
engine.buffers.video_num_buffers:500
# Standardanzahl von Videobildern
# numeric, default: 15
engine.buffers.video_num_frames:35
# number of buffers for HD content
# numeric, default: 2500
media.xvdr.num_buffers_hd:4000
# SRC tuning step
# numeric, default: 5000
media.xvdr.scr_tuning_step:150
# number of audio buffers
# numeric, default: 230
engine.buffers.audio_num_buffers:100
# FFmpeg video decoding thread count
# numeric, default: 1
video.processing.ffmpeg_thread_count:4
# default length of display queue
# numeric, default: 3
video.output.vdpau_display_queue_length:4
Im Menü --> Einstellungen --> Plugins --> Xineliboutput folgendes einstellen:
Audio:
**Lautsprecher:** Hier das einstellen was man selbst als Lautsprechersystem hat (2.0 oder 5.1,...)
**Volume Controll:** Stellen auf "Software", da sonst die Lautstärke nicht gewählt werden kann.
Video:
**Seitenverhältnis:** "anamorphic" Hiermit stellen wir das Autocropping, sprich die autom. Bilddarstellungsanpassung ein.
**Softwarescaling:** "ja"
**Deinterlacing:** "Bob"
Xineliboutput kann auf 2 verschiede Weisen gestartet werden.
==== Start über runvdr-Script ====
Im [[vdr:scripte:runvdr|runvdr]]-Script kann xineliboutput als Plugin hinzugefügt. Somit wird es immer mit dem VDR gestartet.
Der Plugineintrag in der runvdr lautet:
-P'xineliboutput --local=sxfe --video=vdpau --display=:0 --primary --post tvtime:method=use_vo_driver -f'
Danach erstellen wir in "Unity" ein Startscript welches bei jedem Anmelden ausgeführt wird.
Systemeinstellungen -> Startprogramme -> Hinzufügen:
**Name:** VDR
**Befehl:** /usr/local/bin/runvdr
**Kommentar:** VDR Startscript
==== Start als vdr-sxfe ====
Man kann das OSD aber auch eigenständig starten. Dies hat den Vorteil, dass bei einem Absturz der Oberfläche der VDR nich mit abstürzt und die evtl. laufende Aufnahme nicht gestört wird.
Dazu legen wir wieder ein Startscript an:
**Name:** VDR
**Befehl:** /usr/local/bin/vdr-sxfe --video=vdpau --audio=alsa:hw:0,7 --post tvtime:method=Linear,cheap_mode=1,pulldown=0,use_progressive_frame_flag=1 --fullscreen --aspect=16:9 --lirc=/dev/lirc0 --reconnect xvdr+tcp://127.0.0.1:37890 >/var/log/xinelib.log 2>&1
**Kommentar:** VDR Startscript
Hierfür muss die //svdrphosts.conf// angepasst werden.
vi /etc/vdr/svdrphosts.conf
Hier muss die IP oder der IP-Kreis stehen welcher auf den svdr-Port zugreifen kann.
127.0.0.1
Damit //vdr-sxfe// sich mit dem VDR verbinden kann, muss das //runvdr//-Script xineliboutput mit folgender Zeile starten:
-P'xineliboutput -l none -r 37890 -p' \
Nun muß der VDR durch ein Init-Script automatisch beim booten gestartet werden.
Dazu erstellen wir das [[vdr:scripte:vdrinit|vdr]]-Init-Script.
vi /etc/init.d/vdr
Inhalt aus [[vdr:scripte:vdrinit|vdr]]-Init-Script verwenden
Script ausführbar machen.
chmod a+x /etc/init.d/vdr
Init-Script in die Bootreihenfolge einbinden.
update-rc.d vdr defaults
===== Dolby-Digital unter YaVDR0.6.1 =====
Wenn bei YaVDR V0.6.1 im Web-Frontend als Ausgabeplugin "vdr-sxfe" (xineliboutput) verwendet wird und man Surround Sound verwenden möchte, muss man folgende Einstellungen in der Datenbank, per Terminal, vornehmen, da es aktuell im Web-Frontend noch nicht möglich ist dies einzustellen.
Zunächst stellt man fest, welche Soundkarten und Ausgabe-Devices es gibt.
aplay -l
Mit folgendem Befehl listet man die "PCM-Geräte" auf.
aplay -L
Danach prüft man ob das Soundausgabegerät in der Datenbank richtig eingestellt ist.
dbget system.hardware.alsa.hdmi.card
dbget system.hardware.alsa.hdmi.device
Ggf. kann man diese Einstellungen wie folgt setzen (Hier Soundkarte "0" und Ausgabedevice "3" ->HDMI):
dbset system.hardware.alsa.hdmi.card=0
dbset system.hardware.alsa.hdmi.device=3
Nun setzt man, in der Datenbank, den System-Audio-Typ auf "passthrough".
dbset system.sound.type=passthrough
Aufgrund dieser Einstellung entscheidet sich nun das "process-template" Script, die richtige Template-Datei (''/usr/share/yavdr/templates/etc/vdr-sxfe/config_xineliboutput/21_audio_hdmi_passthrough'') für die VDR-SXFE Einstellungen zu verwenden.
process-template /etc/vdr-sxfe/config_xineliboutput
Zuletzt startet man den VDR neu und freut sich über Stereo und Surround Sound.
restart vdr