====== 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