mplayer cpu load

  • Hallo,
    wieviel cpu-zeit belegt bei euch der mplayer beim dekodieren und anzeigen eines mpeg2-streams (gepipt von dvbstream oder von festpladde, egal)? Bei mir auf nem P4 2,4GHz unter Linux 2.6.3 immer über 80%, das finde ich ein bißchen viel! Oder ist das normal? Gehts nur besser mit ner non-budget-karte mit hardware-dekoder?


    grüße
    Johannes

  • ne ich habe einen aus nem debian binary package (für x686 optimiert). hmm könnte mir mal nen eigenen kompilieren, der aus der distri scheint auch noch mit gcc 2.x kompiliert worden zu sein.
    also trotzdem würde mich mal interessieren wie die belastung bei euch so ist (im verhältnis zur leistung des prozessors/systems).


    grüße
    Johannes

  • Ich bekomm an die 2-4 % CPU Last durch Mplayer:




    Und hier noch eine DIVX File.


    ~ 25 - 40%


    Gruss, Christian

  • hmm dann liegt es wohl doch an der ausgabe, also xv... hab mal die pure decoding-geschwindigkeit mit mpeg2dec ermittelt:


    joe@thunderbird:~$ mpeg2dec -o null stream.mpv
    mpeg2dec-0.4.0 - by Michel Lespinasse <walken@zoy.org> and Aaron Holtzman
    1049 frames in 4.48 sec (234.15 fps), 120 last 0.50 sec (240.00 fps)
    1128 frames decoded in 4.82 seconds (234.02 fps)


    also kostet das nur 1/10 cpu zeit... wieso ist xv so langsam? benutze eine sis 650 grafikkarte im asus pundit. het wer ne idee?


    grüße
    Johannes

  • oki hab das problem gefunden:


    http://www.winischhofer.net/linuxsis630.shtml#faq


    Xv is terribly slow and takes 30% CPU time or more. What's wrong?

    As of 06/05/2003, there is a confirmed bug in the SuSE 8.2 XFree 4.3 packages and probably in XFree 4.3 packages of some other distributions as well. I know of at least Debian's 4.3.0pre1v1 containing this bug, too. This is no SiS driver bug and there is no real workaround available. However, on some systems, especially Athlon based ones, it helps setting the option XvUseMemcpy to false. Later versions of XFree86 will hopefully fix this problem rendering this option unneccessary. (Technical explanation: There is a problem with memory access in these versions of XFree86, rendering memcpy-operations to video RAM extremely slow. SiS hardware is not the only one affected, there were numerous complaints from users of other hardware, too. This bug is also known as the "O_SYNC bug". If you want to know more, search the archive of the xdevel mailing list for a thread named "Athlon related mystery".)


    hab auf xserver-xfree86 4.3.0-5 aus unstable upgedatet, jetzt habe ich 15-20% cpu load :) eine schwierige geburt...


    Johannes

  • Also wenn ich ein AVI File abspiele, daß mp3 Audio und mpeg2 Video enthält (von einer SVCD gerippt), ist bei mir die CPU etwa 30% ausgelastet. Ich gebe über eine DVB-T Karte wieder und meine CPU ist von VIA mit 600Mhz.

  • In diesem Thread wurden mal wieder Äpfel mit Birnen verglichen:
    Ausgabe über Xv und Ausgabe über DVB-Karte.


    Die kann man nicht direkt vergleichen und deshalb muß man immer gucken, in welchem Kontext eine Leistungsmessung stattfindet.
    Zum Beispiel braucht das Abspielen eines MPEGs über DVB-Karte viel weniger CPU als über Xv, dafür braucht ein DIVX über Xv viel weniger CPU als über DVB-Karte. Ich kann dir aber auch MPEGs zeigen, die mehr CPU-Kraft brauchen, wenn man die über eine DVB-Karte abspielen will, als über Xv...


    Es hängt immer davon ab, was man wie und worüber ausgibt. Aber in diesen Foren liest ja niemand richtig...


    Gruß,
    Juri

  • Video: Avi Datei MP3 Audio, Divx5 Video 320x200 Pixel 1500kbps, CPU 600Mhz, AO=oss VO=mpegpes


    Auch bei ruckeln selbst kleinste AVI Files, seit ich Audio über die Soundkarte ausgebe, geht wenigstens der Ton. Aber das Bild ruckelt total, mit etwa 1 Bild/sec. Die CPU ist voll ausgelastet.


    Selbst ohne Bild (VO=null) ist die CPU voll ausgelastet. Top zeigt mir an, daß 90-92% auf den mplayer gehen. DMA ist an, Festplatte und CD macht keinen Unterschied.


    Habe keine BIOS Einstellung gefunden, die mir hilft.


    Videos im MPEG Format spielt er problemlos ab.


    Woran könnte es noch liegen?

  • Wahrscheinlich ist deine CPU zu schwach, um AVIs erst zu decodieren und dann in Echtzeit in MPEG1 zu encodieren. (MPGs werden meistens direkt an die Karte durchgereicht und verursachen so keine nennenswerte Last).
    Ändert sich denn was an der Auslastung, wenn du als Audio-Ausgabe die DVB-Karte benutzt (also ao=mpegpes)?
    Hast du in der mplayer.sh.conf SLOW_CPU=true? Wenn nicht, macht es einen Unterschied?


    Gruß,
    Juri

  • sowohl slow-cpu als auch Audio über die mpeg Karte machen keinen sichtbaren Unterschied. Die CPU bleibt immer noch 100% ausgelastet. Ich bekomme die Last nur unter 100%, wenn ich dies alles ändere:


    Video Output: null (es ist kein x-windows drauf, sonst würde ich das probieren)
    Kein expand, kein scale


    Ich vermute das problem aber ganz woanders, denn ich halte die CPU Last einfach zu hoch. Selbst mit der Option -sws 4 ist die CPU Last bei 90% und ich kann daher nur AVI's mit ganz kleinen Auflösungen abspielen.

  • Eine VIA-CPU mit 600MHz ist IMHO way-to-slow um DIVX in Echtzeit in MPEG1 zu reencodieren. Allerdings gibt es noch die Möglichkeit, daß dein MPlayer ohne Floatingpoint-Optimierungen (also ohne MMX, SSE, 3DNow) kompilert wurde.
    Was sagt denn
    mplayer |head -n6


    Gruß.
    Juri

  • Mplayer sagt:
    CPU: IDT/Centaur/VIA C3 Samuel 2 ... 601.6 Mhz Family 6 Stepping 3
    Detected cache-line size is 32 bytes
    CPUflags: MMX:1 MMX2:0 3DNow:1 3DNow2:0 SSE:0 SSE2:0


    Ich habe gerade mal mplayer so gestartet, um ihn zu entlasten:


    mplayer -sws 4 -ao oss -vo mpegpes -vop lavc,scale=384:288 film.avi


    Es ruckelt immer noch wie Sau. Interessant ist, daß die CPU Last immer noch 100% ist, nun baer etwa 45% durch mplayer und 50% durch vdr.


    Bisher hatte mplayer immer 90-95% und vdr erschien gar nicht in der Ausgabe von "top". Nun frage ich mich ernsthaft: Warum zum Henker braucht vdr jetzt plötzlich 50% CPU? Und warum nur, während mplayer läuft und sonst nicht?

  • Also egal welche Optionen ich nun verwende und welche Auflösung mein AVI File hat, meine CPU ist nun während der Wiedergabe immer ca 50% durch mplayer und 50% durch vdr belegt. Ich verstehe nicht, warum vdr die CPU belastet. Es läuft keine Aufnahme und ich habe (zumindest nicht bewusst) kein Plugin gestartet.


    Spielt es eine Rolle, daß ich hier noch keinen DVB Empfang habe und das Gerät derzeit nur als Medien-Player verwende?

  • Original von s.frings

    Zitat

    Spielt es eine Rolle, daß ich hier noch keinen DVB Empfang habe und das Gerät derzeit nur als Medien-Player verwende?


    Möglicherweise. Halte doch mal den VDR an und starte MPlayer direkt.


    Ansonsten fehlt leider bei deiner MPlayer-Ausgabe die nächste Zeile (also die nach CPUflags:...). Bitte poste diese nochmal (also einfach mplayer|head -n7 oder einfach nur mplayer aufrufen).


    Gruß,
    Juri

  • Die nächsten 2 Zeilen lauten
    Compiled with Runtime CPU detection - WARNING - this is not optimal!
    To get best performance, recompile ...
    Dann meldet mplayer, wlche config Files er verwendet.


    Es scheint, daß die Kombination der ganzen Aufgaben von mplayer mit einer 600Mhz CPU unmöglich sind:


    - DivX decodieren
    - Video vergrößern/verkleinern
    - Video (und je nach Konfiguration auch audio) in mpeg umwandeln


    Ich werde wohl damit leben müssen. Ich probiere mal, ob ich meine DivX Videos in brauchbarer Qualität ins mpeg Format konvertieren kann. Amsonsten werde ich sie vorläufig weiterhin auf meiner XBOX abspielen müssen, die hat damit nämlich kein Problem.

  • Original von s.frings

    Zitat

    Die nächsten 2 Zeilen lauten
    Compiled with Runtime CPU detection - WARNING - this is not optimal!
    To get best performance, recompile ...


    ... na ja, kannst du ja noch mal probieren, bevor du deine Kollektion in MPEG konvertierst.



    Zitat

    Es scheint, daß die Kombination der ganzen Aufgaben von mplayer mit einer 600Mhz CPU unmöglich sind:


    - DivX decodieren
    - Video vergrößern/verkleinern
    - Video (und je nach Konfiguration auch audio) in mpeg umwandeln


    Yep. Vor allem das Encodieren in MPEG1 ist das Problem. Wenn der Schritt wegfallen könnte, würde das wohl auch deine CPU schaffen.



    Zitat

    Ich werde wohl damit leben müssen. Ich probiere mal, ob ich meine DivX Videos in brauchbarer Qualität ins mpeg Format konvertieren kann. Amsonsten werde ich sie vorläufig weiterhin auf meiner XBOX abspielen müssen, die hat damit nämlich kein Problem.


    Weil die XBOX ja auch nicht in MPEG1 umwandeln muß, sondern direkt über die GraKa ausgibt.
    Eine weitere Möglichkeit könnte auch noch das softdevice-Plugin sein - ich habe aber keine Erfahrung damit. Dann wären die Verhältnisse wie bei der XBOX - theoretisch.


    Gruß,
    Juri

Jetzt mitmachen!

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