Problem: mplayer mit XvMC auf nforce2 für HDTV

  • Hallo,


    um meinen ct-VDR mit einem AthlonXP auf einem nforce2-Board HDTV-tauglich zu machen, habe ich mir den NVIDIA-Treiber installiert:

    Code
    sh NVIDIA-Linux-x86-1.0-7174-pkg1.run --kernel-source-path=/usr/src/kernel-headers-2.4.27-ctvdr-1

    , das /usr/X11/XFConfig-4 entsprechend angepasst und dann den XvMC-Wrapper geholt. Ein ./configure lief nicht durch, bis ich ein

    Code
    ln -s /usr/X11R6/lib/libXvMCNVIDIA.so.1.0.7174 /usr/X11R6/lib/libXvMC.so.1

    gemacht hatte. Dann ging es und ich bekam die /usr/X11R6/lib/libXvMCW.*


    Dann wollte ich den mplayer_pre7 mit xvmc neu bauen:

    Code
    ./configure --enable-dvb --with-extraincdir=/usr/src/kernel-headers-2.4.24-ctvdr-2/include/linux/dvb   --enable-largefiles --enable-xvmc --with-xvmclib=XvMCNVIDIA


    Zunächst gab es noch ein Problem, dass mplayer nicht auf /dev/rct zugreifen durfte, das wurde klar mit einem

    Code
    echo 1024 > /proc/sys/dev/rtc/max-user-freq


    Jetzt geht der mplayer noch immer nicht wegen:

    Code
    vo: X11 running at 1152x864 with depth 16 and 16 bpp (":0" => local display)
    vo_xvmc: X-Video extension 2.2
    XvMCWrapper: Could not load XvMC library "libXvMC.so.1". Failing
    libXvMC.so.1: cannot open shared object file: No such file or directory
    vo_xvmc: No X-Video MotionCompensation Extension on :0
    Error opening/initializing the selected video_out (-vo) device.


    Das File liegt aber definitiv in /usr/X11R6/lib. Was mache ich falsch? Wie sage ich es meinem mplayer?


    Viele Grüße,
    Jens

    vdr 1.4.7 sid von Tobi mit aktuellem sidux / TT-Budget & TT1.5 mit AVBoard 1.1

  • der gerade neu gebauter xine mit ebenfalls neu kompilierter xine-lib ist sich mit dem mplayer einig:

    Code
    jens@vdr:~/.xine$ xine -V xvmc /video/%Lara_Croft#3A_Tomb_Raider/2004-12-29.20.14.50.99.rec/001.vdr
    Dies ist xine (X11 gui) - Ein freier Video-Player v0.99.3.
    (c) 2000-2004 Das xine Team.
    XvMCWrapper: Could not load XvMC library "libXvMC.so.1". Failing
    libXvMC.so.1: cannot open shared object file: Datei oder Verzeichnis nicht gefunden


    aber ehrlich, ein ls -al /usr/X11R6/lib/*XvMC* gibt:


    Hat jemand einen Tipp für mich?
    Viele Grüße,
    Jens

    vdr 1.4.7 sid von Tobi mit aktuellem sidux / TT-Budget & TT1.5 mit AVBoard 1.1

  • Naja, einfach auf gut Glueck bei ner fehlenden Library nen Link auf ne andere Library zu setzen loest das Problem meistens nicht :)


    Die libXvMCNVIDIA.so.1.0.7174 ist der Hardware spezifische Teil bei XvMC, die libXvMC.so.1.0 der generische Teil. Das Problem bei Debian ist, dass die generische Library nicht als dynamische Library erstellt wird, sondern nur als statische (.a) zum direkten Linken. Ist in irgendeinem -dev Paket enthalten.


    Ich hab irgendwann Debian Debian sein lassen und mir die Xorg-Pakete von Ubuntu installiert, damit tut XvMC auch hier (allerdings nur bei xine, mplayer bricht ab).


    Matthias

  • Danke Matthias,


    bisher war das Umbenennen und umlinken immer eine aussichtreiche Vorgehensweise, das die Paketbauer sich wohl im allgemeinen nicht immer einig sind.


    Auf ubuntu möchte ich nicht umsteigen, zu sehr habe ich noch die vielen kaputten Pakete bei meinem Knoppix-ct-VDR in Erinnerung. Xorg soll ja im finalen sarge enthalten sein und sarge steht ja mal wieder kurz vor dem endgültigen Erscheinen. Dann probiere ich es lieber damit, als mir alles mit einer guten Prise Ubuntu-sid und "unkown"-Paketen zu versalzen.


    Vielen Danke,
    Jens

    vdr 1.4.7 sid von Tobi mit aktuellem sidux / TT-Budget & TT1.5 mit AVBoard 1.1

  • servus,
    habe einmal den xvmc-wrapper auf meinem gentoo-system installiert! und siehe da .. funktioniert mir xine sogar ganz gut, mplayer tuts nicht! habe mit einem xp2000+ und einer fx5200 bei mpeg2 hdtv 1920x1080 so um die 65%!
    wie kommt es eigentlich, das windows die nvidia-treiber unter windows diese funktionen nicht nutzen oder sind sie nur software-seitig, also z.b. vom videolan-client nicht implementiert!!
    die frage hat zwar nur bedingt was mit dem vdr zu tun, aber es interessiert mich trotzdem mal :)


    gruss
    andi

  • Zitat

    Original von Keef
    Ich hab irgendwann Debian Debian sein lassen und mir die Xorg-Pakete von Ubuntu installiert, damit tut XvMC auch hier (allerdings nur bei xine, mplayer bricht ab).


    Das scheint jetzt wirklich die aussichtreichste Lösung zu sein. Wie hast Du das gemacht? Kann man X.org von ubuntu (ist ja auf debian aufbauend mit kernel 2.6) halbwegs schmerzfrei zu einem debian-testing system mit ct-vdr-2.4.27 Kernel dazu tun, ohne dass die Pakete alle auseinanderfliegen? Würden die anderen Dinge wie KDE, gnome, openoffice, firefox etc. aus dem debian testing mit einem ubuntu-X.org harmonieren oder muss man komplett auf ubuntu umsteigen und dann die ct-vdr-Pakete anpassen, wie tobi letzte Nacht vorgeschlagen hat?


    Viele Grüße,
    Jens

    vdr 1.4.7 sid von Tobi mit aktuellem sidux / TT-Budget & TT1.5 mit AVBoard 1.1

  • Hi SATire,


    du mußt definitiv mplayer mit der libXvMCNVIDIA linken, sonst funktioniert das nicht. Die libXvMCW ist eine spezielle Wrapper-Bibliothek von XOrg, gegen die mplayer auch speziell gelinkt werden muß. Diese Wrapper-Bibliothek nutzt dann die libXvMC(NVIDIA|ATI|S3UniChrome), die in der Konfigurationsdatei angegeben wird. Dafür ist diese libXvMCW aber speziell gegen alle drei libXvMC(NVIDIA|ATI|S3UniChrome) gelinkt.
    Saug Dir die Quellen von mplayer von Christian Marillat von hier mit

    Code
    apt-src install mplayer


    Dann gehst Du in das Quellverzeichnis rein und baust den mplayer-custom mit

    Code
    dpkg-buildpackage -b -us -uc


    Es wird versucht den mplayer-custom mit XvMC support zu bauen. Stelle sicher, daß Du vorher das Paket nvidia-glx-dev installiert hast, dann sollte der mplayer-custom XvMC-Support bekommen. Achte darauf, das Du vorher alle seltsamen Links für die libXvMCW entfernst. Wenn beim configure folgende Zeile auftaucht:

    Code
    Checking for XvMC ... yes


    dann hat das build die libXvMCNVIDIA gefunden.

    VDR-User #985


    SW: Debian Sid, e-Tobi's VDR 1.6.0, vdr-sxfe mit VDPAU :strike1
    Plugins: devstatus, director, dvd, extb, femon, graphlcd, lastfm, mp3, mplayer, osdpip, osdteletext, premiereepg, skinenigmang, streamdev-server, sysinfo, text2skin, tvonscreen, vcd, vdrrip, webvideo, xineliboutput
    HW: Silverstone LC17, P5Q SE, C2D E7300, 1GB RAM, 500GB Platte, Hauppauge DVB-S rev1.6, TT 3200

    Einmal editiert, zuletzt von kleini ()

  • Zitat

    Original von SATire


    Das scheint jetzt wirklich die aussichtreichste Lösung zu sein. Wie hast Du das gemacht? Kann man X.org von ubuntu (ist ja auf debian aufbauend mit kernel 2.6) halbwegs schmerzfrei zu einem debian-testing system mit ct-vdr-2.4.27 Kernel dazu tun, ohne dass die Pakete alle auseinanderfliegen? Würden die anderen Dinge wie KDE, gnome, openoffice, firefox etc. aus dem debian testing mit einem ubuntu-X.org harmonieren oder muss man komplett auf ubuntu umsteigen und dann die ct-vdr-Pakete anpassen, wie tobi letzte Nacht vorgeschlagen hat?


    Wie das mit debian-testing aussieht weiss ich nicht, ich hab hier debian-unstable am Laufen. Ich hab einfach nur die ubuntu-sourcen in /etc/apt/sources.conf eingetragen und dann die relevanten X11 Sachen von Xorg installiert (da wird er wohl noch etwas mehr von ubuntu installieren um die Abhaengigkeiten aufzuloesen). Der Rest hat eigentlich normal funktioniert (fuer die init-skripte von ubuntu musste ich damals noch ein skript nachinstallieren, weiss nicht, ob das noch noetig ist, aber google findet das relativ schnell).
    Seitdem hab ich jetzt sowohl die ubuntu-sourcen und die debian-sourcen drinnen und es funktioniert alles ganz normal weiter. Bei updates gibt es allerdings bei nem phython-paket Ueberschneidungen, die ich aber einfach mit einem dpkg --force-overwrite -i $DEBFILE umgehe.


    Matthias

  • Scheint als ob es bei mir hingehauen hätt:


  • So, was heißt das jetzt wieder? Kann ich unter Linux nicht mal vernünftig irgendwelche HDTV aufnahmen ansehen?

  • Zitat

    Original von kleini
    Hi SATire,


    du mußt definitiv mplayer mit der libXvMCNVIDIA linken, sonst funktioniert das nicht.


    Ja, es geht! Vielen Dank!


    Ich habe also meinen Wrapper-Mist sowie die schrägen links gelöscht und in /etc/X11/XvMCConfig entsprechend libXvMCNVIDIA_dynamic.so.1
    eingegeben und den mplayer (nach einem kurzen update aus dem CVS) wie oben kompiliert.
    Mit

    Code
    ./mplayer -vo xvmc -vc ffmpeg12mc /video/.../001.vdr


    Spielt der mplayer dann ohne signifikante Änderung der CPU-Belastung! Das klappt bei den *.vdr und bei .mpg Dateien, nicht jedoch mit avi (lavc durch vdrrip).


    Jens

    vdr 1.4.7 sid von Tobi mit aktuellem sidux / TT-Budget & TT1.5 mit AVBoard 1.1

  • Zitat

    Original von SATire
    Spielt der mplayer dann ohne signifikante Änderung der CPU-Belastung! Das klappt bei den *.vdr und bei .mpg Dateien, nicht jedoch mit avi (lavc durch vdrrip).


    Das kann definitiv auch nur mit MPEG1 oder MPEG2 codierten Videoinformationen funktionieren, denn Du brauchst immer einen speziellen Dekodierer für die Videoinformationen, der XvMC nutzt. Und das ist im Moment mal nur ffmpeg, der MPEG1 und MPEG2 über XvMC unterstützt. IIRC bringt bei anderen Codecs die Hardwareunterstützung wohl auch nicht so viel, da die in Hardware realisierten Funktionen speziell die von MPEG1 und MPEG2 sind. Aber das ist nur meine persönliche Vermutung.

    VDR-User #985


    SW: Debian Sid, e-Tobi's VDR 1.6.0, vdr-sxfe mit VDPAU :strike1
    Plugins: devstatus, director, dvd, extb, femon, graphlcd, lastfm, mp3, mplayer, osdpip, osdteletext, premiereepg, skinenigmang, streamdev-server, sysinfo, text2skin, tvonscreen, vcd, vdrrip, webvideo, xineliboutput
    HW: Silverstone LC17, P5Q SE, C2D E7300, 1GB RAM, 500GB Platte, Hauppauge DVB-S rev1.6, TT 3200


  • Wenn dus jetzt geschafft hast, könntest du dann bitte ein howto schreiben? Gibt nämlich noch ein paar User hier die gerne HDTV schauen würden.

  • Zitat

    Original von SyncMaster
    Wenn dus jetzt geschafft hast, könntest du dann bitte ein howto schreiben? Gibt nämlich noch ein paar User hier die gerne HDTV schauen würden.


    Naja, eigentlich steht ja alles hier: Hol' Dir die nvidia Treiber und
    installiers nach deren Anleitung. Hol Dir die nvidia-glx-dev, link Dir die libXvMCNVIDIA_dynamic.so.1 -> libXvMCNVIDIA.so.1.0.7174 und compiliere Dir den mplayer neu z.B. mit meiner configure-Zeile von oben und starte den mplayer wie oben angegeben.


    So richtig wiederholbar klappt HDTV bei mir noch nicht, deswegen wäre ein HowTo von mir voreilig. Gerade hat es mir den ganzen vdrdevel abgeschossen und ein Neustart war nötig. Aber zumindest konnte ich mal ein bischen HDPro7 flüssig mit mplayer sehen ...


    Vielleicht versuche ich mich morgen mal mit einem eigenen Kompilat von Tobis xine, wahrscheinlich klappt das besser und lässt den vdr in Frieden. Das wäre dann auch eher ein HowTo wert.


    Viel Spaß,
    Jens


    edit: xine klappt nicht, der besteht noch auf dem wrapper, was aus bekannten Gründen nicht mit XFree geht... :(

    vdr 1.4.7 sid von Tobi mit aktuellem sidux / TT-Budget & TT1.5 mit AVBoard 1.1

    Einmal editiert, zuletzt von SATire ()

  • Ich möchte zum vorläufigen Ende meiner HDTV-Bemühungen hier ein Fazit zusammenfassen:


    Das gute: Es geht. Ich kann mit einem Athlon XP (Barton 2600, heruntergetaktet wegen leise auf 120 FSB, also etwa XP 1900) und der integrierten Graphik (IGP) des nforce2 mit mplayer Dank XvMC ruckelfrei HDTV-Aufnahmen sehen. Das System ist bei 20-40 % idle, während der vdr noch was anderes macht (aufnehmen und normales wiedergeben halt...).


    Das schlechte: Die Bildqualität ist sehr schlecht. Ich habe kein HDTV-taugliches Display und sehe daher auf einem 1280*1024 LCD. Das Problem sind starke interlacing-Artefakte vor allem bei züguigen Bewegungen und großen vertikalen Kontrasten. Ich habe die beim mplayer zur Verfügung stehenden pp=xx_filter allesamt ausprobiert: Kein Unterschied, ebenso sind auch die normalen .vdr-Aufnahmen hin und wieder verstreift. Auch sonst sehe ich jetzt keinen optischen Vorteil gegenüber dem normalen Fernsehbild (OK, zugegeben, ich habe den Fernseher auch am RGB-Ausgang vom AVBoard an der TT1.5 ;D). Lösungsvorschläge dazu wären aber sicherlich einen neuen Thread wert.


    Da ein gutes Bild ja der Grund für den ganzen Aufwand ist, werde ich mich zunächst nicht daran versuchen, xine mit xvmc auf meinem debian-testing ans laufen zu bekommen. Da xine auf dem wrapper besteht und debian wie oben beschrieben dann nicht mitspielt, läuft es auf einen mitellgroßen Eingriff in das Debian hinaus. Das verschiebe ich mal auf so etwa Herbst, in der dunklen Jahreszeit habe ich dann vielleicht Lust, mit dem VDR auf ubuntu umzuziehen...


    Also dann, viel Spaß mit dem testweise flüsig HDTV abspielenden mplayer mit XvMC auf dem nforce2 IGP!


    Viele Grüße,
    Jens

    vdr 1.4.7 sid von Tobi mit aktuellem sidux / TT-Budget & TT1.5 mit AVBoard 1.1

  • Hi,


    Zitat

    Original von SATire
    ...
    Da xine auf dem wrapper besteht und debian wie oben beschrieben dann nicht mitspielt, läuft es auf einen mitellgroßen Eingriff in das Debian hinaus...


    Schon mal die xine-lib mit "./autogen.sh --with-xvmc-lib=XvMCNVIDIA" probiert ?


    Compilieren tut's hier, laden tut er xvmc auch, nur beim xine vdr-start semmelt xine ab;
    allerdings reicht hier auch der xv-treiber mit der GF6600 bei ca. 50% Last

  • Zitat

    Original von egal
    Schon mal die xine-lib mit "./autogen.sh --with-xvmc-lib=XvMCNVIDIA" probiert

    Ja, kompilieren tut er ja mit dem wrapper, aber die generische debian-lib fehlt doch (siehe oben) und deswegen startet xine nicht damit.

    vdr 1.4.7 sid von Tobi mit aktuellem sidux / TT-Budget & TT1.5 mit AVBoard 1.1

  • Hi,


    Zitat

    Original von SATire

    Ja, kompilieren tut er ja mit dem wrapper, aber die generische debian-lib fehlt doch (siehe oben) und deswegen startet xine nicht damit.


    Ohne Wrapper ;)
    eben mit der Direktangabe --with-xvmc-lib=XvMCNVIDIA

Jetzt mitmachen!

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