1.2. Installation

Un guide d'installation rapide peut être trouvé dans le fichier README. Veuillez le lire d'abord et revenir ensuite ici pour le reste des détails.

Dans ce chapitre je vais essayer de vous guider à travers la compilation et la configuration de MPlayer. Ce n'est pas facile, mais pas vraiment difficile non plus. Si vous rencontrez un comportement différent de celui de mes explications, cherchez dans la doc et vous trouverez les réponses. Si vous voyez des liens, suivez-les et lisez attentivement ce qu'ils contiennent. Cela prendra du temps, mais ça en vaut VRAIMENT la peine.

Vous aurez besoin d'un système relativement récent. Sous Linux, les noyaux 2.4.x sont recommandés.

1.2.1. Logiciels nécessaires

  • binutils - la version conseillée est la 2.11.x. Ce programme génère les instructions spécifiques MMX/3DNow!, il est donc très important.

  • gcc - versions conseillées: 2.95.3 (peut être 2.95.4) et 3.2+. N'utilisez jamais 2.96 ou 3.0.x! Ils génèrent des erreurs de code. Si vous décidez de changer votre gcc 2.96, n'optez pas en faveur d'un 3.0.x uniquement parce qu'il sera plus récent ! Les premières versions des 3.x étaient encore plus boguées que 2.96. Donc downgradez vers 2.95.x (downgradez libstdc++ également, d'autres programmes pourraient en avoir besoin) ou ne changez pas du tout (mais dans ce cas, préparez-vous à des problèmes lors de l'exécution). Si vous optez pour un 3.x, essayez toujours la dernière version, les plus anciennes avaient des bogues variés, donc assurez-vous d'utiliser au moins 3.1, il est testé et fonctionnel. Pour de plus amples informations sur les bogues de gcc 2.96 (qui ne sont toujours PAS fixés, ils ont été CONTOURNÉS dans MPlayer!), voir la section gcc 2.96 et la FAQ.

  • XFree86 - version conseillée : toujours la plus récente (4.3). Normalement, tout le monde veut cela, car à partir de la version 4.0.2, XFree86 contient l'extension XVideo (parfois appelé Xv) qui est nécessaire pour activer l'accélération YUV matérielle (affichage rapide) des cartes qui le supportent. Assurez-vous que ses paquets de développement sont également installés, sinon cela ne fonctionnera pas. Pour certaines cartes, vous n'aurez pas besoin de XFree86. Voir la liste plus bas.

  • make - version conseillée : toujours la plus récente (au moins 3.79.x). Ceci n'est en général pas très important.

  • SDL - pas obligatoire, mais peut aider dans certains cas (mauvaise sortie audio, cartes vidéos qui rament avec le pilote xv). Utilisez toujours la version la plus récente. (à partir de 1.2.x).

  • libjpeg - décodeur JPEG optionnel, utilisé par l'option -mf et certains fichiers QT MOV. Utile pour MPlayer et MEncoder si vous prévoyez de travailler avec des fichiers jpeg.

  • libpng - Décodeur (M)PNG par défaut, recommandé. Requis pour la GUI. Utile pour MPlayer et MEncoder.

  • lame - recommandé, requis pour l'encodage MP3 audio avec MEncoder, version conseillée : toujours la plus récente (au moins 3.90).

  • zlib - recommandé, nécessaire pour les entêtes MOV compressées et le support PNG.

  • libogg - optionnel, requis pour lire les fichiers au format OGG.

  • libvorbis - optionnel, requis pour lire du OGG Vorbis audio.

  • LIVE555 Streaming Media - optionnel, requis pour lire des flux RTSP/RTP.

  • directfb - optionnel, depuis http://www.directfb.org. At least 0.9.13 is required.

  • cdparanoia - optionnel, pour le support CDDA

  • libfreetype - optionnel, pour le support des fontes TTF. Au moins 2.0.9 est requis.

  • libxmms - optionnel, pour le support des plugins d'entrée de XMMS. Au moins 1.2.7 est requis.

  • libsmb - optionnel, pour le support Samba.

  • ALSA - optionnel, pour le support de sortie audio ALSA. Au moins 0.9.0rc4 est requis.

  • bio2jack - optionnel, pour le support de la sortie audio JACK, requis seulement au moment de la compilation. Vous pouvez l'obtenir depuis http://bio2jack.sf.net. Il n'a pas d'options d'installation donc vous devez placer manuellement le fichier libbio2jack.a quelque part dans votre chemin de librairies (par ex. /usr/local/lib) ou utiliser l'option --with-bio2jack=DIR pour dire à ./configure où se trouve le fichier.

