5. Section FAQ

5.1 Compilation

 
  Q: Que signifie "No such file or directory" means ?
A: Probablement que le répertoire et/ou le fichier n'existe pas:-)
 
  Q: Quel est le problème avec gcc 2.96 ?
R: gcc 2.96 est un compilateur RedHat's NON OFFICIEL (il peut uniquement être trouvé sur les sites RedHat, ou dans leurs distributions) et BOGUE. gcc 2.96 n'est ABSOLUMENT PAS supporté par MPlayer, parce qu'il ignore purement et simplement le code MMX, il ne le compile pas. Important: ce n'est pas un problème spécifique à MPlayer, de nombreux autres projets (DRI, avifile, etc..) ont également ce type de problème.
** N'UTILISEZ PAS gcc 2.96 !!! **
 
Q: J'ai essayé de compiler MPlayer, mais j'ai eu ce message :

In file included from /usr/include/g++-v3/bits/std_cwchar.h:42,
                 from /usr/include/g++-v3/bits/fpos.h:40,
                 from /usr/include/g++-v3/bits/char_traits.h:40,
                 from /usr/include/g++-v3/bits/std_string.h:41,
                 from /usr/include/g++-v3/string:31,
                 from libwin32.h:36,
                 from DS_AudioDecoder.h:4,
                 from DS_AudioDec.cpp:5:
/usr/include/wchar.h: In function Long long int wcstoq(const wchar_t*,
   wchar_t**, int)':
/usr/include/wchar.h:514: cannot convert `const wchar_t* __restrict' to
`const
A: Mettez à jour votre glibc. Pour la Mandrake, utilisez 2.2.4-8mdk .
 
Q: ...gcc 2.96... (oui, "une certaine catégorie du personnel" continue de poser des questions sur gcc 2.96!!)
A:

Le problème est lié aux idegs (le mot 'ideg' est décrit plus loin dans la FAQ). Et notre compteur d'idegs n'arrête pas de monter !

Malheureusement MPlayer a perdu tout contrôle. Il est utilisé par des débutants sous GNU/Linux qui n'arrivent même pas à utiliser windoze, et n'ont même pas seulement essayé de compiler leur noyau . Il ont installé (avec les options par défaut) une Mandrake, RedHat ou Suse (NdT : je pense que la Mandrake est pas si mal pour les débutants, et leur équipe est sympa;-), et avant de RTFM il envoient des messages se plaignant que MPlayer ne fonctionne pas ! Au secours! please! je suis nouveau sous linux! help! oh! help me!'. Nous ne pouvons pas les arrêter, mais au moins nous pouvons les forcer à lire ce puta*n de manuel et à lire ces puta*ns de messages d'erreurs de ./configure et de mplayer.

Et les simili-hackers qui nous faites ch*er avec gcc 2.96 et les paquetages en binaires, faites plutôt des patches et aidez nous à résoudre les problèmes.

La moitié de notre temps libre, que nous consacrons à MPlayer est perdue pour répondre à ces mails et à reécrire et vérifier "configure" pour éviter ce genre de messages !

Et de plus vous ne faites pas de compromis. D'un côté vous, les intellos, nous critiquent parce que nous n'utilsons pas gcc 2.96, et d'un autre côté les newbies nous démontent parce que gcc 2.96 est bogué !

Conclusion : nous ne pouvaons rien faire. Une moitié des utilisateurs dira toujours que nous sommes en tort.

Peut-être devrions nous fermer le projet, fermer ses sources, en faire un produit commercial, et en assurer le support. Nous pourrions alors abandonner le travail en cours, le développement irait d'autant plus vite, nous en tirerions plein de fric, achèterions une grande maison, etc etc. C'est vraiment ce que vous voulez ? On dirait bien !

Arpi (extrait d'un mail sur la liste mplayer-users)

 
Q: La sortie SDL ne compile/fonctionne pas. Le problème est ....
R: Les tests sont réalisés avec la nouvelle SDL (fonctionnera probablement avec une 1.1.7+). Cela ne fonctionne pas avec 1.1.6, 1.1.5 1.1.4 1.1.3 1.0.4 etc, pas de rapport de bogue SVP.
 
Q: J'ai malgré tout des problèmes pour utiliser le support SDL. gcc me dit quelque chose comme "undefined reference to `SDL_EnableKeyRepeat'" Qu'est-ce que c'est ?
R: Ou avez vous installé les libs SDL ? Si ce n'est pas dans /usr/local (par defaut), éditez le fichier config.mak à la racine des sources MPlayer et ajoutez y "-L/usr/local/lib " après "X_LIBS=" Vous pouvez maintenant faire "make", et ça devrait passer.
 
Q: Il ne compile pas, ne trouvant pas uint64_t inttypes.h etc...
R: copiez etc/inttypes.h dans le répertoire MPlayer (cp etc/inttypes.h .) et essayez à nouveau...
 
Q: J'ai un Pentium III mais ./configure ne détecte pas les extensions SSE
R: Seuls les noyaux 2.4.x supportent SSE (vous pouvez essayer les derniers 2.2.19 ou plus récent, mais attendez vous a certains problèmes)
 
Q: J'ai une Matrox G200/G400, comment compiler/utiliser le driver mga_vid?
R: Lisez toute cette documentation :-)
 
