You are not logged in.

Dear visitor, welcome to VDR Portal. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Tuesday, October 6th 2009, 1:57pm

Wie bekomme ich ein lauffähiges System mit dem vdr-xine-plugin mit vdpau?

Servus zusammen,

aufbauend auf diesen Thread (Hardwarevoraussetzungen, Grundsoftwareauswhal,..)

Wie bekomme ich ein lauffähiges System für xineliboutput mit vdpau?

habe ich mir die letzten beiden Wochen mal das vdr-xine-plugin-0.9.3 angesehen und getestet.
Der Thread soll wieder eine „kleine“ Zusammenfassung meiner bisherigen Erfahrungen mit dem vdr-xine-plugin (Danke an R. Nissl an dieser Stelle!) sein.

Vorneweg, => ich bin begeistert, was Stabilität, Umschaltverhalten und Konfigurationsmöglichkeiten angeht.

Dieses Plugin hat grundsätzlich die gleichen Möglichkeiten der Ausgabe des VDR-Bildes über HDMI, DVI und VGA. Im Vergleich zu xineliboutput fehlt eigentlich nichts,
mit dem externalplayer-Plugin ist es auch möglich, den VDR im Hintergrund „schlafen“ zu legen und im Vordergrund eine andere „Oberfläche“ (z.B. xbmc, mmsv2, Browser, Mail-Client) laufen zu lassen.
Das Plugin ist eine andere Variante eines Softdecoders, hat also nichts mit xineliboutput zu tun.


1. Hardware => siehe Signatur, oder Teil 1 des obigen Links


2. Software:


2.1. Beispielgrundkonfiguration (BS und Grundtreiber):

- Debian – Lenny von der Netinstall
- eigengebauter Kernel: 2.6.30.2 mit SMP-Unterstützung
- Nvidia-Treiber: 185.18.36

- xine-plugin-0.9.3:

http://www.vdr-wiki.de/wiki/index.php/Xine-plugin

http://home.vrweb.de/~rnissl/


2.2 VDR-Versions-Auswahl:

- VDR-1.7.9 mit ext-Patch72
- mark-ad-Plugin
- In der Kombination mit dem vdr-xine-Plugin-0.9.3 keine Umschaltprobleme, keine Tonprobleme


2.3 Konfiguration der Komponenten (xine-vdpau, xine-ui, vdr-xine-plugin)


2.3.1 Grundsätzliches:

Auch hier kann man zwei Wege gehen, um die passenden Komponenten zusammen zu bekommen. Ausgehend von der passenden xine-lib, also entweder die xine-lib-1.2 (experimenteller Zweig) oder xine-vdpau (originaler Entwicklerzweig).
Unterschiede der beiden Versionen => siehe Link von oben, Punkt 2.4.2


2.3.1.1 Übersicht, was brauche ich alles um mit der xine-lib-1.2 zu kompilieren:

1. Vorbereitung der xine-lib-1.2:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
cd /usr/local/src
wget http://www.jusst.de/vdpau/files/xine-lib-1.2/xine-lib-1.2-vdpau-r278.diff.bz2
bzip2 -d xine-lib-1.2-vdpau-r278.diff.bz2
gunzip xine-vdpau-xine-lib-1.2-r278-crop-v9.diff.gz
hg clone http://hg.debian.org/hg/xine-lib/xine-lib-1.2
cd xine-lib-1.2
##alle Patches liegen in /usr/local/src
patch -p1 < ../xine-lib-1.2-vdpau-r278.diff
patch -p1 < ../xine-vdpau-xine-lib-1.2-r278-crop-v9.diff

##xcb-bug in xine_video_out_vdpau.c aktivieren

Patch dazu:

--- xine-lib-1.2/src/video_out/video_out_vdpau.c.orig	2009-06-22 10:03:11.000000000 +0300
+++ xine-lib-1.2/src/video_out/video_out_vdpau.c	2009-06-22 10:04:37.000000000 +0300
@@ -59,8 +59,8 @@
 
 #define NUM_FRAMES_BACK 1
 
-/*#define LOCKDISPLAY*/ /*define this if you have a buggy libX11/xcb*/
-
+/*define this if you have a buggy libX11/xcb*/
+#define LOCKDISPLAY
 
 #define DEINT_BOB                    1
 #define DEINT_HALF_TEMPORAL          2


2. Kompilieren xine-lib-1.2

Source code

1
2
3
4
5
6
cd /usr/local/src/xine-lib-1.2
make clean
./autogen.sh --prefix=/usr --with-external-ffmpeg --disable-dxr3 --enable-w32dll --with-w32-path=/usr/lib/win32
make
make install
ldconfig


3. Kompilieren des Xine-Forntends xine-ui:

Source code

1
2
3
4
5
6
cd /usr/local/src/xine-ui
make clean
./autogen.sh --prefix=/usr --enable-vdr-keys
make
make install
ldconfig


4. Kompilieren der VDR-Plugins:

Hier sollte man auch das xineliboutput-plugin-cvs vorbereitet haben, => passenden DF-Patch auf des Plugin: aktuell xineliboutput-head-vdpau-support-v8.diff. Hintergrund ist hier das autocropping, das muß ich allerdings noch testen, welche Parameter man dazu braucht. Das autocropping geht deshalb, da das xine-plugin auch die Post-Teile des xineliboutput-plugins nutzen kann!

Zudem muß dass xine-plugin-0.9.3 ein wenig angepasst werden, um das Plugin inkl. Forntend automatisch zu starten. Die Anpassung erfolgt in der Datei xine.c, Zeile 233:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
…...
bool cPluginXine::Start(void)
{
  // Start any background activities the plugin shall perform.
  if (!PluginXine::cXineDevice::Open())
    return false;
+pid_t cpid;
+switch (cpid = fork()){
+case 0: SystemExec("xine -f -V vdpau -A alsa --post vdr --post vdr_video --post vdr_audio --aspect-ratio=anamorphic --verbose=2 --no-logo --no-splash vdr:/tmp/vdr-xine/stream#demux:mpeg_pes");
+}

  return true;
}
…...


ODER

Ergänzung 13.11.2009: Autocrop für vdr-xine-plugin mit df-Patches für xineliboutput =>

Hiermit wird das automatische Aufziehen bei Sendern mit hässlichen Schwarzen Balken oben und unten im vdr-xine-plugin ergänzt. Dem vdr-xine-plugin ist es möglich die post-plugins des xineliboutput-Plugins zu nutzen, deshalb geht das auch mit dem vdr-xine-plugin.


Source code

1
2
3
4
5
6
7
8
9
10
11
bool cPluginXine::Start(void)
{
  // Start any background activities the plugin shall perform.
  if (!PluginXine::cXineDevice::Open())
    return false;
+  pid_t cpid;
+  switch (cpid = fork()){
+ 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=1,stabilize=1 --aspect-ratio=anamorphic --verbose=2 --no-logo --no-splash vdr:/tmp/vdr-xine/stream#demux:mpeg_pes");
+ }
  return true;
}



Source code