1.2.2. Codecs

  • libavcodec: Ce paquet de codecs est capable de décoder les flux vidéo encodés en H.263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1/WMV2/SVQ1/SVQ3 et les flux audio WMA (Windows Media Audio) v1/v2, sur plusieurs plateformes. Il est également considéré comme le plus rapide pour cette tâche. Voir la section FFmpeg pour de plus amples détails. Fonctionnalités:

    • ajoute le décodage des vidéos mentionnées ci dessus, sur des machines non-x86
    • encodage avec la plupart des codecs mentionnés
    • ce codec est le plus rapide disponible pour les formats DivX/3/4/5 et autre MPEG-4. Recommandé!

  • codecs Win32: Si vous prévoyez d'utiliser MPlayer sur une architecture non x86, vous en aurez probablement besoin. Téléchargez les codecs Win32 depuis notre page de codecs et installez-les dans /usr/local/lib/codecs AVANT de compiler MPlayer, sinon aucun support Win32 ne sera compilé!

    Note

    Le projet avifile a un paquet de codecs similaire, mais qui diffère du nôtre. Si vous voulez avoir tous les codecs supportés, alors installez notre paquet (ne vous inquiétez pas, avifile fonctionne avec sans problèmes).

    Fonctionnalités:

    • Vous en aurez besoin si vous voulez lire ou encoder par exemple des films enregistrés avec des compresseurs matériels divers, comme des cartes tuner ou des caméras numériques (exemple: DV, ATI VCR, MJPEG)
    • nécessaire si vous voulez lire des films WMV9/WMA9.
    • Non requis pour les vieux ASF avec vidéo MP41 ou MP42 (bien que VoxWare audio soit fréquent pour ces fichiers - ceci est géré par les codecs Win32), ou WMV7. Requis également pour WMA (Windows Media Audio), libavcodec possède un décodeur open source pour cela.

  • codecs QuickTime: sur les plateformes x86 ces codecs peuvent être utilisés pour décoder RPZA et les autres vidéos QuickTime, ainsi que les flux audio QDesign. Les instructions d'installation peuvent être trouvées dans la section codec vidéo Sorenson.

  • DivX4/DivX5: information sur ce codec disponible dans la section DivX4/DivX5. Vous ne voudrez probablement pas de ce codec car libavcodec (voir plus haut) est bien plus rapide et de meilleur qualité, tant pour le décodage que l'encodage. Fonctionnalités:

    • encodage en une passe ou deux passes avec MEncoder
    • peut lire les films au vieux format DivX3 bien plus rapidement que les DLL Win32 mais plus lentement que libavcodec!
    • les sources sont fermées, et seule une version x86 est disponible.

  • XviD: Encodage libre alternatif à DivX4Linux Caractéristiques:

    • encodage en une passe ou deux passes avec MEncoder
    • les sources sont ouvertes, donc c'est multi-plateformes.
    • Il est environ 2 fois plus rapide que DivX4 pour l'encodage - pour une qualité similaire.

  • Les codecs XAnim sont les meilleurs (plein écran, zoom YUV matériel) pour décoder les films 3ivx et Indeo 3/4/5, et quelques autres vieux formats. Et ils sont multiplateforme, c'est donc la seule façon de lire de l'Indeo sur des plateformes non-x86 (bon, à part en utilisant XAnim:). Mais par exemple les films Cinepak sont mieux joués par le décodeur Cinepak de MPlayer !

  • Pour le décodage d'Ogg Vorbis, vous aurez besoin d'installer libvorbis correctement. Vous pouvez avoir les paquetages binaires et le code source depuis le site Ogg Vorbis.

  • MPlayer peut utiliser les bibliothèques de RealPlayer 8 ou RealONE pour lire de la vidéo RealVideo 3.0 et 4.0, et de l'audio Sipro/Cook. Voir la section format de fichier RealMedia pour les instructions d'installation et plus d'information.

1.2.3. Cartes graphiques

