Ubuntu HD VDR mittels Xine und VDPAU - xineliboutput Plugin
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