Ubuntu HD VDR mittels Xine und VDPAU - VDR Plugins

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Änderungen am vdr-xine Plugin vornehmen)
Zeile 6: Zeile 6:
  
 
==vdr-xine Plugin==
 
==vdr-xine Plugin==
===Download===
+
====Download====
 
  cd /data/installfiles/vdrplugins
 
  cd /data/installfiles/vdrplugins
 
  wget http://home.vrweb.de/rnissl/vdr-xine-0.9.3.tgz
 
  wget http://home.vrweb.de/rnissl/vdr-xine-0.9.3.tgz
  
===Änderungen am vdr-xine Plugin vornehmen===
+
====Änderungen am vdr-xine Plugin vornehmen====
 
  cd /usr/local/src/vdr/PLUGINS/src/
 
  cd /usr/local/src/vdr/PLUGINS/src/
 
  tar -xzf /data/installfiles/vdrplugins/vdr-xine-0.9.3.tgz
 
  tar -xzf /data/installfiles/vdrplugins/vdr-xine-0.9.3.tgz
Zeile 35: Zeile 35:
  
 
==xineliboutput Plugin==
 
==xineliboutput Plugin==
===Download===
+
====Download====
 
  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
Zeile 45: Zeile 45:
 
  http://sourceforge.net/mailarchive/forum.php?forum_name=xineliboutput-cvslog
 
  http://sourceforge.net/mailarchive/forum.php?forum_name=xineliboutput-cvslog
  
===Download xineliboutput Patches===
+
====Download xineliboutput Patches====
 
  cd /data/installfiles/vdrplugins
 
  cd /data/installfiles/vdrplugins
 
  wget -O xineliboutput-cvs-20100117-vdpau-extensions-v11.diff http://www.vdr-portal.de/board/attachment.php?attachmentid=24082
 
  wget -O xineliboutput-cvs-20100117-vdpau-extensions-v11.diff http://www.vdr-portal.de/board/attachment.php?attachmentid=24082
  
===xineliboutput Plugin Patchen und installieren===
+
====xineliboutput Plugin Patchen und installieren====
 
  cd /usr/local/src/vdr/PLUGINS/src/
 
  cd /usr/local/src/vdr/PLUGINS/src/
 
  cp -a /data/installfiles/vdrplugins/vdr-xineliboutput-cvs-31012010 .
 
  cp -a /data/installfiles/vdrplugins/vdr-xineliboutput-cvs-31012010 .
Zeile 70: Zeile 70:
 
  cp *.mpg /etc/vdr/plugins/xineliboutput/
 
  cp *.mpg /etc/vdr/plugins/xineliboutput/
  
===remote.conf anpassen===
+
====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.
 
'''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.
  
Zeile 103: Zeile 103:
 
  XKeySym.Volume-    Next
 
  XKeySym.Volume-    Next
  
===setup.conf anpassen===
+
====setup.conf anpassen====
 
'''Achtung!''' Konfiguration nur bei gestoptem VDR durchführen.
 
'''Achtung!''' Konfiguration nur bei gestoptem VDR durchführen.
 
  cd /etc/vdr
 
  cd /etc/vdr
Zeile 212: Zeile 212:
 
  xineliboutput.X11.WindowWidth = 1920
 
  xineliboutput.X11.WindowWidth = 1920
  
===runvdr anpassen===
+
====runvdr anpassen====
 
  -P'xineliboutput --local=sxfe --video=vdpau --display=:0 --primary --post tvtime:method=use_vo_driver --audio=alsa:hw:0,1 -f' \
 
  -P'xineliboutput --local=sxfe --video=vdpau --display=:0 --primary --post tvtime:method=use_vo_driver --audio=alsa:hw:0,1 -f' \
  
===Finetuning xineliboutput Plugin===
+
====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.
 
'''Achtung!"''' Die config Datei von xineliboutput darf nur editiert werden wenn der VDR gestoppt ist. Ansonsten werden eure Änderungen an der Datei wieder überschrieben.
  

Version vom 1. Februar 2010, 22:15 Uhr

Inhaltsverzeichnis

Vorwort

Achtung! Für die Ausgabe des TV Bildes gibt es derzeit zwei Plugins. Zum einen das xineliboutput Plugin und zum anderen das vdr-xine Plugin. Welches Ihr einsetzt ist euch überlassen. Ich schwanke derzeit zwischen den beiden Plugins da beide Vor- und Nachteile haben. Im vdr-portal ist dazu einiges zu lesen.

Downloadverzeichnis vorbereiten

mkdir -p /data/installfiles/vdrplugins

vdr-xine Plugin

Download

