Ubuntu HD VDR mittels Xine und VDPAU - xineliboutput Plugin

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

xineliboutput Plugin

Das xineliboutput Plugin ist das Ausgabedevice für den VDR.

Downloadverzeichnis vorbereiten

mkdir -p /data/installfiles/vdrplugins

Download

cd /data/installfiles/vdrplugins
cvs -z3 -d:pserver:anonymous@xineliboutput.cvs.sourceforge.net:/cvsroot/xineliboutput co vdr-xineliboutput
tar -czf vdr-xineliboutput-cvs-12042011.tar.gz vdr-xineliboutput/

Änderungen am xineliboutput Plugin

Unter folgendem Link kann man die Änderungen am Plugin mitverfolgen:

http://sourceforge.net/mailarchive/forum.php?forum_name=xineliboutput-cvslog

xineliboutput installieren

cd /usr/local/src/vdr/PLUGINS/src/
cp -a /data/installfiles/vdrplugins/vdr-xineliboutput/ .
ln -s vdr-xineliboutput/ xineliboutput
sudo su -
cd /usr/local/src/vdr/PLUGINS/src/xineliboutput/
./configure && make && make install
exit

Berechtigungen für vdruser setzen

sudo chown -R vdruser.vdruser /usr/local/bin/vdr-fbfe
sudo chown -R vdruser.vdruser /usr/local/bin/vdr-sxfe
sudo chown -R vdruser.vdruser /usr/local/src/vdr/PLUGINS/src/xineliboutput/
sudo chown -R vdruser.vdruser /usr/local/src/vdr/PLUGINS/lib/
sudo chown -R vdruser.vdruser /usr/local/src/vdr/locale/

Konfigurationsdateien ablegen

cd /usr/local/src/vdr/PLUGINS/src/xineliboutput/
mkdir -p /etc/vdr/plugins/xineliboutput
cp *.mpg /etc/vdr/plugins/xineliboutput/

remote.conf anpassen

Achtung! Dieser Schritt ist nicht zwingend erforderlich. Wenn Ihr euren VDR mit dem Plugin startet wird ein Anlernmenü für die Tastatur und die Fernbedienung gestartet. Dort könnt Ihr vorerst eure Tastatur anlernen und dadurch wird die remote.conf automatisch erstellt. Falls Ihr eure Tastatur nicht anlernen möchtet könnt Ihr einfach die untigen Werte in eure remote.conf übertragen.

cd /etc/vdr
vi remote.conf
XKeySym.Up         Up
XKeySym.Down       Down
XKeySym.Menu       m
XKeySym.Ok         Return
XKeySym.Back       BackSpace
XKeySym.Left       Left
XKeySym.Right      Right
XKeySym.Red        r
XKeySym.Green      g
XKeySym.Yellow     y
XKeySym.Blue       b
XKeySym.0          0
XKeySym.1          1
XKeySym.2          2
XKeySym.3          3
XKeySym.4          4
XKeySym.5          5
XKeySym.6          6
XKeySym.7          7
XKeySym.8          8
XKeySym.9          9
XKeySym.Power      Home
XKeySym.Channel+   KP_Add
XKeySym.Channel-   KP_Subtract
XKeySym.Volume+    Prior
XKeySym.Volume-    Next

setup.conf anpassen

Achtung! Konfiguration nur bei gestoptem VDR durchführen.