Il y a généralement deux types de cartes graphiques. Les premières (les cartes les plus récentes) ont un zoom matériel et l'accélération YUV, les autres n'en ont pas.

1.2.3.1. Cartes YUV

Vous pouvez afficher et redimensionner (zoom) l'image dans n'importe quelle taille qui tient dans leur mémoire, avec peu d'utilisation processeur (même en zoomant), ainsi la lecture plein-écran est agréable et très rapide.

  • Cartes Matrox G200/G400/G450/G550: bien qu'un pilote Vidix soit fourni, il est recommandé d'utiliser le module noyau mga_vid à la place, il fonctionne bien mieux. Voir la section mga_vid pour son installation et son utilisation. Il est important de faire cela avant la compilation de MPlayer, sinon aucun support mga_vid ne sera construit. Voir aussi la section Matrox TV-out. Si vous n'utilisez pas Linux, votre seule possibilité est le pilote VIDIX: lisez la section VIDIX.

  • Cartes 3Dfx Voodoo3/Banshee: voir la section tdfxfb pour obtenir une grande accélération. Il est important de faire cela avant la compilation de MPlayer, sinon aucun support 3Dfx ne sera disponible. Voir aussi la section 3dfx TV-out. Si vous utilisez X, utilisez au moins la version 4.2.0, car les pilotes Xv 3dfx sont endommagés dans 4.1.0 et les versions plus anciennes.

  • Cartes ATI: un pilote VIDIX est fourni pour les cartes suivantes: Radeon, Rage128, Mach64 (Rage XL/Mobility, Xpert98). Voir aussi la section Cartes ATI de la documentation TV-out, pour savoir si la sortie TV de votre carte est supportée sous Linux/MPlayer.

  • Cartes S3: les chipsets Savage et Virge/DX possèdent l'accélération matérielle. Utilisez la plus récente version de XFree86 possible, les anciens pilotes sont bogués. Les chipsets Savage ont des problèmes avec l'affichage YV12, voir la section Xv S3. Plus anciennes, les cartes Trio n'ont pas ou peu d'accélération matérielle.

  • Cartes nVidia: très mauvais choix pour la lecture vidéo. Si vous n'avez pas une GeForce2 (ou plus récent), elle risque de ne pas fonctionner sans bogues. Le pilote intégré à XFree86 ne supporte l'accélération matérielle YUV sur aucune des cartes nVidia. Vous devrez télécharger les pilotes nVidia propriétaires depuis nVidia.com. Voir la section pilote Xv nVidia pour de plus amples détails, voir aussi la section nVidia TV-out si vous souhaitez utiliser une télé.

  • 3DLabs GLINT R3 et Permedia3: un pilote VIDIX est fourni (pm3_vid). Reportez vous à la section VIDIX pour plus de détails.

  • Autre cartes: Aucune de celles citées plus haut ?

    • Testez si le pilote XFree86 (et votre carte vidéo) supporte l'accélération matérielle. Voir la section Xv pour plus de détails.
    • Si ce n'est pas le cas, alors les fonctionnalités de votre carte vidéo ne sont pas supportées sous votre système d'exploitation :( Si le zoom matériel fonctionne sous Windows, cela ne veut pas dire qu'il fonctionnera sous Linux ou d'autres systèmes d'exploitation: cela dépend des pilotes. La plupart des fabriquants ne font pas de pilotes Linux ni ne diffusent les spécifications de leurs chipsets, donc vous n'avez pas de chance d'utiliser leur cartes. Voir Non-YUV cards.

1.2.3.2. Cartes non-YUV

L'affichage en plein-écran peut être obtenu soit en activant le redimensionnement logiciel (utilisez -zoom ou -vf, mais je vous préviens: c'est lent), ou passez dans une résolution plus basse, par exemple 352x288. Si vous n'avez pas d'accélération YUV, cette dernière méthode est recommandée. Le changement de mode vidéo peut être activé en utilisant l'option -vm et fonctionne avec les pilotes suivants:

  • en utilisant XFree86: voir les sections pilote DGA et pilote X11. DGA est recommandé! Essayez aussi DGA via SDL, parfois c'est mieux.
  • sans utiliser XFree86: essayez les pilotes dans l'ordre suivant: vesa, fbdev, svgalib, aalib.

