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

  • Obwohl ich mit meinem xinelibouput einigermaßen zufrieden war, hat mich dieser Thread neugierig gemacht. Also habe ich gerade mal alles wie im ersten Post beschrieben nachgebaut, auf zwar auf der xine-vdpau-Schiene. Basis meines Systems ist ein 2.6.31er i686 Kernel von Ubuntu Karmic. Der Treiber ist die 185.18.36.


    Leider waren meine bisherigen Experimente nicht ganz erfolgreich: SDTV läuft gut, HD ohne Deinterlacing läuft mit mäßigen Framedorops (einer alle paar sec), aber sobald Deinterlacing ins Spiel kommt, ist der Ofen komplett aus: ca. 30-50% Framedrops. Das passiert übrigens sowohl bei SD als auch bei 1080i HD-Sendern. Deinterlacing ist dabei auf Bob gestellt, alles weitere Postprocessing ist aus.


    Ein grundsätzliches VDPAU-Problem möchte ich ausschließen, xbmc spielt 1080p mittels VDPAU bei 10% CPU-Last ohne einen einzigen Framedrop. Hardware ist ein AMD 2900er Dualcore mit Geforce 8300 (Asus M3N) und zweikanaligem Speicher. Der Ondemand Governor ist aus und die Frequenz ist fest auf 2900 MHz eingestellt.


    Im Anhang liegen der Output von xine und meine .xine/config


    Grüße,
    Holger

  • Hi,


    also die config sieht soweit gut aus.


    Das log leider nicht......


    Nur mal so ein Schuß ins Blaue, beim Bauen von xine-vdpau hast du da den Patch aktiviert oder nicht?


    ##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


    Eventuell ist das auch hier notwendig?


    Gruß
    Wolfgang

  • Huch - dachte, das wäre nur für die 1.2er xinelib nötig ;)


    Bringt leider aber auch keine signifikante Veränderung.



    Grüße,
    Holger

    VDR 1-3: Zotac ZBox HD-ID42, yavdr-0.5
    VDR 4: AMD5900/Asus M3N-78, yavdr-0.5
    DVB-Empfang: Netceiver
    Storage: via NFS von separatem Fileserver

    [size=10]

  • Hi nochmal,


    der letzte Eintrag im Log, welcher Kanal ist das, HD oder SD? ?


    Was mir im Log noch auffällt, du nutzt wirklich 1920x1200 als Auflösung?


    Da gabs mal einen Thread im Nvidia-Forum, dass es da Probleme gibt mit dem Sync.


    Gruß
    Wolfgang

  • Zitat

    Original von wbreu
    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


    Insgesamt ein sehr viel schlechteres Ergebnis als vorher mit xine-lib-1.2 und den vdpau-Patches. Bekomme HD *gar nicht* nicht ohne Ruckler zu laufen, das lief vorher (außer wie gesagt Sky Sport HD) wunderbar.


    Werde nochmal zurückschwenken und gegenprüfen dass nicht ein anderes gleichzeitiges Update das Problem verursacht hat...



    Gruß,
    Razor

  • Hallo Wolfgang,


    die Logs sind von einem SD-Kanal (auch glaube das war Pro7). Bei HD ist das Problem aber grundsätzlich genauso (weder schlimmer noch besser). Es scheint also in erster Linie das Deinterlacing zu sein.


    Die Auflösung ist in der Tat 1920x1200, da sie die native Panelauflösung von meinem Monitor ist. In Zeiten von FullHD-Fernsehern sollte das doch aber nichts Ungewöhnliches mehr sein. Werde heute abend mal eine kleinere Auflösung probieren, wäre aber schon sehr ärgerlich, wenn die echte Auflösung nicht ginge.


    Hast Du ein paar nähere Stichworte? Beim Suchen nach 1920 im Forum sieht man leider den Wald vor Bäumen nicht...


    Grüße,
    Holger

    VDR 1-3: Zotac ZBox HD-ID42, yavdr-0.5
    VDR 4: AMD5900/Asus M3N-78, yavdr-0.5
    DVB-Empfang: Netceiver
    Storage: via NFS von separatem Fileserver

    [size=10]

  • Hallo!
    Leider bekomme ich vdr nicht mit dem xine-plugin zum laufen.


    Meine Konfiguration:
    - Ubuntu 9.04
    - eigener Kernel 2.6.31.2
    - nvidia-Treiber 185.18.36
    - vdr 1.7.9 + ext 72
    - xine-vdpau aus cvs: svn co svn://jusst.de/xine-vdpau mit xine-lib-patch, ohne durchflieger
    - xine-ui (beides probiert: xine-ui-cvs-20090617220000.tar.bz2 und direkt aus dem cvs)
    - xine-plugin 0.9.3
    - xineliboutput cvs ohne durchflieger-patch


    Im Prinzip habe ich mich (wie sonst auch) an diese hier Anleitung gehalten mit folgenden Abweichungen:
    - kein df-patch
    - --prefix=/usr/local
    - ohne patch in der xine.c, da ich das frontend separat starte


    Mein Problem:
    Sobald ich das xine-ui starte, bekomme ich das "No Signal" Bild, und im log (user.log) stehen am Ende 4 Einträge:
    buffer usage: 70%
    buffer usage: 80%
    buffer usage: 90%
    buffer usage: 100%


    Dann ist Ende und nichts geht mehr.
    /tmp/vdr-xine/... wird erzeugt, und solange das xine-Frontend nicht läuft, gibts auch diese Fehlermeldung nicht. Erst beim Start von xine läuft da der Buffer voll.


    Das xineliboutput/vdr-sxfe läuft ohne Probleme so wie's oben steht - nur sind mir hier die Umschaltzeiten etwas zu lang, so dass ich mal xine probieren wollte.


    Haben andere auch das Problem? Wo könnte ich zu suchen anfangen?


    Danke und Gruß
    Andreas

  • Zitat

    Original von rell
    Im Prinzip habe ich mich (wie sonst auch) an diese hier Anleitung gehalten mit folgenden Abweichungen:
    - kein df-patch
    - --prefix=/usr/local
    - ohne patch in der xine.c, da ich das frontend separat starte


    Dann hast du höchstwahrscheinlich gegen die falsche xine-lib gelinkt. Oder hast du beim Bauen von vdr-xine explizit angegeben, dass er die xine-vdpau in /usr/local nehmen soll?


    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 14.04.1, Plex Media Server
    Samsung UE55H6470

    Einmal editiert, zuletzt von gda ()

  • Bei Bauen von xine selbst, oder des Plugins?


    Hm.
    In /usr/lib gibts keine libxine. Per apt-get ehemals installierte ubuntu-eigene libs habe ich per apt-get remove wieder enfernt (inkl. -devs).


    Kann mich erinnern, schon mal einen Befehl (keine Ahnung mehr welcher) eingegeben zu haben, der mir dann die libxine in /usr/local/lib als benutzte lib ausspuckte.


    Wie finde ich heraus, welche libs beim kompilieren herangezogen werden, bzw. welchen Parameter müsste ich ./configure mitgeben um das richtig anzugeben - reicht es nicht, als Prefix /usr/local anzugeben?


    Danke für die Hilfe.
    Gruß
    Andreas

    Einmal editiert, zuletzt von rell ()

  • Hallo,


    Zitat

    Original von rell


    Kann mich erinnern, schon mal einen Befehl (keine Ahnung mehr welcher) eingegeben zu haben, der mir dann die libxine in /usr/local/lib als benutzte lib ausspuckte.


    du meinst sehr wahrscheinlich


    Code
    ldd /usr/local/bin/xine|grep libxine


    Zitat

    Original von rell


    Wie finde ich heraus, welche libs beim kompilieren herangezogen werden, bzw. welchen Parameter müsste ich ./configure mitgeben um das richtig anzugeben - reicht es nicht, als Prefix /usr/local anzugeben?


    in der Regel werden bei der Installation von xine-ui und vdr-xine die relevanten Pfade über pkg-config abgefragt.


    Bei der Installation der xine-lib werden in $PREFIX/lib/pkg-config/libxine.pc Pfade bzw Kompilerflags usw. hinterlegt, die für das Kompilieren von libxine anhängiger Software wichtig sind. Diese Pfade werden dann z.B. bei der Installation von vdr-xine abgefragt: *INCLUDES += `pkg-config --cflags libxine`*


    Problematisch wird es nur, wenn man sowohl unter /usr/lib als auch unter /usr/local/lib Bestandteile von unterschiedlichen xine-libs liegen hat.


    Du kannst ja mal nachkucken, ob du unter /usr/lib/pkg-config/ noch eine libxine.pc liegen hast. Die solltest du dann löschen oder du setzt vorm Kompilieren von xine-ui und vdr-xine


    Code
    export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig


    Damit wird dann auf jeden Fall die bei der händischen Installation von xine-vdpau (bei --prefix=/usr/local) angelegte libxine.pc von xine-ui und vdr-xine ausgewertet.


    Ich bezweifle allerdings, dass dein Problem damit zusammenhängt, da du ja wohl alle originalen Pakete entfernt hast.


    Zitat

    Original von rell


    Sobald ich das xine-ui starte, bekomme ich das "No Signal" Bild [...]


    Wieso bekommst du da "No Signal"? keine Karte bzw streamdev-server? außer dass der Puffer vollläuft bekommst du vorher keine aufschlussreichen Meldungen im log?


    Gruß, tomas

  • Zitat


    FullHD = 1920x1080, versuch das mal einzustellen.


    Gesagt - getan.
    Ergibt aber nur eine marginale Verbesserung. Mit 720p ists noch etwas besser (1-3 Drops pro sec), aber das kann ja nicht die Lösung sein. Ich habe schon an der VDPAU-Leistung meiner Chipsatz-Grafik gezweifelt, der qvdpautest aus dem NV-Forum gibt aber relativ normale Werte.


    Eine Sache ist mir noch aufgefallen: im Log steht kurz vor dem Start der Drops etwas von "temporal spatial deinterlacing", obwohl ich definitiv bob eingestellt habe. Sehr seltsame Sache...


    Grüße,
    Holger

    VDR 1-3: Zotac ZBox HD-ID42, yavdr-0.5
    VDR 4: AMD5900/Asus M3N-78, yavdr-0.5
    DVB-Empfang: Netceiver
    Storage: via NFS von separatem Fileserver

    [size=10]

  • Hi,


    nö ist keine seltsame Sache, wenn du einen normalen SD-Sender schaust, dann nimmt xine-vdpau automatisch den höchsten Deinterlacer!


    Das was du eingestellt hast in der config, gilt nur für HD-Content.


    Sorry, aber wenn du wirklich alles so gemacht hast, wie im Eingangsthread beschrieben, kann ich nichts erkennen, anhand der von dir gemachten Angaben, was da nicht stimmt.


    Gruß
    Wolfgang

  • Ok. Also weiter gehts.
    Mit den libs sollte alles in Ordnung sein, sämtlichen relevanten Sachen werden von /usr/local genommen, alles was mit xine zu tun hat und noch in /usr lag habe ich entfernt. xine-lib neu installiert, ebenfalls xine-ui und xine-plugin.
    Fehler bleibt gleich. Um Euch nichts zu verschweigen, anbei das Log:



    Am Fernseher kommt das Still-Image "No Signal" und das wars. Ab und zu auch eingefrorenes OSD mit den Kanalinfos.


    Aufruf xine:

    Code
    su - $RUNAS -c "/usr/bin/xinit -e /usr/local/bin/xine -I -V vdpau -f -r anamorphic \
    -A alsa --no-logo --no-splash --post vdr_video --post vdr_audio --post upmix_mono --verbose=2 vdr:/tmp/vdr-xine/stream#demux:mpeg_pes &"


    Aufruf vdr:

    Code
    VDRPRG="/usr/local/bin/vdr"
    VDRCMD="$VDRPRG -c /etc/vdr -v /media/video -E /media/video/vdr.epg -l 3 -s /usr/local/bin/vdrpoweroff.sh \
    -P'xine -r' \
    -u root \
    $*"


    Das Abspielen einer Aufnahme über xine funktioniert:


    Irgendwie funktioniert also die Übergabe von vdr->xine nicht richtig, scheint mir. Kann das ein Rechte-Problem sein?


    Gruß
    Andreas


    PS: Kann man das log nach redseliger machen?

    Einmal editiert, zuletzt von rell ()

  • Und noch das log von xine selbst beim Hänger.

  • Hi rell,


    also irgendwas kann bei dir nicht stimmen, da in den beiden Compilier-Anleitungen:


    ./configure --prefix=/usr --with-external-ffmpeg --disable-dxr3 --enable-w32dll --with-w32-path=/usr/lib/win32


    angegeben ist, aber wenn ich dein Log ansehe, die dxr3-Teile da sind!?


    Mein Lehrer würde jetzt sagen, => nochmal mein Sohn...


    Mach mal alles "clean" und lösche auch die Dateien unter /usr/lib/xine/.


    Gruß
    Wolfgang

  • ...da scheinen eben noch alte Teile vorhanden zu sein, weil nach dem:


    Zitat

    Original von rell



    - xine-vdpau aus cvs: svn co svn://jusst.de/xine-vdpau mit xine-lib-patch, ohne durchflieger


    dürfte z.B.


    Code
    load_plugins: Plugin /usr/local/lib/xine/plugins/1.25/post/xineplug_post_autocrop.so


    auch nicht mehr kommen.


    Gruß, tomas

  • Ich hab alles nochmal gecleant, gelöscht etc. (ich meine, ich hätte alles erwischt) und nochmal neu installiert, diesmal direkt in /usr. Ändert aber nach wie vor nichts an meinem Problem.


    Hab bemerkt, dass ich einem TV-Bild näher komme, wenn ich den vdr/xine stoppe und neu starte, OSD inkl. Menü funktioniert, allerdings kann ich auf keinen Kanal schalten ("Kanal nicht verfügbar"). Im Anhang die zugehörigen Logs.


    Ich hab das Gefühl, dass meine xine-Installation schon soweit in Ordnung ist, und evtl. mit dem VDR oder plugin nicht stimmt.
    vdr 1.7.9 + ext. 72 + xine-plugin 0.9.3


    Muss halt bis zur Lösung wieder xineliboutput herhalten, das funktioniert ja.
    Für heute reichts mir jedenfalls. Sollte jemand eine Idee haben - bitte gerne :)


    Werde morgen versuchen, den vdr jungfräulich ohne ext-patch zu bauen und nur mit dem xine plugin...


    Danke und Gruß
    Andreas

  • Zitat

    Original von rell
    Ich hab alles nochmal gecleant, gelöscht etc. (ich meine, ich hätte alles erwischt) und nochmal neu installiert, diesmal direkt in /usr. Ändert aber nach wie vor nichts an meinem Problem.


    Hallo,


    so würde ich das nicht sehen.


    vdr-xine scheint ja jetzt gut zu laufen. Das Problem ist


    Code
    Oct 12 21:57:51 xbmc vdr: [-1] ERROR: can't open DVB device 0
    [...]
    Oct 12 21:57:51 xbmc vdr: [-1] switching to channel 1
    Oct 12 21:57:51 xbmc vdr: [-1] info: Kanal nicht verfýgbar!


    läuft da evtl schon ein VDR, bevor du den mit vdr-xine startest?


    Gruß, tomas

  • Zitat

    Original von tomas
    läuft da evtl schon ein VDR, bevor du den mit vdr-xine startest?


    Kann schon sein. Allerdings ist das derselbe. Siehe:

    Zitat

    Original von rell
    Hab bemerkt, dass ich einem TV-Bild näher komme, wenn ich den vdr/xine stoppe und neu starte,


    Ein /etc/init.d/vdr stop lässt bei mir immer den vdr weiterlaufen, sodass ich zum vollständigen kill ein "killall -9 runvdr" und "killall -9 vdr" hinterher setze.
    Obige logs kommen von einem /etc/init.d/vdr stop und folgendem start.


    Vdr läuft damit (komischerweise) weiter, nur xine wird neu gestartet.
    Werde heute abend hier nochmal ansetzen.


    Beim ersten Start (z.B. Systemstart, dann Start über "/etc/init.d/vdr start") hab ich diese buffer usage 100% Meldung und den freeze.


    Gruß
    Andreas

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!