cd /data/installfiles/vdrplugins
wget http://home.vrweb.de/rnissl/vdr-xine-0.9.3.tgz

Änderungen am vdr-xine Plugin vornehmen

cd /usr/local/src/vdr/PLUGINS/src/
tar -xzf /data/installfiles/vdrplugins/vdr-xine-0.9.3.tgz
ln -s xine-0.9.3/ xine
cd xine/
vi xine.c

Damit Ihr in der Datei die Zeilennummern sehen könnt müsst Ihr in eurem vi Editor folgendes Konfigurieren:

Tastenkombination Shift + :
:set number

Danach müssen folgende Zeilen die mit dem "+" gekennzeichnet sind unter den vorhandenen Teil hinzugefügt werden:

226 bool cPluginXine::Start(void)    227 {
228   // Start any background activities the plugin shall perform.
229   if (!PluginXine::cXineDevice::Open())
230     return false;
231

+232 pid_t cpid;
+233 switch (cpid = fork()){
+234 case 0: SystemExec("xine -f -V vdpau -A alsa --post vdr --post vdr_video --post vdr_audio --post autocrop:enable_autodetect=0,enable_subs_detect=1,soft_start_step=0,stabilize=1 --aspect-ratio=anamorphic --verbose=2 --no-logo --no-splash vdr:/tmp/vdr-xine/stream#demux:mpeg_pes");
+235 }

xineliboutput Plugin

Download

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

Änderungen am xineliboutput Plugin

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

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

Download xineliboutput Patches

cd /data/installfiles/vdrplugins
wget -O xineliboutput-cvs-20100117-vdpau-extensions-v11.diff http://www.vdr-portal.de/board/attachment.php?attachmentid=24082

xineliboutput Plugin Patchen und installieren

cd /usr/local/src/vdr/PLUGINS/src/
cp -a /data/installfiles/vdrplugins/vdr-xineliboutput-cvs-31012010 .
ln -s vdr-xineliboutput-cvs-31012010/ xineliboutput
cd xineliboutput/
patch -p1 -i /data/installfiles/vdrplugins/xineliboutput-cvs-20100117-vdpau-extensions-v11.diff
sudo su -
cd /usr/local/src/vdr/PLUGINS/src/xineliboutput/
./configure make && make install
cd /usr/local/src/vdr/PLUGINS/src/
chown -R vdruser.vdruser xineliboutput/
chown -R vdruser.vdruser /usr/local/src/vdr/locale/
exit
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.

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,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.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.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 = 1
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

-P'xineliboutput --local=sxfe --video=vdpau --display=:0 --primary --post tvtime:method=use_vo_driver --audio=alsa:hw:0,1 -f' \

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
# vdpau: HD deinterlace method
# { bob  half temporal  half temporal_spatial  temporal  temporal_spatial }, default: 3
video.output.vdpau_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:1000

# Standardanzahl von Videobildern
# numeric, default: 15
engine.buffers.video_num_frames:22

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

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

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

text2skin Plugin und PearlHD Skin

Download

text2skin

cd /data/installfiles/vdrplugins
git clone git://projects.vdr-developer.org/vdr-plugin-text2skin.git
mv vdr-plugin-text2skin/ vdr-plugin-text2skin-cvs-30012010

PearlHD Skin

cd /data/installfiles/vdrplugins
git clone git://projects.vdr-developer.org/skin-pearlhd.git
mv skin-pearlhd/ skin-pearlhd-cvs-30012010

Sender Logos

cd /data/installfiles/vdrplugins
wget http://home.in.tum.de/~schulzh/hqlogos.tar.bz2

Installation

text2skin

cd /usr/local/src/vdr/PLUGINS/src/
cp -a /data/installfiles/vdrplugins/vdr-plugin-text2skin-cvs-30012010/ .
ln -s vdr-plugin-text2skin-cvs-30012010/ text2skin
cd /usr/local/src/vdr/
make plugins

PearlHD Skin

cd /tmp
cp -a /data/installfiles/vdrplugins/skin-pearlhd-cvs-30012010/ .
cd /tmp/skin-pearlhd-cvs-30012010/
vi Make.config

CHANNELLOGO=1
CHANNELLOGORIGHT=1
CHANNELLOGOPNG=1
EPGIMAGESPNG=1
DYNAMICFONTS=1
sudo make
sudo make install
sudo chown -R vdruser.vdruser /etc/vdr/plugins/text2skin/
cd /etc/vdr/plugins/text2skin/PearlHD/
tar -xjf /data/installfiles/vdrplugins/hqlogos.tar.bz2

runvdr anpassen

-Ptext2skin \

Links

  1. Homepage des Plugin