Q: Existe t'il des paquetages rpm/deb/... de MPlayer?
R: Vous pouvez créer un paquetages .deb vous même, en lisant la section 6.1. Il reste formtement déconseillé d'utiliser des paquetages précompilés de MPlayer, puisqu'il est (actuellement) fortement dépendant des options et optimisations réalisées à la compilation ! Les paquetages précompilés ne sont absolument pas supportés par l'équipe de MPlayer !
 
Q: Pendant le 'make', MPlayer ne trouve pas les librairies X11. Je ne comprends pas, j'ai pourtant X d'installé.
R: ...mais vous n'avez pas/mal installé les paquetages de développement de X. Il se nomment XFree86-devel* sous RedHat, et xlib6g-dev* sous Debian. Vérifiez également que le lien symbolique /usr/X11 existe (problème possible sur les systèmes Mandrake). Il peut être crée avec la commande :
    $ ln -sf /usr/X11R6 /usr/X11
Vérifiez également le lien /usr/include/X11 :
    $ ln -sf /usr/X11R6/include/X11 /usr/include/X11
Votre distribution peut différer du Linux Filesystem Standard.
 
Q: Où sont les drivers DGA ? Je ne les trouve pas !!!
R: ./configure détecte automatiquement vos drivers DGA. Si l'option -vo helpn'affiche pas DGA, alors il y a un problème avec votre installation de X. Essayez ./configure --enable-dga (et RTFM) Par ailleurs, essayez les drivers SDL DGA avec l'option '-vo sdl:dga'.
 
Q: Je n'arrive pas a compiler SVGAlib..J'utilise un noyau 2.3/2.4.
R: Vous devez éditer le fichier Makefile.cfg de SVGAlib et dé-commenter "BACKGROUND = y".
 
Q: J'ai compilé MPlayer avec le support libcss/libdivxdecore,mais quand j'essaie de le lancer il affiche :
> error while loading shared libraries: libcss.so.0: cannot load shared object file: No such file or directory
J'ai vérifié le fichier et il se trouve bien dans /usr/local/lib !
R: Qu'est ce que vous faites sous GNU/Linux ? Ne savez vous pas installer une librarie ? pourquoi nous posez vous cette question ? Ce n'est absolument pas spécifique à MPlayer ! Ajoutez /usr/local/lib à /etc/ld.so.conf et exécutez ldconfig . Ou installez le dans /usr/lib , parce que si vous n'arrivez pas a résoudre le problème de /usr/local, vous devez être suffisamment imprudent pour faire ça.
 
5.2. Questions générales
 
Q: Qu'en est il de la lecture de DVD ?
R: Lisez la section CD/DVD.
 
Q: -xy ne fonctionne pas avec les drivers x11 (-vo x11)
R: Les drivers X11 ne supportent pas le redimensionnement, mais le support de XF86VidMode est maintenant utilisé : vous devez utiliser les options -vm et -fs, et cela devrait fonctionner. Vérifiez bien que vous avez des Modelines correctes dans votre fichier XF86Config, et vérifiez si le driver DGA (et le driver SDL:DGA, c.f. RTFM) fonctionne pour vous. C'est plus rapide. Si SDL:DGA fonctionne également, utilisez le, cela deviendra BEAUCOUP plus rapide!
 
Q: Que signifient ces nombres dans la ligne de status ?
R: c.f: A: 2.1 V: 2.2 A-V: -0.167 ct: 0.042 57 41% 0% 2.6% 0 4
  • A: position de l'audio en secondes
  • V: position de la vidéo en secondes
  • A-V: délai entre audio et vidéo en secondes
  • ct: somme des corrections de synchronisation A-V
  • frames lues (comptées depuis la dernière avance/retour rapide)
  • pourcentage d'utilisation CPU par le codec vidéo (inclut également video_out pour le mpeg !)
  • pourcentage d'utilisation CPU de video_out pour l'avi, 0 pour mpeg (voir ci-dessous)
  • pourcentage d'utilisation CPU du codec audio
  • frames retirées pour maintenir la synchronisation A-V
  • niveau courant de postprocessing sur les images (option -autoq)
