Ubuntu HD VDR mittels Xine und VDPAU - xineliboutput Plugin

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
 
(15 dazwischenliegende Versionen von einem Benutzer werden nicht angezeigt)
Zeile 8: Zeile 8:
 
  cd /data/installfiles/vdrplugins
 
  cd /data/installfiles/vdrplugins
 
  cvs -z3 -d:pserver:anonymous@xineliboutput.cvs.sourceforge.net:/cvsroot/xineliboutput co vdr-xineliboutput
 
  cvs -z3 -d:pserver:anonymous@xineliboutput.cvs.sourceforge.net:/cvsroot/xineliboutput co vdr-xineliboutput
  tar -czf vdr-xineliboutput-cvs-10012011.tar.gz vdr-xineliboutput/
+
  tar -czf vdr-xineliboutput-cvs-12042011.tar.gz vdr-xineliboutput/
  
 
====Änderungen am xineliboutput Plugin====
 
====Änderungen am xineliboutput Plugin====
Zeile 94: Zeile 94:
 
  xineliboutput.Audio.Visualization = none
 
  xineliboutput.Audio.Visualization = none
 
  xineliboutput.Audio.Visualization.GoomOpts = width=720,height=576,fps=25
 
  xineliboutput.Audio.Visualization.GoomOpts = width=720,height=576,fps=25
  xineliboutput.Audio.Visualization.ImageOpts = file:/usr/share/xine/visuals/default.avi
+
  xineliboutput.Audio.Visualization.ImageMRL = file:/usr/share/xine/visuals/default.avi
 
  xineliboutput.DisplayAspect = CenterCutOut
 
  xineliboutput.DisplayAspect = CenterCutOut
 
  xineliboutput.Frontend = sxfe
 
  xineliboutput.Frontend = sxfe
Zeile 123: Zeile 123:
 
  xineliboutput.Post.denoise3d.luma = 40
 
  xineliboutput.Post.denoise3d.luma = 40
 
  xineliboutput.Post.denoise3d.time = 60
 
  xineliboutput.Post.denoise3d.time = 60
  xineliboutput.Post.pp.Enable = 0
+
  x8ineliboutput.Post.pp.Enable = 0
 
  xineliboutput.Post.pp.Mode = de
 
  xineliboutput.Post.pp.Mode = de
 
  xineliboutput.Post.pp.Quality = 3
 
  xineliboutput.Post.pp.Quality = 3
Zeile 157: Zeile 157:
 
  xineliboutput.Video.AutoCrop = 1
 
  xineliboutput.Video.AutoCrop = 1
 
  xineliboutput.Video.AutoCrop.AutoDetect = 1
 
  xineliboutput.Video.AutoCrop.AutoDetect = 1
 +
xineliboutput.Video.AutoCrop.AutoDetectRate = 4
 +
xineliboutput.Video.AutoCrop.BarToneTolerance = 0
 
  xineliboutput.Video.AutoCrop.DetectSubs = 1
 
  xineliboutput.Video.AutoCrop.DetectSubs = 1
 
  xineliboutput.Video.AutoCrop.FixedSize = 1
 
  xineliboutput.Video.AutoCrop.FixedSize = 1
 +
xineliboutput.Video.AutoCrop.LogoWidth = 20
 +
xineliboutput.Video.AutoCrop.OverscanCompensate = 0
 
  xineliboutput.Video.AutoCrop.SoftStart = 1
 
  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.Brightness = -1
 
  xineliboutput.Video.Contrast = -1
 
  xineliboutput.Video.Contrast = -1
Zeile 220: Zeile 230:
 
  # string, default: plug:surround40:0
 
  # string, default: plug:surround40:0
 
  audio.device.alsa_surround40_device:plug:hw:0,3
 
  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
 
  # vdpau: HD deinterlace method
Zeile 231: Zeile 245:
 
  # Anzahl der Audiopuffer
 
  # Anzahl der Audiopuffer
 
  # numeric, default: 230
 
  # numeric, default: 230
  engine.buffers.audio_num_buffers:500
+
  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
 
   
 
   
  # number of video buffers
+
  # SRC tuning step
  # numeric, default: 500
+
  # numeric, default: 5000
  engine.buffers.video_num_buffers:2500
+
  media.xvdr.scr_tuning_step:100
  
 
==Links==
 
==Links==

Aktuelle Version vom 18. April 2011, 15:15 Uhr

Inhaltsverzeichnis

[Bearbeiten] xineliboutput Plugin

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

[Bearbeiten] Downloadverzeichnis vorbereiten

mkdir -p /data/installfiles/vdrplugins

[Bearbeiten] 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/

[Bearbeiten] Änderungen am xineliboutput Plugin

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

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

[Bearbeiten] 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

[Bearbeiten] 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/

[Bearbeiten] Konfigurationsdateien ablegen

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

[Bearbeiten] 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

[Bearbeiten] setup.conf anpassen

Achtung! Konfiguration nur bei gestoptem VDR durchführen.

[Bearbeiten] VDR stoppen
killall runvdr
killall vdr
[Bearbeiten] 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

[Bearbeiten] 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' \
[Bearbeiten] 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

[Bearbeiten] System neu starten

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

sudo init 6

[Bearbeiten] 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

[Bearbeiten] Links

  1. Homepage des Plugin