Comment bien utiliser MPlayer ?

Posté par  . Modéré par kalahann.
Étiquettes :
0
14
mar.
2003
Audiovisuel
Arpad Gereoffy, le créateur de MPlayer, nous gratifie sur Freshmeat d'un petit tutoriel pour mieux utiliser MPlayer.

Au passage, il en profite pour donner ses préconisations en ce qui concerne les différents jeux de pilotes, et on apprend ainsi que le pire ennemi de la vidéo sous Linux est... OSS ! Il conseille aussi sur le matériel à avoir, notamment les cartes graphiques. Pour résumer l'article dans les grandes lignes:

- Utiliser ALSA (ça tombe bien la version stable vient de sortir), et pas OSS. L'explication est assez hallucinante, et personnellement je ne la connaissais pas, croyant que seul le full-duplex faisait la différence, mais, apparament, la plupart des modules OSS du noyau par défaut ne renvoient pas les informations correctes sur l'état du tampon, etc. Donc, pour ceux qui utilisent des distributions sans ALSA, on en a la confirmation: ces distributions là n'ont absolument aucune envie d'être un minimum multimédia, chapeau rouge en tete (Féliciano ? oui je sais, freshrpms est là)

- Pour la vidéo, en gros il conseille de laisser tomber les extensions classiques nécessaires pour la vidéo (Xv, typiquement), qui sont pas terribles, et, quand c'est possible (cartes ATI et Matrox), d'utiliser VIDIX (pour les cartes NVidia, il semble que Xv soit correct, et pour les autres, ben vaut mieux pas en avoir...)

- Enfin plein de petits conseils, concernant les filtres (désentrelaçage, ...), la synchro Audio-Vidéo (le fameux echo 1024 > /proc/sys/dev/rtc/max-user-freq avec un kernel un peu récent), le Direct Rendering, etc.

NB: si vous pouvez lire l'anglais, c'est mieux, mon résumé est assez court ;-))