La plupart d'entre eux sont destinés au déboguage, et seront retirés sous peu.
 
Q: comment faire pour qu'il n'affiche plus ces messages ?
R: Utilisez l'option -quiet et lisez les pages man.
 
Q: Pourquoi l'utilisation du CPU par video_out est elle de 0% pour les fichiers mpeg ?
R: L'utilisation n'est pas nulle, elle est intégrée au codec donc difficilement mesurable. Vous pouvez essayer de lire la vidéo avec l'option -vo null puis -vo ... et constater la différence pour déterminer l'utilisation que en est faite...
 
Q: Qu'est ce que XMMP? (une erreur d'écriture de XMMS ou XMPS ?)
R: C'est un nouveau projet, c.f. http://frozenproductions.com pour plus de détails
 
Q: Il y a des messages d'erreur sur les fichiers /usr/lib/win32/ introuvables...
R: Téléchargez et installez w32codec.zip depuis *notre* FTP (le paquetage de codecs avifile a un jeu de DLL différent)
 
Q: Existe il des listes de diffusion sur MPlayer?
R: Oui! Lisez le manuel pour savoir comment y souscrire !
 
Q: J'ai trouvé un bogue en essayant de lire ma vidéo !! Qui puis je en informer ?
R: c.f. Appendice C.
 
Q: J'ai des problèmes pour lire les fichiers avec le codec xyz. Puis je l'utiliser ?
R: Lisez http://www.mplayerhq.hu/DOCS/codecs-status.html, Si la liste ne contient pas votre codec, lisez la section 2.1.4, et contactez nous.
 
Q: Euh, c'est quoi l'"IdegCounter" ?
R: Un mélange de mots anglais et hongrois. En anglais, "Ideg" signifie "nervosité", et se prononce comme quelque chose du style "ydaegh" . Il a été utilisé en premier pour mesurer la nervosité d' A'rpi, après quelques invraisemblances "mystiques" dans le code CVS ;)
 
Q: Et le "Faszom(C)ounter" ?
R: "Fasz" est une mot hongrois qu'il ne vaut mieux pas connaître, relatif à la perversité d'esprit des développeurs de MPlayer :-)
 
Q: LIRC ne fonctionne pas, parce que ...
R: Êtes-vous sûr d'utiliser l'exécutable "mplayer_lirc" a la place de "mplayer"?
 
Q: Les sous-titres sont excellents, les meilleurs que j'ai jamais vu, mais ils ralentissent la lecture !
R: Après avoir exécuté le script ./configure , editez config.h et replacez #undef FAST_OSD par #define FAST_OSD. Recompilez.
 
Q: L'OSD clignote !
R: Vous utilisez un driver de sortie avec un seul buffer (x11,xv). Avec xv, utilisez l'option -double.
 
