# 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, vous serez guidé à travers étapes de configuration et de compilation de MPlayer. Ce n'est pas facile, mais pas vraiment difficile non plus. Si vous observez un comportement différent de celui de ces explications, cherchez dans la doc et vous trouverez les réponses adéquates.

## Logiciels nécessaires

- binutils - la version conseillée est la 2.11.x ou plus récente.

- gcc - les versions conseillées sont les versions 2.95 et 3.4 ou plus récentes. Les versions 2.96 et 3.0.x sont connues pour générer du code incorrect. Des problèmes plus ou moins graves existent avec les versions 3.1, 3.2 et 3.3. Sur les plateformes PowerPC, utilisez GCC 4.x.

- Xorg/XFree86 - la version conseillée est la 4.3 ou plus récente. Assurez-vous que ses paquets de développement sont également installés, sinon cela ne fonctionnera pas. Si vous n'avez pas besoin de X, certains pilotes de sortie vidéo fonctionnent aussi sans.

- make - version conseillée 3.79.x ou plus récente. Pour contruire la documentation XML, vous devez utiliser au moins la version 3.80.

- FreeType - version 2.0.9 ou supérieure requise pour l'affichage des sous-titres et du OSD (On Screen Display).

- libjpeg - décodeur JPEG optionnel, utilisé par le pilote de sortie vidéo JPEG.

- libpng - Décodeur (M)PNG optionnel, requis pour l'interface graphique et le pilote de sortie vidéo PNG.

- lame - La version 3.90 ou plus récente est recommandé, requis pour l'encodage MP3 audio avec MEncoder.

- zlib - recommandé, nécessaire pour les en-têtes MOV compressés et le support PNG.

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

- directfb - optionnel, utilisez la version 0.9.13 ou plus récente.

- 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 réseau smb.

- ALSA - optionnel, pour le support de sortie audio ALSA. La version 0.9.0rc4 est le minimum requis.

## 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 `-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 `config.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 `config.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+ 2 (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 `--enable-gui` durant l'étape `./configure`. Ensuite, pour l'activer vous devrez exécuter le binaire `gmplayer`.

MPlayer n'ayant pas de skin par défaut, vous devrez en télécharger si vous voulez utiliser la GUI. Voir la page des téléchargements. Ils devront être placés dans le répertoire commun habituel (`$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 `-skin `nouveauskin``, ou placer `skin=nouveauskin` dans votre fichier de configuration pour utiliser le skin dans le répertoire `*/skins/nouveauskin`.

## 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 `-font`. Il peut être intéressant 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 lien symbolique (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 `-font` soit suivi d'un nom de police compatible avec `fontconfig` et utilisera sans-serif par défaut. Un exemple :

    mplayer -font 'Bitstream Vera Sans' anime.mkv

Pour obtenir la liste des polices compatibles avec `fontconfig`, executez `fc-list` dans la console.

### 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 créez un lien symbolique de l'un des répertoires ainsi créés 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és par le sous-titre. Une autre solution est d'encoder les sous-titres en UTF-8 et d'utiliser l'option `-utf8` ou de donner au fichier sous-titre le même nom qu'au fichier video avec une extension `.utf` et de le placer dans le même répertoire que 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

1. compilez MPlayer en passant le paramètre `--enable-menu` à `./configure`

2. assurez-vous que les polices OSD sont installées

3. copiez `etc/menu.conf` dans votre répertoire `.mplayer`

4. 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`)

5. trouvez et éditez `input.conf` pour activer les touches correspondant aux mouvements dans le menu (c'est décrit sur place).

6. lancez MPlayer avec par exemple :

       $ mplayer -menu fichier.avi

7. pressez n'importe laquelle des touches menu que vous avez définies

## Installation Codec

### Xvid

Xvid est un logiciel libre de codec video conforme au MPEG-4 ASP. Notez qu'Xvid n'est pas nécessaire pour décoder des vidéos encodée par Xvid. `libavcodec` est utilisé par défaut parce qu'il offre une vitesse supérieure.

### Installer `Xvid`

Comme la plupart des logiciels open source, il est disponible en deux parfums : versions officielle et la version CVS. La version CVS est habituellement suffisament stable pour être utilisée, puisqu'elle bénéficie des corrections de bogues existant dans les versions officielles. Voici qui doit être fait pour faire fonctionner la version CVS de `Xvid` avec MEncoder :

1.     cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login

2.     cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore

3.     cd xvidcore/build/generic

4.     ./bootstrap.sh

5.     ./configure

   Vous pouvez avoir à ajouter des options (examinez la sortie de `./configure --help`).

6.     make && make install

7. Si vous avez spécifié `--enable-divxcompat`, copiez `../../src/divx4.h` dans `/usr/local/include/`.

8. Recompilez MPlayer.

### x264

`x264` is a library for creating H.264 video. MPlayer sources are updated whenever an `x264` API change occurs, so it is always suggested to use MPlayer from Subversion.

If you have a GIT client installed, the latest x264 sources can be gotten with this command:

    git clone git://git.videolan.org/x264.git

Then build and install in the standard way:

    ./configure && make && make install

Now rerun `./configure` for MPlayer to pick up `x264` support.

### codecs AMR

Le codec de voix Adaptive Multi-Rate est utilisé dans les téléphones mobiles de troisième génération (3G). L'implémentation de référence est disponible depuis Projet d'Association sur la 3ème Génération (gratuit pour un usage privé).

Pour activer le support, téléchargez et installez les bibliothèques pour AMR-NB et AMR-WB en suivant les instructions de cette page. Ensuite, recompilez MPlayer.

## 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ée encore plus finement.

- Le nouveau code de synchro utilise la RTC (Real Time Clock) du PC pour cette tâche, car elle possède des timers précis à 1ms près. Utilisez l'option `-rtc` pour l'activer. Notez qu'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 configurations matérielles (confirmé par l'utilisation de lecteurs DVD ne supportant pas le DMA avec une carte-mère basée sur le chipset ALi1541), l'utilisation du timer RTC rend la lecture saccadée (NdT: skippy). Il est recommandé d'utiliser la troisième méthode dans ce cas.

- La troisième méthode de synchro est activée par l'option `-softsleep`. Elle a la précision de la RTC, mais n'utilise pas la RTC. D'un autre côté, elle nécessite plus de CPU.