1
2
3
4
5
6
7
8
9
10
cd /usr/local/src/VDR
make clean-plugins
make plugins
cd /usr/local/src/vdr-1.7.9/PLUGINS/src/vdr-xineliboutput
make install
cd /usr/local/src/vdr-1.7.9/PLUGINS/lib
strip *.*
cp /usr/local/src/vdr-1.7.9/PLUGINS/lib/*.* /usr/vdr/plugins/

Die locale-Dateien nicht vergessen an den richtigen Platz zu kopieren.


Mit dieser Variante, = xine-lib-1.2, hatte ich allerdings bei gleichen Paramtern in der xine-config und setup.conf bei hohen Bildraten im HD-Bereich immer wieder Framedrops.
Um es gleich zu sagen, das gibt’s bei der nächsten Variante mit xine-vdpau nicht!


2.3.1.2 Übersicht, was brauche ich alles um mit dem xine-vdpau-zweig zu kompilieren:

Abweichend zur obigen Variante, geht hier der Weg fast gleich, aber man nutzt halt den originalen Entwicklerzweig von xine-vdpau. Auch hier der komplette Installweg.

1. xine-vdpau holen und mit xine-lib.patch patchen/df-patch patchen

Source code

1
2
3
4
5
6
7
8
9
10
cd /usr/local/src
#rm -r /usr/local/src/xine-vdpau
#svn co svn://jusst.de/xine-vdpau -r 284
svn co svn://jusst.de/xine-vdpau
cd /usr/local/src/xine-vdpau
find /usr/local/src/VDR/PLUGINS/src/xine-0.9.3 -name xine-lib.patch -exec patch -p1 -i \{} \; 
cp /usr/local/src/meine_patches/xine-vdpau-r284-crop-v9.diff /usr/local/src/xine-vdpau/
patch < /usr/local/src/xine-vdpau/xine-vdpau-r284-crop-v9.diff
## per Hand /usr/local/src/xine-vdpau/src/combined/ffmpeg/ff_video_decoder.c
## "dort gibt es 2 Eintraege mit RGBA32 dies aendern in RGB32"


2. xine-vdpau kompilieren und installieren:

Source code

1
2
3
4
5
6
7
cd /usr/local/src/xine-vdpau
make clean
./autogen.sh
./configure --prefix=/usr --with-external-ffmpeg --disable-dxr3 --enable-w32dll --with-w32-path=/usr/lib/win32
make 
make install
ldconfig -v


3. Kompilieren des Xine-Forntends xine-ui:

Source code

1
2
3
4
5
6
7
8
9
cd /usr/local/src/
#wget http://home.vrweb.de/~rnissl/xine-ui-cvs-20090617220000.tar.bz2
#tar xivf xine-ui-cvs-20090617220000.tar.bz2
cd xine-ui
make clean
./autogen.sh --prefix=/usr --enable-vdr-keys
make
make install
ldconfig -v


4. Kompilieren der VDR-Plugins:

Hier sollte man auch das xineliboutput-plugin-cvs vorbereitet haben, => passenden DF-Patch auf des Plugin: aktuell xineliboutput-head-vdpau-support-v8.diff. Hintergrund ist hier das autocropping, das muß ich allerdings noch testen, welche Parameter man dazu braucht. Das autocropping geht deshalb, da das xine-plugin auch die Post-Teile des xineliboutput-plugins nutzen kann!

Zudem muß dass xine-plugin-0.9.3 ein wenig angepasst werden, um das Plugin inkl. Forntend automatisch zu starten. Die Anpassung erfolgt in der Datei xine.c, Zeile 233 :

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
…...
bool cPluginXine::Start(void)
{
  // Start any background activities the plugin shall perform.
  if (!PluginXine::cXineDevice::Open())
    return false;
+pid_t cpid;
+switch (cpid = fork()){
+case 0: SystemExec("xine -f -V vdpau -A alsa --post vdr --post vdr_video --post vdr_audio --aspect-ratio=anamorphic --verbose=2 --no-logo --no-splash vdr:/tmp/vdr-xine/stream#demux:mpeg_pes");
+}
  return true;
}
…...



ODER

Ergänzung 13.11.2009: Autocrop für vdr-xine-plugin mit df-Patches für xineliboutput =>

Hiermit wird das automatische Aufziehen bei Sendern mit hässlichen Schwarzen Balken oben und unten im vdr-xine-plugin ergänzt. Dem vdr-xine-plugin ist es möglich die post-plugins des xineliboutput-Plugins zu nutzen, deshalb geht das auch mit dem vdr-xine-plugin.


Source code

1
2
3
4
5
6
7
8
9
10
11
bool cPluginXine::Start(void)
{
  // Start any background activities the plugin shall perform.
  if (!PluginXine::cXineDevice::Open())
    return false;
+  pid_t cpid;
+  switch (cpid = fork()){
+ 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=1,stabilize=1 --aspect-ratio=anamorphic --verbose=2 --no-logo --no-splash vdr:/tmp/vdr-xine/stream#demux:mpeg_pes");
+ }
  return true;
}




Source code

1
2
3
4
5
6
7
8
cd /usr/local/src/VDR
make clean-plugins
make plugins
cd /usr/local/src/VDR/PLUGINS/src/xineliboutput
make install
cd /usr/local/src/VDR/PLUGINS/lib
strip *.*
cp *.* /usr/vdr/plugins


Diese Variante löppert 100%-ig sauber, ohne Aussetzer und Framedrops bei hohen Bildraten im HD-Bereich.
Zudem ist das Umschaltverhalten sehr schnell.


2.3.2 Startaufruf mit dem VDR, Einstellungen in der setup.conf des VDR’s und in der config zum xine-plugin-0.9.3:

Alle Einstellungen beim gestopptem VDR!

2.3.2.1 Startaufruf mit dem VDR:

….\"-Pxine -r\" ...

2.3.2.2 Einstellungen in der setup.conf des VDR:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
...
xine.autoPrimaryDeviceMode = autoPrimaryDeviceOn
xine.image16:9.zoomX = 100
xine.image16:9.zoomY = 100
xine.image4:3.zoomX = 100
xine.image4:3.zoomY = 100
xine.interactWithEitScannerMode = interactWithEitScannerOff
xine.modeLiveTV.monitoringDuration = 10
xine.modeLiveTV.monitoringMode = monitoringOnce
xine.modeLiveTV.prebufferFramesAudio = 4
xine.modeLiveTV.prebufferFramesVideoHD = 8
xine.modeLiveTV.prebufferFramesVideoSD = 4
xine.modeLiveTV.prebufferHysteresis = 8
xine.muteMode = muteIgnore
xine.osdExtent.X = 1920
xine.osdExtent.Y = 1080
xine.osdGammaCorrection = 123
xine.osdMode = osdBlendScaledAuto
...



2.3.2.3 Einstellungen in der config zum xine-plugin-0.9.3 (nur Änderungen von der Grunddatei):

Die Datei liegt in der Regel im Benutzerverzeichnis unter dem der VDR läuft (bei mir /root/.xine/. Ich benutze den PassThroughMode für die Ausgabe des Tones via HDMI des onboard-Spdif an eine Geforce GT220 an den LCD (Durchschleifen).

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
...
# Deinterlacing automatisch aktivieren
# bool, default: 0
gui.deinterlace_by_default:1
...
# Erfahrenheit einstellen
# { Beginner  Advanced  Expert  Master of the known universe }, default: 0
gui.experience_level:Master of the known universe
...
# Gerät für Monoausgabe
# string, default: default
audio.device.alsa_default_device:hw:0,1

# Gerät für Stereoausgabe
# string, default: plug:front:default
audio.device.alsa_front_device:hw:0,1

# ALSA Mixergerät
# string, default: PCM
#audio.device.alsa_mixer_name:PCM

# Soundkarte unterstützt mmap 
# bool, default: 0
audio.device.alsa_mmap_enable:1

# Gerät für 5.1-Kanalausgabe
# string, default: iec958:AES0=0x6,AES1=0x82,AES2=0x0,AES3=0x2
audio.device.alsa_passthrough_device:hw:0,1

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

# Gerät für 5.1-Kanalausgabe
# string, default: plug:surround51:0
audio.device.alsa_surround51_device:hw:0,1

# Lautsprecherplazierung
# { 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
...
# Methode für Audio/Videosynchronisation
# { metronom feedback  resample }, default: 0
audio.synchronization.av_sync_method:resample

# Wenn !=0, immer auf diese Rate anpassen
# numeric, default: 0
audio.synchronization.force_rate:48000

# Resampling benutzen
# { auto  off  on }, default: 0
audio.synchronization.resample_mode:on
...
# Zu benutzender Videotreiber
# { auto  vdpau  xv  raw  opengl  xshm  aa  none  xxmc  sdl  vidixfb  vidix  fb  xvmc }, default: 0
video.driver:vdpau

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

# vdpau: Try to recreate progressive frames from pulldown material
# bool, default: 1
#video.output.vdpau_enable_inverse_telecine:1

# 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

# vdpau: disable advanced deinterlacers chroma filter
# bool, default: 0
#video.output.vdpau_skip_chroma_deinterlace:0

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

# Anzahl der Videopuffer
# numeric, default: 500
engine.buffers.video_num_buffers:1800

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



So, das wars, HD-OSD und auch Darstellung sind absolut top mit dem xine-Plugin. Die Konfiguration läuft auf beiden Systemen einwandfrei. Mit der 9400GT sollte man allerdings „bob“ als Deinterlacer in der config wählen (Framedrops).
Die Einstellungen für den X-Server sind im obigen Thread beschrieben.

Wer Ergänzungen, Vorteile, und Nachteile nennen kann, nur her damit, dann pflege ich das hier ein. Auch Lob und Tadel sind willkommen.

Ws mir jetzt noch fehlt, ist ein passender Patch gegen xine-vdpau/xine-plugin-0.9.3 um in Live das Bild dargestellt zu bekommen. Leider gibt es den Patch nur für die xine-lib-1.2-Variante.

Gruß
Wolfgang
Hardware: -
Software: -

This post has been edited 5 times, last edit by "wbreu" (Nov 14th 2009, 5:20am)


2

Tuesday, October 6th 2009, 2:08pm

Ui, bist Du jetzt auch vom xine-plugin begeistert? Das freut mich :-)
Ich habe die Kombination bereits seit 2-3 Monaten im produktiven Einsatz und bis auf einziges Problem (Sky Sport HD) spielt das wunderbar.

Zusätzlich zu Deiner Anleitung habe ich noch die Durchflieger-Patches genommen (damit sollte auch Bild in Live gehen, habe ich aber nicht getestet) und die xine-plugins vom xinelib-output (damit funktioniert auch autocrop!)

3

Tuesday, October 6th 2009, 2:12pm

Quoted

Original von Razorblade
Ui, bist Du jetzt auch vom xine-plugin begeistert? Das freut mich :-)
Ich habe die Kombination bereits seit 2-3 Monaten im produktiven Einsatz und bis auf einziges Problem (Sky Sport HD) spielt das wunderbar.

Zusätzlich zu Deiner Anleitung habe ich noch die Durchflieger-Patches genommen (damit sollte auch Bild in Live gehen, habe ich aber nicht getestet) und die xine-plugins vom xinelib-output (damit funktioniert auch autocrop!)


Hi,

die Aussetzer die du ansprichst, hatte ich auch, mit Variante 2 => xine-vdpau, sind die komplett weg.

Ich nehme mal an du hast die xine-lib-1.2 im Einsatz.

Die DF-Patches habe ich alle drinnen, aber wie gesagt Live bringt kein Bild, da dein xine-Patch für vdr-xine-plugin nicht ausreicht.

Da fehlen ein paar Teile in der der xinelib von xine-vdpau um das Grabbing zu machen.

PS: Jepp, das xine-plugin bleibt auf den Kisten!

Gruß
Wolfgang
Hardware: -
Software: -

4

Tuesday, October 6th 2009, 3:31pm

Was bei mir das xine-Plugin und den ganzen vdpau-Kram noch immer reproduzierbar aufgehängt hat, ist Spulen in Aufnahmen.

Also eine normale SD-TV-Aufnahme öffnen und schnellen Vorlauf starten. Sollte man am Ende ankommen, dann wird umgeschaltet auf schnellen Rücklauf. Zumindest bei mir dauerte es keine 3 Minuten und Xine hängt...

Wenn das nicht reicht, dann gibt ein VT-Switch der VDPAU-Ausgabe endgültig den Rest. Für diesen Bug habe ich einen ganz üblen Würgaround, der mit einem Background-Prozess die VT-Switches überwacht und beim Switch vom X-Server weg die xine-ui killt (via SIGKILL, denn ein SIGTERM fruchtet in der Situation nicht immer...) und bei Switch zum X-Server zurück eine neue xine-ui anstartet. Da ich zumindest beim Entwickeln ständig die VTs switche, war das für mich unverzichtbar.

An der Stelle habe ich meinen Ausflug in die VDPAU- und VDR-1.7.9-Welt dann erstmal hinten angestellt, mein Entwicklungssystem auf VDR 1.6.0-2 zurückgefahren und warte jetzt erstmal ab, bis sich eine einfach einzurichtende HD-Variante herauskristallisiert, die einer FF-Karte gleichwertig ist. Da alle Plugins, die ich nutze, und die Patches, die ich für meinen Gebrauch geschrieben habe, mehr oder weniger ohne Änderung mit VDR 1.7.9 gelaufen sind, weiß ich jetzt immerhin, dass VDR 1.6.0-2 nach wie vor als Entwicklungssystem genutzt werden kann, ohne Arbeitszeit zu verschwenden.

5

Tuesday, October 6th 2009, 3:31pm

RE: Wie bekomme ich ein lauffähiges System mit dem vdr-xine-plugin mit vdpau?

Hi wbreu,

wie sieht es mit der Performanze aus?
Ich habe eine Activy 300 als Basis.

Als CPU ist eine 1GHZ Celeron verbaut, RAM ist mit 256MB auch nicht in Mengen vorhanden.

Als Graka habe ich einen Sparkle 8400gs mit 512MB.

In den früheren Versionen benötigte xine immer wesentlich mehr power als xineliboutput.

Ist das immer noch so?

Gruß
kaminkehrer
VDR2 (Wohnzimmer) :
Gehäuse: Activy 330 FP mit TTL Wandler am Serial
Intel DH61BE ; ASUS GT610-SL-1GD3-L ; 2x2GB ; CineS2 5.6 ; 128GB SSD ; 1TB HDD
Harmony 650 ; Samsung UE40C6200
- Gen2VDR 3.0 -

VDR1 (Schlafzimmer) :
Gehäuse: Activy 300 FP mit TTL Wandler am Serial
POV 330-1 ; 60GB SSD ; Mystique SaTiX-S2 ; 2x2 GB RAM
Harmony 300 ; LG 32LG450
- Gen2VDR 3.0 -

VDR3-4 :
Gehäuse: Activy 300 FP mit TTL Wandler am Serial
Zotac ionitx F-E ; CineS2 5.4 ; 2x2 GB RAM
Original Activy FB
- Gen2VDR 3.0 -

This post has been edited 2 times, last edit by "kaminkehrer" (Oct 6th 2009, 3:32pm)


6

Tuesday, October 6th 2009, 3:56pm

Quoted

Original von Mreimer
Was bei mir das xine-Plugin und den ganzen vdpau-Kram noch immer reproduzierbar aufgehängt hat, ist Spulen in Aufnahmen.

Also eine normale SD-TV-Aufnahme öffnen und schnellen Vorlauf starten. Sollte man am Ende ankommen, dann wird umgeschaltet auf schnellen Rücklauf. Zumindest bei mir dauerte es keine 3 Minuten und Xine hängt...

Wenn das nicht reicht, dann gibt ein VT-Switch der VDPAU-Ausgabe endgültig den Rest. Für diesen Bug habe ich einen ganz üblen Würgaround, der mit einem Background-Prozess die VT-Switches überwacht und beim Switch vom X-Server weg die xine-ui killt (via SIGKILL, denn ein SIGTERM fruchtet in der Situation nicht immer...) und bei Switch zum X-Server zurück eine neue xine-ui anstartet. Da ich zumindest beim Entwickeln ständig die VTs switche, war das für mich unverzichtbar.

An der Stelle habe ich meinen Ausflug in die VDPAU- und VDR-1.7.9-Welt dann erstmal hinten angestellt, mein Entwicklungssystem auf VDR 1.6.0-2 zurückgefahren und warte jetzt erstmal ab, bis sich eine einfach einzurichtende HD-Variante herauskristallisiert, die einer FF-Karte gleichwertig ist. Da alle Plugins, die ich nutze, und die Patches, die ich für meinen Gebrauch geschrieben habe, mehr oder weniger ohne Änderung mit VDR 1.7.9 gelaufen sind, weiß ich jetzt immerhin, dass VDR 1.6.0-2 nach wie vor als Entwicklungssystem genutzt werden kann, ohne Arbeitszeit zu verschwenden.


Hi,

spulen in Aufnahmen ist hier perfekt, auch beim Schneiden.

Der VT-Switch-BUG ist schon länger bekannt, ich kann locker damit leben, es gibt ja auch Putty, oder man stopt den VDR samt X-Server.

Ob das mit der HD-FF dann geht, mal sehen, welche kleinen Probleme es da dann gibt.

Gruß
Wolfgang
Hardware: -
Software: -

7

Tuesday, October 6th 2009, 3:59pm

RE: Wie bekomme ich ein lauffähiges System mit dem vdr-xine-plugin mit vdpau?

Quoted

Original von kaminkehrer
Hi wbreu,

wie sieht es mit der Performanze aus?
Ich habe eine Activy 300 als Basis.

Als CPU ist eine 1GHZ Celeron verbaut, RAM ist mit 256MB auch nicht in Mengen vorhanden.

Als Graka habe ich einen Sparkle 8400gs mit 512MB.

In den früheren Versionen benötigte xine immer wesentlich mehr power als xineliboutput.

Ist das immer noch so?

Gruß
kaminkehrer


Hi,

naja die Systeme die bei mir laufen sind halt von Haus aus performanter.

Wie sich xine auf einer activy verhält, sorry, keine Ahnung.
Ich kann mir aber nicht vorstellen, das es wesentlich mehr Power benötigt, siehe Wiki zum xine-plugin. Noch dazu wenn die vdpau-Geschichte sauber eingerichtet ist.

Gruß
Wolfgang
Hardware: -
Software: -

vdr-box

Professional

Posts: 1,380

Location: NRW

  • Send private message

8

Tuesday, October 6th 2009, 4:09pm

RE: Wie bekomme ich ein lauffähiges System mit dem vdr-xine-plugin mit vdpau?

zu deiner o. g. doku:

benutzt du 64 oder 32 bit?

vdr-box

hartes und weiches


- 19" Server Asus C60M1-I JBOD 3x6TB|CineS2v6 PCIe Hexa DVB-S2 Low-Profile|Software: Archlinux mit VDR 2.0.6

- Client01 Openelec 4.2.x|Hardware: Cinestation Ultra (Cube N3) an Panasonic TX46GW20 Plasma
- Client02 Openelec 4.2.x|Hardware: MSI E350IA-E45 - 4GB RAM - OCZ 32GB SSD - XSILENCE 80mm Lüfter in Linkworld 820-01B Gehäuse
- Client03 Openelec 4.2.x|Hardware: POV-ION
- Extern: Standalone VDR 04-06|Software: yavdr 0.5|Hardware: Zotac IONITX-T|Gehäuse: 2xMC380|1xMC80
- Extern: Standalone VDR 07|Software: yavdr 0.5|Hardware: Zotac IONITX-T|Gehäuse: Streacom ST-FC8B EVO
- Bastelkiste: ASRock Q1900M|4GB RAM|Intel SSD 320 40GB|Sundtek SkyTV Ultimate DVB-S2|ZOTAC GT630 (Rev. 2) Zone Edition mit |vdr4arch|yavdr0.5|openelec 5.x

9

Tuesday, October 6th 2009, 4:10pm

RE: Wie bekomme ich ein lauffähiges System mit dem vdr-xine-plugin mit vdpau?

Quoted

Original von vdr-box
zu deiner o. g. doku:

benutzt du 64 oder 32 bit?

vdr-box


Hi vdr-box,

32 bit.

Gruß
Wolfgang
Hardware: -
Software: -

10

Tuesday, October 6th 2009, 4:37pm

Quoted

Originally posted by wbreu
spulen in Aufnahmen ist hier perfekt, auch beim Schneiden.


Interessant. Hast du mit xine-lib 1.2 oder mit der xine-lib, die xine-vdpau mitbringt, getestet? Ich habe xine-lib 1.2 nie probiert. Vielleicht tritt ja da der Bug nicht auf. Ansonsten kann ich mir nurnoch vorstellen, dass meine Kombination Karte -> Treiber irgendwie zu diesem Fehler geführt hat. Wie auch immer: Die Karte wurde bereits zurückgeschickt und das Geld ist bereits zurückerstattet. Letztliches Killerargument war der ständig wegbrechende TV-Out, an dem zwingend ein Röhrenfernseher betrieben werden sollte. Den PC gänzlich stromlos machen zu müssen, um den TV-Out wiederzubeleben, war dann doch inakzeptabel.

Quoted


Der VT-Switch-BUG ist schon länger bekannt, ich kann locker damit leben, es gibt ja auch Putty, oder man stopt den VDR samt X-Server.


Wäre bei mir sogar noch einfacher, denn alle meine Rechner laufen mit Linux, wo SSH ja "nativ" geht. Allerdings finde ich es sinnvoll und praktisch bei Entwicklung oder Debugging direkt "am Entwicklungs-VDR" zu sitzen. Alleine schon, weil ich so den Stromverbrauch eines PCs einspare.

Quoted


Ob das mit der HD-FF dann geht, mal sehen, welche kleinen Probleme es da dann gibt.


Ehrlich gesagt stecke ich die Haupt-Hoffnung in die eHD, denn der HD-VDR wird an einem Netceiver hängen und in selbigem auch die Tuner. Ich zweifle doch an, dass die HD-FF so günstig wird, dass man es sich erlauben kann, die Tuner ungenutzt zu lassen. Warten wir aber mal ab, was die Zeit bringt. Als nächster Termin für einen HD-Versuch habe ich Februar nächsten Jahres im Blick. Solange nutze ich für die Ausgabe die (mittlerweile recht günstig gebraucht zu erhaltenden) FF-Karten.

vdr-box

Professional

Posts: 1,380

Location: NRW

  • Send private message

11

Tuesday, October 6th 2009, 4:51pm

RE: Wie bekomme ich ein lauffähiges System mit dem vdr-xine-plugin mit vdpau?

und noch zwei organisatorische fragen:

- baust du deine kernel per hand ins system oder als debian packet?
- warum benutzt du lenny und kein ubuntu?

vdr-box

hartes und weiches


- 19" Server Asus C60M1-I JBOD 3x6TB|CineS2v6 PCIe Hexa DVB-S2 Low-Profile|Software: Archlinux mit VDR 2.0.6

- Client01 Openelec 4.2.x|Hardware: Cinestation Ultra (Cube N3) an Panasonic TX46GW20 Plasma
- Client02 Openelec 4.2.x|Hardware: MSI E350IA-E45 - 4GB RAM - OCZ 32GB SSD - XSILENCE 80mm Lüfter in Linkworld 820-01B Gehäuse
- Client03 Openelec 4.2.x|Hardware: POV-ION
- Extern: Standalone VDR 04-06|Software: yavdr 0.5|Hardware: Zotac IONITX-T|Gehäuse: 2xMC380|1xMC80
- Extern: Standalone VDR 07|Software: yavdr 0.5|Hardware: Zotac IONITX-T|Gehäuse: Streacom ST-FC8B EVO
- Bastelkiste: ASRock Q1900M|4GB RAM|Intel SSD 320 40GB|Sundtek SkyTV Ultimate DVB-S2|ZOTAC GT630 (Rev. 2) Zone Edition mit |vdr4arch|yavdr0.5|openelec 5.x

This post has been edited 1 times, last edit by "vdr-box" (Oct 6th 2009, 4:52pm)


12

Tuesday, October 6th 2009, 4:56pm

RE: Wie bekomme ich ein lauffähiges System mit dem vdr-xine-plugin mit vdpau?

Quoted

Original von vdr-box
und noch zwei organisatorische fragen:

- baust du deine kernel per hand ins system oder als debian packet?
- warum benutzt du lenny und kein ubuntu?

vdr-box


Hi nochmal,

Kernel werden per Hand gebaut, die .config schwirrt hier im Portal auch irgendwo rum.
Wobei in der Regel immer die gleiche .config zum Einsatz kommt und dann ein paar Neuerungen aktiviert werden.

Naja, die anderen Debian-Derivate sind mir immer zu überladen gewesen, habe aber schon lange nichts mehr dergleichen angesehen.

Gruß
Wolfgang
Hardware: -
Software: -

13

Tuesday, October 6th 2009, 7:58pm

Quoted

Original von wbreu

Auch Lob und Tadel sind willkommen.


Hallo Wolfgang

Lob gerne, aber Tadel? Wer sollte an deinen immer wieder kompetenten und fundierten Ausführungen etwas auszusetzen haben? Ohne z.B deine unermüdliche Pionierarbeit in Bezug auf xine-vdpau hätte ich im Frühjahr beim Wohnzimmer-VDR sicher nicht so einfach den Umstieg von FF auf Softdecoder geschafft. Das wird wohl vielen hier so gehen/gegangen sein. Vielen Dank dafür!!!



Quoted

Original von wbreu
Mit dieser Variante, = xine-lib-1.2, hatte ich allerdings bei gleichen Paramtern in der xine-config und setup.conf bei hohen Bildraten im HD-Bereich immer wieder Framedrops.
Um es gleich zu sagen, das gibt’s bei der nächsten Variante mit xine-vdpau nicht!


Jetzt weiß ich auch warum ich seit Längerem keine xine-lib-1.2 mehr benutze, da hab ich wohl mit dem Entwicklerzweig von xine-vdpau zumindest für vdr-xine *instinktiv* die bessere Variante gewählt;) Allerdings sollte doch die vdpau-Implementierung in beiden fast gleich sein, oder? Seit r279, für die zur Zeit der letzte vdpau-Patch für xine-lib-1.2 zur Verfügung steht, hat sich ja nicht sooo viel bei xine-vdpau getan.....


Quoted

Original von wbreu
Ws mir jetzt noch fehlt, ist ein passender Patch gegen xine-vdpau/xine-plugin-0.9.3 um in Live das Bild dargestellt zu bekommen. Leider gibt es den Patch nur für die xine-lib-1.2-Variante.


Ich hatte mich ja mal an einer Portierung auf xine-vdpau versucht

Das Grabbing für live und vdradmin funktioniert damit, ob das Cropping geht, hab ich nicht getestet, ich skaliere 4:3 direkt über vdr-xine hoch.


Quoted

Original von wbreu

[…]aber man nutzt halt den originalen Entwicklerzweig von xine-vdpau[…]

Diese Variante löppert 100%-ig sauber, ohne Aussetzer und Framedrops bei hohen Bildraten im HD-Bereich.
Zudem ist das Umschaltverhalten sehr schnell.


Full Ack!!! Auch von mir an dieser Stelle mal ein längst überfälliges herzliches Dankeschön an Reinhard Nißl für das vdr-xine-plugin!

Gruß, tomas

This post has been edited 1 times, last edit by "tomas" (Oct 6th 2009, 8:03pm)


14

Tuesday, October 6th 2009, 8:11pm

Hallo tomas,

danke für die Antwort.

Insbesondere zum fehlenden Grabbing.

Ich weiß ja nicht, wie einfach das ist, aber könntest du den Grabbing-Teil deines Patches gegen xine-vdpau-r281 isolieren, sodass es ein Einzel-patch wäre?

Danke dir vorab!

Gruß
Wolfgang
Hardware: -
Software: -

15

Tuesday, October 6th 2009, 9:49pm

Quoted

Original von wbreu

Ich weiß ja nicht, wie einfach das ist, aber könntest du den Grabbing-Teil deines Patches gegen xine-vdpau-r281 isolieren, sodass es ein Einzel-patch wäre?


Hallo Wolfgang,

du meinst jetzt einen Patch, der xine-vdpau gepatcht mit xine-vdpau-r284-crop-v9, den Code von Samael fürs Grabbing reinpatcht.

Nachdem der angepasste Patch mit dem Code von durchflieger und Samael fertig war, dachte ich mir auch, dass das eigentlich der bessere Weg gewesen wäre.....hinterher ist man immer schlauer....

Kann mich gerne am Wochenende mal versuchen durchzubeißen.

Gruß, tomas

16

Tuesday, October 6th 2009, 10:05pm

Quoted

Original von tomas

Quoted

Original von wbreu

Ich weiß ja nicht, wie einfach das ist, aber könntest du den Grabbing-Teil deines Patches gegen xine-vdpau-r281 isolieren, sodass es ein Einzel-patch wäre?


Hallo Wolfgang,

du meinst jetzt einen Patch, der xine-vdpau gepatcht mit xine-vdpau-r284-crop-v9, den Code von Samael fürs Grabbing reinpatcht.

Nachdem der angepasste Patch mit dem Code von durchflieger und Samael fertig war, dachte ich mir auch, dass das eigentlich der bessere Weg gewesen wäre.....hinterher ist man immer schlauer....

Kann mich gerne am Wochenende mal versuchen durchzubeißen.

Gruß, tomas


Jepp genau den meine ich.

Samael hat ja den Patch gegen die xine-lib-1.2 gebaut.

Ich nutze ja xine-vdpau-r284+xine-plugin-Patch+xine-vdpau-r284-crop-v9, da fehlt halt der Patch zum Grabbing, bzw. Samaels Patch geht nicht.

Die Grundfunktion fürs Grabbing muß ja in der xinelib sein....

Wäre echt nett von dir!

Gruß
wolfgang
Hardware: -
Software: -

gda

Im Forum Zuhause

Posts: 13,390

Location: HH

  • Send private message

17

Tuesday, October 6th 2009, 10:16pm

Ich verstehe einfach nicht was Ihr gegen die xine-lib-1.2 habt. Ich habe keine Framedrops, keine Tonstörungen, keine Probleme beim Umschalten von SD nach HD und das grabben funktioniert.
Irgendetwas macht ihr falsch.

Gerald

HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 12.04.2, Plex Media Server
Samsung UE55H6470

18

Tuesday, October 6th 2009, 10:21pm

Bis auf Sky Sport HD habe ich auch keinerlei Probleme (mit xine-lib-1.2) und ich würde fast wetten, dass diese Probleme nichts mit der xine-lib Version zu tun haben, da der vdr selbst bis an die 100% Last geht und dann den Puffer voll fährt...

19

Tuesday, October 6th 2009, 10:37pm

Quoted

Original von gda
Ich verstehe einfach nicht was Ihr gegen die xine-lib-1.2 habt. Ich habe keine Framedrops, keine Tonstörungen, keine Probleme beim Umschalten von SD nach HD und das grabben funktioniert.
Irgendetwas macht ihr falsch.

Gerald


Hi Gerald,

naja, wenn du mal auf einen 1080i-Sender schaltest, dann siehst du was ich meine und wie hier auch mehrfach berichtet wurde.

Eventuell liegts ja auch an den ganzen Patches die mit der xinelib-1.2 da zusammenspielen.

Ich für meinen Teil kann nur das berichten was ich im Log sehe und gesehen habe.

Im Moment ist es halt so die Kombi mit xinelib-1.2 macht ab 16 MBit Probleme (=Framedrops) beim Live-TV, die Kombi mit xine-vdpau-r284 eben nicht.

Wo da genau der Hund begraben ist, .....

Gruß
Wolfgang
Hardware: -
Software: -

20

Tuesday, October 6th 2009, 10:40pm

Quoted

Original von Razorblade
Bis auf Sky Sport HD habe ich auch keinerlei Probleme (mit xine-lib-1.2) und ich würde fast wetten, dass diese Probleme nichts mit der xine-lib Version zu tun haben, da der vdr selbst bis an die 100% Last geht und dann den Puffer voll fährt...


Hi,

wäre super, wenn du mal mit dem obigen Weg die xine-vdpau-r284 testen könntest und dein Ergebnis hier präsentierst.

Gruß
Wolfgang
Hardware: -
Software: -