Q: Qu'est ce que le libavcodec exactement ?
R: Il provient du paquetage ffmpeg de Gerard Lantau (http://ffmpeg.sourceforge.net). Il possède des codecs DivX et OpenDivX alpha 47 en langage C ;-) . Plusieurs benchmarks montrent que son DivX semble plus rapide que le codec DirectShow sans preprocessing, et a peine moins rapide que le decodeur DivX4 de ProjectMayo. Il utilise le format de pixel YV12, donc les utilisateurs de vielles cartes Voodoo peuvent l'utiliser pour le YUV. De plus, il permet de lire des DivX sur quasiment toutes les machines disposant d'un compilateur C. Bon boulot, non ?
 
Q: Mais configure sort "Checking for libavcodec ... no"!
R: Vous devez télécharger libavcodec depuis les CVS de FFmpeg. Lisez les instructions dans la section ffmpeg.
 
Q: La GUI ne fonctionne pas avec icewm, certaines fenêtres resetnet au dessus de la vidéo !!
A: Bogue connu. Icewm est un WindowManager impossible a utiliser. Pas de solution. Dans le détail : icewm sucks parce que sa barre des tâches se superpose aux requêtes de redimensionnement des fenêtres. Si l'on demande une résolution 800x600, il redimensionne en 800x(600-taskbar_size). C'est mauvais. Très mauvais. (En un mot (et en vo) : shit)
 
5.3. Problèmes de lecture des fichiers
 
Q: ...... fonctionne avec avifile/aviplay mais pas avec MPlayer.
R: MPlayer != avifile Le seul point commun de ces deux programmes est le chargeur de DLL Win32. Les jeux de codecs (dll), la synchronization, le demultiplexing etc... sont totalement différents et ne devraient pas être comparés. Si quelque chose fonctionne avec aviplay cela ne signifie pas que MPlayer peut le faire et vice versa.
 
Q: L'audio perd la synchronisation en lisant les fichiers .avi.
R: Essayez l'option -bps ou -nobps. Si le problème persiste, envoyez ce fichier par ftp, je vérifierais.
 
Q: Les vidéos Indeo 3.x/4.x s'affichent à l'envers !!!?
R: C'est un bug connu (en fait une limitation du codec/DLL). Si votre driver vo le supporte, essayez l'option -flip.
 
Q: La vidéo Indeo 3.x,4.x ne passe pas en résolution 32bpp (16,24 bpp sont ok).
R: C'est un bug connu (en fait une limitation du codec/DLL).
 
Q: MPlayer sort avec une erreurquand j'utilise le codec l3codeca.acm.
R: Vérifiez le listing produit par 'ldd /usr/local/bin/mplayer'. S'il contient :
    libc.so.6 => /lib/libc.so.6 (0x4???????)
où les "?" sont des nombres, alors l'erreur ne provient pas de là. S'il sort :
    libc.so.6 => /lib/libc.so.6 (0x00??????)
alors il s'agit d'un problème avec votre noyau/libc. Peut être utilisez vous certains patches de sécurité (Solar Designer's OpenWall patch par exemple) qui forcent les libraries à se charger à de très basses adresses. l3codeca.acm étant une DLL non reallouable, elle doit être chargée à l'adresse 0x00400000, nous n'y pouvons rien. Utilisez un noyau non patché, ou utilisez l'option -afm 1 pour désactiver le support de l3codeca.acm.
 
Q: Mon ordinateur lit les vidéos M$ DivX AVIs avec des resolutions proches de 640x300 et le son stéréo mp3 est trop lent. Quand j'utilise l'option -nosound, tout se passe bien (mais sans son).
R: Mouais, votre machine est trop lente. RTFM.
 
Q: MPlayer plante avec l'erreur : "MPlayer interrupted by signal 4 in module: decode_video".
R: Essayez de lancer MPlayer sur la machine que vous avez utilisé pour la compilation. Ou bien recompilez. N'utilisez pas MPlayer sur un processeur différent de celui qu l'a compilé.
 
Q: J'ai des problèmes avec [votre window manager] et le mode plein écran xv/xmga/sdl/x11 ..
R: Utilisez l'option -fsmode. Lisez le fichier exemples.conf et les pages man.
 
Q: Mais cela fonctionne avec avifile !
R: Et alors ?
 
Q: Alors avifile est meilleur !
R: Ben alors utilisez avifile, il a une belle GUI et un chouette code C++ :)
 
Q: J'obtient ce message en essayant de lire un mpeg : Can't find codec for video format 0x10000001!
R: Votre version du fichier codecs.conf dans ~/.mplayer/ est dépassée. Mettez la à jour depuis etc/
 
Q: Après le lancement de MPlayer sous KDE(1/2) j'obtiens un écran noir et rien ne se passe. Une minute plus tard, la vidéo démarre.
R: Le daemon arts de KDE bloque le périphérique son, vous pouvez soit attendre que la vidéo démarre, soit désactiver arts dans le menu de contrôle KDE. Si vous voulez utiliser le module de son arts, spécifiez une sortie audio via SDL ao=sdl), et assurez vous que SDL utilise bien arts. Une autre option est de lancer MPlayer avec artsdsp.
 
Q: J'ai une vidéo AVI qui s'affiche avec un écran grisé avec l'option -vc odivx, et verdâtre avec l'option -vc divx4 .
R: Ce n'est pas un fichier DivX, mais un MPEG4v3 de Micro$oft. Mettez à jour votre codecs.conf.
 
