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. 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 - les versions conseillées sont les versions 2.95 et 3.3+. Les versions 2.96 et 3.0.x sont connues pour générer du code incorrect. Des problèmes ont également étés rencontré avec les versions 3.1 et 3.2. Sur des plateformes PowerPC, utilisez GCC 4.x+. 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. FreeType - version 2.0.9 ou supérieure requise pour l'affichage des sous-titres et du OSD (On Screen Display). 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 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 l'interface graphique. 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, téléchargeable depuis . Version 0.9.13+ requise. cdparanoia - optionnel, pour le support CDDA libxmms - optionnel, pour le support des plugins d'entrée de XMMS. Une version supérieure ou égale à 1.2.7 est requise. libsmb - optionnel, pour le support Samba. ALSA - optionnel, pour le support de sortie audio ALSA. La version 0.9.0rc4 est le minimal 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 pour dire à ./configure où se trouve le fichier. 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. 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. 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: peut être un très mauvais choix pour la lecture vidéo. Si vous n'avez pas une GeForce2 (ou plus récent), il est propable qu'il y ait des 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 . Cartes non-YUV L'affichage en plein-écran peut être obtenu soit en activant le redimensionnement logiciel (utilisez ou , 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 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. 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 . 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! Fonctionalités Si vous souhaitez une interface graphique (GUI), lisez 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. Si vous possédez un carte tuner radio compatible V4L, et désirez écouter et capturer du son avec MPlayer, lisez la rubrique Entrée Radio. 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 , , , ou 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. À propos de l'interface graphique La GUI à besoin de GTK 1.2.x ou GTK 2.0 (elle n'est pas entièrement basée dessus, mais les menus le sont). Les skins sont stockées au format PNG, donc GTK, libpng (ainsi que leurs paquets de dev, généralement nommés gtk-dev et libpng-dev) doivent être installés. Vous pouver la compiler en spécifiant l'option durant l'étape ./configure. Ensuite, pour l'activer vous devrez exécuter le binaire gmplayer. Actuellement vous ne pouvez pas utiliser l'option en ligne de commande, ceci pour des raisons techniques. MPlayer n'ayant pas de skin par défaut, vous devrez la télécharger si vous voulez utiliser la GUI. Voir la page des téléchargements. Elles pourront se placer dans le répertoire commun ($PREFIX/share/mplayer/skins), ou dans $HOME/.mplayer/skins. Par défaut, MPlayer consulte ces répertoires à la recherche d'un répertoire nommé default, mais vous pouvez utiliser l'option , ou placer skin=nouvelleskin dans votre fichier de configuration pour utiliser la skin dans le répertoire */skins/newskin. Polices et OSD Vous devez spécifier à MPlayer quelles polices utiliser pour l'OSD et les sous-titres. N'importe quelle police TrueType ou Bitmap devrait faire l'affaire. Cependant, les polices TrueType sont recommandés car elles ont un bien meilleur aspect, peuvent être mises à l'échelle correctement et gèrent mieux les différents jeux de caractères. Police TrueType Il y a deux façons de rendre les polices TrueType opérationnelles. La première est de spécifier le nom du fichier de la police TrueType à utiliser grâce à l'option . Il peut être interessant de placer cette option dans votre fichier de configuration (voir la page de manuel pour plus de détails). La seconde façon est de créer un symlink baptisé subfont.ttf pointant vers le fichier contenant la police de votre choix. Pour choisir une police commune à tous les utilisateurs, tapez ln -s /path/to/sample_font.ttf $PREFIX/share/mplayer/subfont.ttf Pour définir une police propre à chaque utilisateur, tapez ln -s /path/to/sample_font.ttf ~/.mplayer/subfont.ttf La compilation de MPlayer avec le support pour fontconfig rend les méthodes ci-dessus inopérantes. En effet, MPlayer s'attend à ce que soit suivi d'un nom de police compatible avec fontconfig. Pour obtenir la liste des polices compatibles avec fontconfig, executez fc-list dans la console. Un exemple: mplayer -font 'Bitstream Vera Sans' anime.mkv Polices Bitmap Si pour une raison quelconque vous souhaitez ou devez employer des polices bitmap, téléchargez en un jeu depuis notre page web. Vous avez les choix entre différentes polices ISO et quelques autres polices développées par des utilisateurs supportant plusieurs encodages. Décompressez le fichier que vous avez téléchargé dans le répertoire ~/.mplayer ou dans $PREFIX/share/mplayer. Ensuite, renommez ou symlinkez l'un des répertoire ainsi créé vers le sous-repertoire font. Exemple: ln -s ~/.mplayer/arial-24 ~/.mplayer/font ln -s $PREFIX/share/mplayer/arial-24 $PREFIX/share/mplayer/font Les polices doivent disposer d'un fichier font.desc associant les positions des caractères unicode à l'encodage (NdT: code page) utilisé par le sous-titre. Les autres solutions sont d'encoder les sous-titres en UTF-8 et d'utiliser l'option ou de nommer les fichiers contenant les sous-titres <nom_de_la_video>.utf et de les placer dans le répertoire de la vidéo. Menu OSD MPlayer possède une interface de menu OSD complètement modulable. Le menu des préférences n'est PAS IMPLÉMENTÉ pour l'instant! Installation compilez MPlayer en passant le paramètre à ./configure assurez-vous que les polices OSD sont installées copiez etc/menu.conf dans votre répertoire .mplayer copiez etc/input.conf dans votre répertoire .mplayer, ou dans le fichier de config globale de MPlayer (par défaut: /usr/local/etc/mplayer) trouvez et éditez input.conf pour activer les touches correspondants aux mouvements dans le menu (c'est décrit sur place). lancez MPlayer avec par exemple: $ mplayer -menu fichier.avi pressez n'importe laquelle des touches menu que vous avez défini RTC Il y a trois méthodes de synchro dans MPlayer. Pour utiliser l'ancienne méthode, vous n'avez rien à faire. Elle utilise usleep() pour régler la synchro A/V, avec une précision de +/- 10ms. Cependant parfois la synchro doit être réglé encore plus finement. Le nouveau code de synchro utilise la RTC (Real Time Clock) du PC pour cette tâche, car elle à des timers précis à 1ms près. Utilisez l'option pour l'activer. Notez d'un noyau correctement configuré est requis. Si vous executez une version du noyau supérieure ou égale à 2.4.19pre8, vous pouvez ajuster la fréquence maximale (de la RTC) accessible aux utilisateurs normaux grace au système de fichiers /proc . Pour ceci, les commandes suivantes sont à votre disposition: echo 1024 > /proc/sys/dev/rtc/max-user-freq ou sysctl dev/rtc/max-user-freq=1024 Vous pouvez rendre ce réglagle permanant en ajoutant la seconde commande au fichier /etc/sysctl.conf. Vous pouvez voir l'efficacité du nouveau timer sur la ligne d'état. Les fonctions de gestion de l'énergie des BIOS des certains portables avec des processeurs supportant SpeedStep ne font pas bon ménage avec la RTC. Le son et les images risquent d'être désynchronisés. Brancher le portable sur le secteur avant de le démarrer semble régler le problème dans la plupart des cas. Avec certaines combinaisons de matériels (particulièrement: lecteurs DVD ne supportant pas le DMA et cartes-mère basé sur le chipset ALi1541), l'utilisation du timer RTC rend la lecture irrégulière (NdT: skippy). La troisième méthode de synchro est activée par l'option . Il à la précision de la RTC, mais n'utilise pas la RTC. D'un autre côté, il nécessite plus de CPU.