VDR stoppen
killall runvdr
killall vdr
setup.conf bearbeiten
cd /etc/vdr
vi setup.conf
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,3
xineliboutput.Audio.SoftwareVolumeControl = 0
xineliboutput.Audio.Speakers = Surround 5.1
xineliboutput.Audio.Surround = 0
xineliboutput.Audio.Upmix = 0
xineliboutput.Audio.Visualization = none
xineliboutput.Audio.Visualization.GoomOpts = width=720,height=576,fps=25
xineliboutput.Audio.Visualization.ImageMRL = file:/usr/share/xine/visuals/default.avi
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
x8ineliboutput.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 = 3
xineliboutput.Video.AutoCrop = 1
xineliboutput.Video.AutoCrop.AutoDetect = 1
xineliboutput.Video.AutoCrop.AutoDetectRate = 4
xineliboutput.Video.AutoCrop.BarToneTolerance = 0
xineliboutput.Video.AutoCrop.DetectSubs = 1
xineliboutput.Video.AutoCrop.FixedSize = 1
xineliboutput.Video.AutoCrop.LogoWidth = 20
xineliboutput.Video.AutoCrop.OverscanCompensate = 0
xineliboutput.Video.AutoCrop.SoftStart = 1
xineliboutput.Video.AutoCrop.SoftStartStep = 4
xineliboutput.Video.AutoCrop.StabilizeTime = 125
xineliboutput.Video.AutoCrop.SubsDetectLifetime = 1500
xineliboutput.Video.AutoCrop.SubsDetectStabilizeTime = 12
xineliboutput.Video.AutoCrop.UseAvardsAnalysis = 0
xineliboutput.Video.AutoCrop.UseDriverCrop = 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

runvdr anpassen

Achtung! Was die einzelnen Parameter bedeuten könnt Ihr unter den Links zum xineliboutput Plugin im Wiki nachlesen. Wenn Ihr keinen Ton bekommen solltet müsst Ihr den --audio Parameter überarbeiten und an euere System anpassen.

vi /usr/local/bin/runvdr
-P'xineliboutput --local=sxfe --video=vdpau --display=:0 --primary --post tvtime:method=use_vo_driver --audio=alsa:hw:0,3 -f' \
Tonausgänge

Falls Ihr das gleiche Mainboard, wie auf der Hauptseite angegeben, verwendet sind folgende Parameter für die einzelnen Ausgänge möglich:

Analoger Tonausgang:     --audio=alsa:hw:0,0
Optischer Tonausgang:    --audio=alsa:hw:0,1
HDMI Tonausgang:         --audio=alsa:hw:0,3

System neu starten

Nach dem Systemneustart solltet Ihr ein TV Bild zu sehen bekommen.

sudo init 6

Finetuning xineliboutput Plugin

Achtung!" Die "config" Datei von xineliboutput darf nur editiert werden wenn der VDR gestoppt ist. Ansonsten werden eure Änderungen an der Datei wieder überschrieben.

cd /etc/vdr/plugins/xineliboutput/
vi config
# device used for 5.1-channel output
# string, default: iec958:AES0=0x6,AES1=0x82,AES2=0x0,AES3=0x2
audio.device.alsa_passthrough_device:hw:0,3

# Gerät für 4-Kanalausgabe
# string, default: plug:surround40:0
audio.device.alsa_surround40_device:plug:hw:0,3

# speaker arrangement
# { Mono 1.0  Stereo 2.0  Headphones 2.0  Stereo 2.1  Surround 3.0  Surround 4.0  Surround 4.1  Surround 5.0  Surround 5.1  Surround 6.0  Surround 6.1  Surround 7.1  Pass Through }, default: 1
audio.output.speaker_arrangement:Pass Through

# vdpau: HD deinterlace method
# { bob  half temporal  half temporal_spatial  temporal  temporal_spatial }, default: 3
video.output.vdpau_hd_deinterlace_method:temporal

# vdpau: SD deinterlace method
# { bob  half temporal  half temporal_spatial  temporal  temporal_spatial }, default: 3
video.output.vdpau_sd_deinterlace_method:temporal_spatial

# Anzahl der Audiopuffer
# numeric, default: 230
engine.buffers.audio_num_buffers:1000

# disable decoder flush at discontinuity
# bool, default: 0
engine.decoder.disable_flush_at_discontinuity:1

# disable decoder flush from video out
# bool, default: 0
engine.decoder.disable_flush_from_video_out:1

# number of buffers for HD content
# numeric, default: 2500
media.xvdr.num_buffers_hd:2500

# SCR-Treshold for HD-Playback (%)
# numeric, default: 40
media.xvdr.scr_treshold_hd:40

# SRC tuning step
# numeric, default: 5000
media.xvdr.scr_tuning_step:100

Links

  1. Homepage des Plugin