Q: La vidéo est bien un DiVX, et quand je la lit j'ai une désynchronisation video-audio et/ou MPlayer plante avec l'erreur :
DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!
R: Cela peut avoir plusieurs causes.
  • votre CPU et/ou carte vidéo et/ou bus est trop LENT. MPlayer affiche un message d'avertissement si c'est le cas (et le compteur de frames délaissées grimpe en flèche)
  • Si c'est un AVI, peutêtre a-t-il un mauvais interleaving. Essayez l'option -ni.
  • yVotre driver son est mauvais, ou vous utilisez ALSA 0.5 avec l'option -ao oss. C.f. la section cartes son.
  • le fichier AVI a une en-tête erronée, essayez avec l'option -nobps, et/ou -mc 0 .
  •  
    5.4. Problèmes de drivers vidéo/audio (vo/ao)
     
    Q: Ok, -vo help affiche le driver DGA, mais j'ai des erreurs de permissions! Aidez moi!
    R: Cela ne fonctionne que si vous êtes root ! C'est une limitation de DGA. Passez en root, et essayez à nouveau. Une autre solution est de lancer mplayer SUID root, mais ce n'est PAS RECOMMENDE !
        chown root /usr/local/bin/mplayer
        chmod 750 /usr/local/bin/mplayer
        chmod +s /usr/local/bin/mplayer
    !!!! FAITES ATTENTION!!!!
    C'est une *grosse* faille de sécurité ! ne faites *JAMAIS* ceci sur un serveur ou un ordinateur accessible par d'autres personnes que vous, ils pourraient obtenir les privilèges root par le mplayer suid root !!!
    !!!! VOUS AVEZ ETE PREVENU ... !!!!
     
    Q: En utilisant Xvideo, ma carte Voodoo 3/Banshee affiche :
    X Error of failed request: BadAccess (attempt to access private resource denied)
      Major opcode of failed request: 147 (MIT-SHM)
      Minor opcode of failed request: 1 (X_ShmAttach)
      Serial number of failed request: 26
      Current serial number in output stream:27
    R: Votre driver est ancien, mettez le à jour. Téléchargez soit (au minimum) DRI version 0.6 depuis http://dri.sourceforge.net, ou utilisez le CVS DRI.
     
    Q: Quand j'utilise Xvideo, je ne peux pas lire d'AVIs DivX avec ma Voodoo 3/Banshee! MPlayer affiche :
    ...
    Xvideo image format: 0x32315659 (YV12) planar
    Xvideo image format: 0x30323449 (I420) planar
    ...
    A1: C.f. réponse précédente.
    A2: Depuis la version 0.18pre4 nous supportons libavcodec du paquetage ffmpeg. Il contient un décodeur DivX et OpenDivX en langage C. Le décodeur DivX utilise le format YV12 pour l'affichage, donc il devrait fonctionner pour vous. Compilez avec le support de libavcodec.
     
    Q: La sortie OpenGL (-vo gl) ne fonctionne pas (hangup/black window/X11 errors/...).
    R: Votre driver Opengl ne supporte pas le changement de textures dynamique (glTexSubImage). Problème connu pour le code binaire des drivers nVidia. Cela fonctionne avec les cartes Utah-GLX/DRI et Matrox G400, ainsi que le DRI pour cartes Radeon. Le DRI ne fonctionnera pas sur d'autres cartes. Cela ne fonctionnera pas sur les 3DFX a cause de la limite de textures 256x256.
     
    Q: J'ai une carte nVidia TNT/TNT2, et une bande colorée s'affiche en bas, juste sous la vidéo ! A qui la faute ?
    R: Ce sont les drivers X de nVidia. Ces bugs apparaissent UNIQUEMENT avec les cartes TNT/TNT2, nous n'y pouvons rien, ce n'est pas notre bug.
     
    Q: J'ai une carte nVidia XYZ, et quabd je clique sue l'interface graphique pour afficher la fenêtre, un carré nois apparait. J'ai les derniers drivers.
    A: Oui, nvidia a corrigé un bug (ci-dessus), et en a implémenté un nouveau. Félicitons les !
     
    5.5. Demande de fonctionnalités
     
    Q: Y a t'il une astuce pour voir les vidéos QuickTime et RealMedia avec MPlayer?
    R: Il n'y a aucun moyen de faire cela. Cependant ces formats sont destinées à disparaitre d'ici peu. Théoriquement vous pouvez faire du reverse engineering sur les codecs de Real pour Linux (il sont distribués en .so), mais en pratique c'est très difficile même si vous savez comment leur compilateur fait du code assembleur. Pour QuickTime, il est possible de jouer certaines vidéos anciennes, et cette capacitée sera ajouté à MPlayer bientôt,mais les clips récent utilisent l'encodage Sorenson, et ce codec est complètement intégré dans les exécutabkes QT, donc inutilisables.
     
    Q: Quand votre fonctionnalité favorite (placement des sous-titres par exemple) sera t-elle implémentée ?
    R: Attendez libvo2.
     
    Q: Quand pourrais je encoder de l'audio avec l'option -vo odivx ?
    R: Vous ne pouvez pas encore. C'est prévu, soyez patients.