1.2.3.3. Cartes Cirrus-Logic

  • GD 7548: intégré aux cartes mères et testé sur la gamme de portables Compaq Armada 41xx.

    • XFree86 3: fonctionne dans les modes 8/16bpp. Cependant, le pilote est dramatiquement lent et bogué en 800x600@16bpp. Recommandé: 640x480@16bpp
    • XFree86 4: le serveur X se gèle peu après le lancement à moins de désactiver l'accélération matérielle, mais dans ce cas l'ensemble devient plus lent que XFree86 3. Pas de XVideo.
    • FBdev: le framebuffer peut être activé avec le pilote clgenfb dans le noyau, bien que pour moi cela n'est fonctionné qu'en 8bpp, donc inutilisable. L'ID 7548 doit être précisé dans le source clgenfb avant la compilation.
    • VESA: la carte est limité au standard VBE 1.2, donc la sortie VESA ne peut pas être utilisé. On ne peut pas contourner ceci avec UniVBE.
    • SVGAlib: détecte un chips Cirrus plus ancien. Utilisable mais lent avec -bpp 8.

1.2.4. Cartes son

  • Soundblaster Live!: avec cette carte vous pouvez utiliser 4 ou 6 canaux AC3 (5.1) au lieu de 2. Voir la section Décodage AC3 logiciel. Pour le transfert AC3 matériel vous devez utiliser ALSA 0.9 avec l'émulation OSS!
  • C-Media avec sortie S/PDIF: Le transfert AC3 matériel est possible avec ces cartes, voir la section Décodage AC3 matériel.
  • Les Fonctions des autres cartes ne sont pas supportées par MPlayer. Il est fortement recommandé de lire la section cartes son !

1.2.5. Fonctionalités

  • Décidez si vous avez besoin d'une GUI (interface graphique). Si c'est le cas, voir la section GUI avant de compiler.

  • Si vous voulez installer MEncoder (notre excellent encodeur multi-usages), voir la section MEncoder.

  • Si vous possédez une carte tuner TV compatible V4L, et désirez voir/enregistrer et encoder des films avec MPlayer, voyez la section Entrée TV.

  • Il y a un élégant Menu OSD prêt à être utilisé. Regardez la section menu OSD.

Ensuite compilez MPlayer:

./configure
make
make install

A ce point, MPlayer est prêt à fonctionner. Le répertoire $PREFIX/share/mplayer contient le fichier codecs.conf, qui est utilisé pour donner au programme la liste des codecs et de leurs capacités. Ce fichier n'est requis que si vous voulez changer ses propriétés, car le binaire principal en contient une copie interne. Vérifiez si vous avez un codecs.conf dans votre répertoire personnel (~/.mplayer/codecs.conf) provenant d'une ancienne installation de MPlayer, et supprimez-le.

Notez que si vous avez un codecs.conf dans ~/.mplayer/, les fichiers codecs.conf du système ou celui intégré seront complètement ignorés. Ne faites pas cela à moins de vouloir jouer avec le fonctionnement interne de MPlayer car cela peut poser des problèmes. Si vous voulez changer l'ordre de recherche des codecs, utilisez les options -vc, -ac, -vfm, ou -afm soit en ligne de commande soit dans votre fichier de config (voir la page de man).

Les utilisateurs Debian peuvent construire un paquet .deb pour leur propre usage, c'est très simple. Exécutez

fakeroot debian/rules binary

dans le répertoire racine de MPlayer. Voir Création de paquets Debian pour de plus amples instructions.

Regardez toujours le listing généré par ./configure, ainsi que le fichier configure.log, ils contiennent des informations sur ce qui sera compilé, et ce qui ne le sera pas. Vous pouvez également consulter les fichiers config.h et config.mak. Si vous avez quelques librairies installées, mais pas détectées par ./configure, alors vérifiez que vous avez les fichiers d'en-tête (généralement les paquets -dev) et que leur version correspond. Le fichier configure.log vous dit généralement ce qui manque.

Bien que n'étant pas indispensables, les polices peuvent être installées pour l'affichage de l'OSD, et le support des sous-titres. La méthode recommandée est d'installer un fichier de police TTF et de dire à MPlayer de l'utiliser. Voir la section Sous-titres et OSD pour les détails.