Aller plus loin

  • # Re: Comment bien utiliser MPlayer ?

    Posté par  (site web personnel) . Évalué à 10.

    Si j'utilise le rtc chez moi (/proc/sys/dev/rtc/max-user-freq), le mplayer me consomme 20 à 25 % de CPU tandis que sans, il me consomme à peine 1%. Donc je ne vois pas l'interet d'utiliser ce genre de chose, surtout que la méthode avec usleep marche bien chez moi. De plus je ne pense pas que cela puisse arranger les choses pour un petit processeur, le décalage video/son sera encore plus important étant donné la consommation de cpu fait pas le rtc.
    • [^] # Re: Comment bien utiliser MPlayer ?

      Posté par  (site web personnel) . Évalué à 10.

      N'exagererai tu pas un tant soit peu ?
      Parce que je veux bien que mplayer soit vraiment super top rapide mais 1% du cpu, c peu qd meme pour decoder un divx :) M'enfin je connais pas ton architecture non plus.
      Par contre, si tu passes de 1% à 25% en changeant /proc/sys/dev/rtc/max-user-freq c'est pas normal. Chez moi, ca augmente d'env. 3%.
      • [^] # Re: Comment bien utiliser MPlayer ?

        Posté par  . Évalué à 7.

        Le noyau 2.6 devrait règler en partie le pb avec son HZ=1000.
        • [^] # Re: Comment bien utiliser MPlayer ?

          Posté par  (site web personnel) . Évalué à 7.

          Ouaip mais c'est surtout son scheduler qui prends en compte les applications "interractives" qui devrait faire aussi la différence ou pourquoi XFree qui est nicé à -10 pour de meilleurs temps de réponse provoque des saut dans xmms si on bouge trop des fénètres, et pourquoi cela sera inutile sur le 2.6.

          "La première sécurité est la liberté"

          • [^] # Re: Comment bien utiliser MPlayer ?

            Posté par  . Évalué à 5.

            c'est clair.
            un des dev de xine (Miguel Freitas) a bossé avec Ingo Molar (dev du scheduler) pour identifier les pb lié au nouveau scheduler
          • [^] # Re: Comment bien utiliser MPlayer ?

            Posté par  (site web personnel) . Évalué à 1.

            > Ouaip mais c'est surtout son scheduler qui prends en compte les applications "interractives" qui devrait faire aussi la différence ou pourquoi XFree qui est nicé à -10 pour de meilleurs temps de réponse provoque des saut dans xmms si on bouge trop des fénètres, et pourquoi cela sera inutile sur le 2.6.


            Ou pourquoi ça fait 10 ans que BeOS n'a pas ce problème :)
            • [^] # Re: Comment bien utiliser MPlayer ?

              Posté par  . Évalué à 10.

              > ou pourquoi XFree qui est nicé à -10

              A ma connaissance, il n'y a que la redhat 8.0 qui a X nicé à -10 (c'est le noyau qui le fait). Mais c'est une connerie et redhat le reconnait. La prochaine 8.1 n'aura pas cette "feature".
            • [^] # Re: Comment bien utiliser MPlayer ?

              Posté par  . Évalué à 2.

              Ou pourquoi ça fait 10 ans que BeOS n'a pas ce problème :)

              Dans mes bras :)

              (à propos, tes tests de Zeta ca donne quoi?)
            • [^] # Re: Comment bien utiliser MPlayer ?

              Posté par  . Évalué à 8.

              > Ou pourquoi ça fait 10 ans que BeOS n'a pas ce problème :)

              Faut recadrer le contexte. Linux est un OS a usage général mais néanmoins plustot orienté serveur station de travail.

              Linux peut parfaitement faire ça sans problème en utilisant une peu de temps réel. Mais il y a des problèmes si ça peut être utilisé de façon agressive par n'importe quelle appli utilisateur. Si n'importe quelle appli peut-être locké en mémoire vive il y a de gros risque en environnement serveur. Bref, autoriser du temps réel pour n'importe quelle applis doit être géré avec beaucoup de finesse.

              Prendre rtlinux et ajouter un module lecteur mp3 est une assez mauvaise idée même si pour écouter de la musique, ca marche parfaitement.

              Si mois sous Linux j'ai pas de problème pour lire du mp3 avec xmms et depuis très longtemps. Par contre la présence ou non de ce problème dépend beaucoup de la taille du buffer de la carte audio.
          • [^] # Re: Comment bien utiliser MPlayer ?

            Posté par  . Évalué à 1.

            cela sera inutile sur le 2.6

            Malheureusement non, du moins c'est encore le cas avec un 2.5 récent : j'observe encore des sauts dans xmms en changeant de bureau sous enlightenment par exemple. La solution c'est plutot de renicer xmms...
            • [^] # Re: Comment bien utiliser MPlayer ?

              Posté par  (site web personnel) . Évalué à 2.

              Tu a koi comme processeur ? Paske je peux compiler un prog, regarder une video et ecouter xmms et j'ai pas de sauts de son... J'ai pas une bete de course(Atlon 1Ghz) et je n'avais pas non plus de probleme avec mon celeron 500 Mhz.

              Use E16, best Window Manager on earth!
              • [^] # Re: Comment bien utiliser MPlayer ?

                Posté par  . Évalué à 3.

                Tu a koi comme processeur ? Paske je peux compiler un prog, regarder une video et ecouter xmms et j'ai pas de sauts de son... J'ai pas une bete de course(Atlon 1Ghz) et je n'avais pas non plus de probleme avec mon celeron 500 Mhz.

                Un P4 2.5GHz. Mais le problème vient surtout sous debian du fait que Xfree est en nice -10 et xmms en 0. En changeant quelque peu les priorités, le problème est réglé.

                Use E16, best Window Manager on earth!

                Oui, enfin il serait temps qu'il évolue un peu, là... :)
                • [^] # Re: Comment bien utiliser MPlayer ?

                  Posté par  . Évalué à 3.

                  Oui, enfin il serait temps qu'il évolue un peu, là... :)

                  Encore un peu de patience, la version de Evas (l'environement de dev./rendu) est en 1.0pre5. La sortie de E17 est don proche, encore deux ou trois decénnies et c'est bon ;)

                  A+
                • [^] # Re: Comment bien utiliser MPlayer ?

                  Posté par  . Évalué à 0.

                  Hum, et comment qu'on fait pour changer les priorités sous Debian ? J'avoue avoir la flemme de chercher dans les docs... M'enfin si personne me répond, j'irai y jeter un oeil ^^
            • [^] # Re: Comment bien utiliser MPlayer ?

              Posté par  . Évalué à 4.

              Bizarre, pour le son j'ai aucun problème même sous forte charge (trois compiles en même temps par exemple).

              Tu as peut-être un buffer audio très faible.
          • [^] # Re: Comment bien utiliser MPlayer ?

            Posté par  . Évalué à 9.

            Regarde si tu peux augmenter la taille des buffers. par exemple pour ens1371 :
            http://www.alsa-project.org/alsa-doc/alsa-howto/x934.htm(...)
        • [^] # Re: Comment bien utiliser MPlayer ?

          Posté par  . Évalué à 7.

          Ça ne va pas changer grand chose. Par exemple une RH8.0 est livré avec HZ=512.
          Le max-user-freq n'est pas lié au scheduler. C'est pour l'utilisation de l'horloge du PC.
    • [^] # Re: Comment bien utiliser MPlayer ?

      Posté par  . Évalué à 10.

      ca peut etre faux
      j'avais un decodeur mp3 qui prenait rien sur ma machine,
      d'apres ps, ce qui etait faux
      j'avais a l'epoque envoye un mail a la mail-list de linux,
      qqn m'avait envoye un patch, et la toutes les stats
      etaient fausses mais dans l'autre sens, tout consommait
      + que prevu
      j'utilisais usleep dans mon appli

      ca peut etre ca

      pour vraiment savoir combien de cpu te prend le decodeur,
      faut le lancer sans sortir le son en real-time, et comme ca tu
      sais les vraies stats.
      ex : 1 minute de son decodee en 1s => 1/60 du temps cpu
      utilise par le decodeur

      ca doit etre du au usleep qui rend la main au noyau avant
      la fin des 1/100s alloue au process (supposons une horloge
      a 100Hz), faire des stats la-dessus c'est bordelique :)

      my 2 cents
    • [^] # Re: Comment bien utiliser MPlayer ?

      Posté par  . Évalué à 10.

      > le mplayer me consomme 20 à 25 % de CPU tandis que sans, il me consomme à peine 1%.

      Faut ce méfier des valeurs fournies par top/ps. Avec un 2.4.15, j'avais 2 % de consommation de cpu pour un affichage d'un vidéo en 1024x768.
      Suis en 2.4.18 et maintenant j'ai autour de 35 %. Le 2.4.15 se plantait dans son estimation.
  • # Re: Comment bien utiliser MPlayer ?

    Posté par  (site web personnel) . Évalué à 6.

    En tout cas, le Xv sur un chipset SiS 630, ça mouline bien agréablement, pour peu que l'on aille récupérer le driver chez le mainteneur au lieu de se contenter de la version fournie dans XFree 4.1 et 4.2 (pour 4.3, ça a l'air d'être bon, même s'il a déjà sorti de nouvelles versions).
  • # Re: Comment bien utiliser MPlayer ?

    Posté par  . Évalué à 10.

    Pour le cas d'OSS, je confirme que pas mal de drivers posent problème.
    Et effectivement, il y en a qui faisaient planter le kernel.
    C'est pour ça que xine possède 4 ou 5 méthodes de synchronisation pour OSS, et une seule qui marche pour ALSA.

    Pour le direct rendering, je ne vois pas trop en quoi c'est top, les accès en RAM video sont lents, d'ailleurs il l'avoue à moitié. Si les drivers Xv savaient copier vers la RAM de la carte graphique en utilisant le controleur DMA, ça serait à mon avi mieux.
    • [^] # Re: Comment bien utiliser MPlayer ?

      Posté par  . Évalué à 5.

      ça serait à mon avi mieux

      Héhé, voilà un faute bien à propos :)
    • [^] # Re: Comment bien utiliser MPlayer ?

      Posté par  . Évalué à 6.

      Chuis pas très calé (pas du tout même) sur les pilotes de son, mais est-ce qu'on peut avoir OSS et ALSA en même temps sur une machine. Est-ce que c'est possible d'utiliser OSS pour les appli qui s'en servent , et installer ALSA pour permettre à MPlayer de fonctionner au mieux, où ça va créer des conflits ?
      Et qu'elles sont les différences majeures entre les deux ?

      merci d'avance !
      • [^] # Re: Comment bien utiliser MPlayer ?

        Posté par  . Évalué à 10.

        Bah, ça ne sert à rien d'installer alsa ET oss (au contraire, il faut juste activer le support du son dans le noyau mais ne choisir aucun driver) car tu peux faire une émulation de l'api oss avec alsa (cf doc de alsa). Comme ça les rares applications qui ne supportent pas encore alsa ne poseront pas de problème.
        • [^] # Re: Comment bien utiliser MPlayer ?

          Posté par  . Évalué à 3.

          Non c'est parfois encore pire d'utiliser l'emulation OSS de ALSA plutot que directement OSS ou -encore mieux- directement ALSA.

          A noter que comme dans le temps avec les Sound Blaster, les bonnes petites cartes son a base de chipset emu10k1 n'ont pas de probleme majeur, ni avec OSS, ni avec ALSA.
          • [^] # Re: Comment bien utiliser MPlayer ?

            Posté par  . Évalué à 2.

            C'est vrai que personnellement je n'ai jamais eu de problème de stabilité ni avec ALSA, ni avec OSS. J'ai une Sound Blaster 128 et le seul petit problème avec OSS est que je ne pouvais pas avoir le full duplex. Autrement un autre avantage d'ALSA est son support d'un grand nombre de carte son. Par exemple pour une ALS100 (ISA), elle n'a pas de driver OSS.
      • [^] # Re: Comment bien utiliser MPlayer ?

        Posté par  . Évalué à 10.

        > mais est-ce qu'on peut avoir OSS et ALSA en même temps sur une machine.
        Oui mais ça n'a pratiquement aucun interêt.

        Pour utiliser l'émulation alsa il faut dans /etc/modules.conf
        alias sound-service-0-0 snd-mixer-oss
        alias sound-service-0-1 snd-seq-oss
        alias sound-service-0-3 snd-pcm-oss
        alias sound-service-0-8 snd-seq-oss
        alias sound-service-0-12 snd-pcm-oss

        Par contre, on ne peut pas charger le driver OSS et Alsa de la carte en même temps. C'est soit l'un soit l'autre. Les modules (/lib/modules/2.4.20) peuvent cohabiter.
    • [^] # Re: Comment bien utiliser MPlayer ?

      Posté par  . Évalué à 5.

      Si j'ai bien compris, le direct rendering permet de faire le rendu directement en RAM vidéo plutôt qu'en RAM "normale". Cela évite d'avoir à faire une copie de la RAM normale vers la vidéo. En fait, le vrai gain serait plutôt que cela permet de ne rafraîchir que ce qui a changé dans l'image, alors que la méthode normale copie toute l'image vers la RAM vidéo, même si rien n'a changé. Ainsi, on obtient un gain de la bande passante mémoire utilisée, et on peut avoir de meilleures performances (notables sur vieilles machines).

      Dans le même genre, mplayer propose un filtre "crop" qui permet d'enlever les bandes noires des films qui ont été codés avec (baaah). Cela permet d'économiser encore un peu de bande passante, au lieu de la gâcher pour envoyer des bandes noires.

      Je ferai des petits tests la semaine prochaine sur mon K6, et je mettrai les résultats en réponse à ce message, si cette nouvelle n'a pas disparu de la boîte "others".
  • # FAQ : ARTS et réglage du son

    Posté par  . Évalué à 1.

    Bon, je sais que c'est l'endroit pour ça mais bon ... quand j'utilise Mplayer sous KDE avec -ao arts ben je ne peux plus régler le volume depuis Mplayer (l'OSD reste au minimun).

    Pour que ça marche bien il faut arrêter arts et passer par OSS par exemple côté Mplayer. J'ai regardé la FAQ, rien, dans ce dossier rien non plus ... une idée ?
    • [^] # Re: FAQ : ARTS et réglage du son

      Posté par  (site web personnel) . Évalué à 2.

      Je ne veux pas troller (non serieux, je veux pas) mais j'aimerais comprendre l'interet d'arts parce qu'a part bloquer les ressources de la carte son, il est plutot chiant comme programme ...

      Steph
      • [^] # Re: FAQ : ARTS et réglage du son

        Posté par  . Évalué à 1.

        vive le "killall -9 artsd" ;)
        en plus il bouffe du cpu
      • [^] # Re: FAQ : ARTS et réglage du son

        Posté par  (site web personnel) . Évalué à 3.

        L'intérêt d'arts est tout simple, il permet de jouer plusieurs sons provenant de plusieurs sources différentes en même temps. Tu peux lancer 10 fois mplayer et lire un fichier son avec chacun d'eux en même temps. Sans serveur de son comme arts, ça n'est pas possible.
      • [^] # Re: FAQ : ARTS et réglage du son

        Posté par  . Évalué à 5.

        C'est quand même utile pour permettre des accès simultanés au son :
        - par des applis mal fichu (le plugin flash de macromédia par exemple, qui plantait si le device n'était pas disponible) ;
        - pour des cartes sons qui ne supportent pas assez de voix ;
        - pour des cartes dont les drivers sont encore buggués à ce niveau.

        Mais c'est vrai que dans une grande majorité des cas, on peut s'en passer. Or il me semble que kde l'active par défaut, ce qui n'est pas nécéssaire, voir nuisible.
      • [^] # Re: FAQ : ARTS et réglage du son

        Posté par  (site web personnel) . Évalué à 5.

        La centralisation de la gestion du son :
        - On peut jouer plein de truc en même temps même si la carte son le peut pas en natif,
        - Centralisation des plugins de lecture (mp3, ogg, mod,...) et donc tous les programmes passant par arts en profite,
        - Centralisation des effets (à la xmms) du genre remove voice, reverberation, amplification stereo,....
        - Enchainement des effets alors que xmms ne le peut pas,
        - Des effets super complexes via artsbuild mais ça manque de doc,
        ....

        L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire

      • [^] # Re: FAQ : ARTS et réglage du son

        Posté par  . Évalué à 4.

        Ce genre de serveur son (je ne parle pas specifiquement de arts, je ne le connais pas bien), permet par exemple de faire du "routing" de son dans le cas de carte multicanaux. On peut par exemple copier un flux stereo classique vers les voix arrieres. On peut en meme temps appliquer des effets au son. Par exemple envoyer la moyenne droite, gauche vers une voix centrale. On peut appliquer des filtres passe bas pour une sortie sub.
        En gros on fait en soft ce que certains DSP de carte son font (emu10k1 sur les live par exemple). L'avantage etant que du code soft de cpu central est beaucoup plus "flexible" que du code de DSP.
        Bon y'a des inconvenients aussi :). Ca prend du cpu. Ca peut entrainer de la latence (depend des objectifs du serveur de son).

        Bref dans l'ensemble ca peut etre tres pratique.
      • [^] # Re: FAQ : ARTS et réglage du son

        Posté par  (site web personnel) . Évalué à 5.

        Grâce à aRts, j'ai pu faire des trucs genre "voie de gauche du Vorbis + voie de droite du Vorbis / 2 -> haut-parleur de gauche". Hé ouais, mon haut-parleur de droite était afreusement niqué, alors ça m'a permis de tenir le coup en attendant de racheter une paire.

        Dans un autre genre, mais sur le même principe, j'ai pu comparer deux streams, un "basse qualité" sur le haut-parleur de gauche, et un "haute qualité" sur le haut-parleur de droite. C'était marrant, mais surtout parce que les deux streams étaient décalés de plusieurs secondes, ça faisait un super effet d'echo.

        Bien sûr, je pourrais aussi simuler des chambres d'échos et autres effets tordus, et les appliquer à n'importe quelle source sonore aRts. D'ailleurs, noatun ne fait rien d'autre que d'offrir un accès de haut niveau à ces fonctionnalités dans son menu d'effets sonores.
        • [^] # Re: FAQ : ARTS et réglage du son

          Posté par  . Évalué à 5.

          j'ai pu faire des trucs genre "voie de gauche du Vorbis + voie de droite du Vorbis / 2 -> haut-parleur de gauche".

          Tu aurais aussi pu faire le meme genre de chose avec les filtres audio de mplayer, un truc genre:
          mplayer machin_a_jouer -af channels=2:2:0:1:1:1
          (qui veut dire
          2-> 2 cannaux
          2 -> 2 routes
          0:1 -> premiere route, le canal 0 va dans l'enceinte 1
          1:1 -> deuxieme route le canal 1 va dans l'enceinte 1 (pas obligatoire a priori, mais c'est pour l'exemple))
          Autre exemple, pour rendre une vidéo mono en stéréo: -af channels=2:2:1:0:1:1
          • [^] # Re: FAQ : ARTS et réglage du son

            Posté par  (site web personnel) . Évalué à 3.

            Peut-être mais le faire dans arts fait que ça marche partout ou arts est utilisé.

            Tu utilises mplayer pour tes mp3/ogg ? Tu utilises mplayer pour les sons dans les jeux ? Tu utilises mplayer pour te prévenir d'un mesaage dans ton IM favori ?

            C'est là qu'on voit l'avantage d'un serveur de son

            L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire

      • [^] # Re: FAQ : ARTS et réglage du son

        Posté par  (site web personnel) . Évalué à 3.

        Ca permet aussi la transparence avec le réseau, et ça, ça rO><Or quand tu lances une application distante !!!
      • [^] # Re: FAQ : ARTS et réglage du son

        Posté par  . Évalué à 3.

        Quand tu imprimes, tu fais cat machin >/dev/lp0 ou tu utilises un démon lpd(cupsd ...) qui va mettre tout le monde d'accord plutôt quetout le monde se batte pour avoir accès à l'imprimante? Bon d'accord, uneseule personne en général va se servir de la sortie son, mais plusieurs programmes peuvent essayer d'y accéder.
    • [^] # Re: FAQ : ARTS et réglage du son

      Posté par  (site web personnel) . Évalué à 2.

      Acheter une deuxième carte son ;o)
      Quand je lance mplayer avec le driver arts, ça plante ce dernier.
      Comme j'ai deux cartes sons, une est dédiée à arts et l'autre pour les programme qui ne supportent pas arts.
  • # Re: Comment bien utiliser MPlayer ?

    Posté par  . Évalué à 0.

    Les histoires de meilleure synchronisation du son avec ALSA, c'est toujours valable si on utilise ESD par-dessus ?
    • [^] # Re: Comment bien utiliser MPlayer ?

      Posté par  (site web personnel) . Évalué à 9.

      Ca repond pas tout a fait, mais les interesses doivent savoir ce qu'ils disent.
      Donc, vu en banniere de xmms.org:
      "esound est a mettre a la poubelle. La seule chose qu'il ait pour lui c'est une bonne interface de programmation, pour narsiller a peu pres quand il faut. tout le reste lui passe au dessus."
      -- Alan Cox

      khorben

  • # Re: Comment bien utiliser MPlayer ?

    Posté par  . Évalué à -3.

    > Donc, pour ceux qui utilisent des distributions sans ALSA, on en a la confirmation: ces distributions là n'ont absolument aucune envie d'être un minimum multimédia, chapeau rouge en tete (Féliciano ? oui je sais, freshrpms est là)

    La chapeau rouge c'est pour les grands. C'est pas une gameboy.
    • [^] # Re: Comment bien utiliser MPlayer ?

      Posté par  . Évalué à 1.

      Petit mise au point. C'est pas la peine d'allumer mon commentaire. J'utilise alsa depuis Linux 2.0 et même sous RedHat. Merci.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.