# MPlayer - Le Lecteur vidéo pour LINUX

## © 2000-2003 Arpad Gereoffy (A'rpi/ESP-team)
http://www.mplayerhq.hu

[ Anglais ] [ Hongrois ] [ Allemand ] [ Français ] [ Italien ] [ Chinois ]

## Table des matières

- 0. Comment lire cette documentation
- 1. Introduction
  - 1.1 Histoire
  - 1.2 Installation
  - 1.3 A propos de l'interface graphique ?
  - 1.4 Sous-titres et OSD
    - 1.4.1 Format de sous-titres propre à MPlayer (MPsub)
    - 1.4.2 Installer l'OSD et les sous-titres
    - 1.4.3 Menu OSD
  - 1.5 RTC
- 2. Fonctionnalités
  - 2.1 Formats supportés
    - 2.1.1 Formats vidéo
      - 2.1.1.1 Fichiers MPEG
      - 2.1.1.2 Fichiers AVI
      - 2.1.1.3 Fichiers ASF/WMV
      - 2.1.1.4 Fichiers QuickTime/MOV
      - 2.1.1.5 Fichiers VIVO
      - 2.1.1.6 Fichiers FLI
      - 2.1.1.7 Fichiers RealMedia (RM)
      - 2.1.1.8 Fichiers NuppelVideo
      - 2.1.1.9 Fichiers yuv4mpeg
      - 2.1.1.10 Fichiers FILM
      - 2.1.1.11 Fichiers RoQ
      - 2.1.1.12 Fichiers OGG/OGM
      - 2.1.1.13 Fichiers SDP
      - 2.1.1.14 Fichiers PVA
      - 2.1.1.15 Fichiers GIF
    - 2.1.2 Formats audio
      - 2.1.2.1 Fichiers MP3
      - 2.1.2.2 Fichiers WAV
      - 2.1.2.3 Fichiers OGG (Vorbis)
      - 2.1.2.4 Fichiers WMA/ASF
      - 2.1.2.5 Fichiers MP4
      - 2.1.2.6 CD audio
      - 2.1.2.7 XMMS
  - 2.2 Codecs supportés
    - 2.2.1 Codecs vidéo
      - 2.2.1.1 DivX4/DivX5
      - 2.2.1.2 FFmpeg DivX/libavcodec
      - 2.2.1.3 Codecs XAnim
      - 2.2.1.4 VIVO video
      - 2.2.1.5 MPEG 1/2 video
      - 2.2.1.6 MS Video1
      - 2.2.1.7 Cinepak CVID
      - 2.2.1.8 RealVideo
      - 2.2.1.9 XviD
      - 2.2.1.10 Sorenson
    - 2.2.2 Codecs audio
      - 2.2.2.1 Décodage AC3 logiciel
      - 2.2.2.2 Décodage AC3 matériel
      - 2.2.2.3 Support libmad
      - 2.2.2.4 VIVO audio
      - 2.2.2.5 RealAudio
      - 2.2.2.6 Codecs QDesign
      - 2.2.2.7 Codec Qualcomm
      - 2.2.2.8 Codec AAC
    - 2.2.3 HOWTO importation des codecs Win32
      - 2.2.3.1 Codecs VFW
      - 2.2.3.2 Codecs DirectShow
  - 2.3 Périphériques de sortie
    - 2.3.1 Sorties vidéo
      - 2.3.1.1 reglage MTRR
      - 2.3.1.2.1 Sorties vidéo pour cartes graphiques traditionnelles
        - 2.3.1.2.1 Xv
          - 2.3.1.2.1.1 Cartes 3dfx
          - 2.3.1.2.1.2 Cartes S3
          - 2.3.1.2.1.3 Cartes nVidia
          - 2.3.1.2.1.4 Cartes ATI
          - 2.3.1.2.1.5 Cartes NeoMagic
          - 2.3.1.2.1.6 Cartes Trident
          - 2.3.1.2.1.7 Cartes Kyro/PowerVR
        - 2.3.1.2.2 DGA
        - 2.3.1.2.3 SDL
        - 2.3.1.2.4 SVGAlib
        - 2.3.1.2.5 Sortie Framebuffer (FBdev)
        - 2.3.1.2.6 Framebuffer Matrox (mga_vid)
        - 2.3.1.2.7 Support de YUV avec la 3dfx (tdfxfb)
        - 2.3.1.2.8 Sortie OpenGL
        - 2.3.1.2.9 AAlib - affichage en mode texte
        - 2.3.1.2.10 VESA - sortie sur BIOS VESA
        - 2.3.1.2.11 X11
        - 2.3.1.2.12 VIDIX
          - 2.3.1.2.12.1 ATI cards
          - 2.3.1.2.12.2 Matrox cards
          - 2.3.1.2.12.3 Trident cards
          - 2.3.1.2.12.4 3DLabs cards
        - 2.3.1.2.13 DirectFB
        - 2.3.1.2.14 DirectFB/Matrox (dfbmga)
      - 2.3.1.3 décodeurs MPEG
        - 2.3.1.3.1 DVB
        - 2.3.1.3.2 DXR2
        - 2.3.1.3.3 DXR3/Hollywood+
      - 2.3.1.4 Autre matériel vidéo
        - 2.3.1.4.1 Décodeurs JPEG Zoran
        - 2.3.1.4.2 Blinkenlights
      - 2.3.1.5 TV-out
        - 2.3.1.5.1 Cartes Matrox G400
        - 2.3.1.5.2 Cartes Matrox G450/G550
        - 2.3.1.5.3 Cartes ATI
        - 2.3.1.5.4 Voodoo 3
        - 2.3.1.5.5 nVidia
    - 2.3.2 Sorties audio
      - 2.3.2.1 Synchronisation audio/video
      - 2.3.2.2 Trucs, astuces et recommendations sur les cartes son
      - 2.3.2.3 Filtres Audio
        - 2.3.2.3.1 Up/Downsampling
        - 2.3.2.3.2 Changer le nombre de canaux
        - 2.3.2.3.3 Convertisseur de format de sample
        - 2.3.2.3.4 Delay
        - 2.3.2.3.5 Contrôle de volume logiciel
        - 2.3.2.3.6 Égualiseur
        - 2.3.2.3.7 Filtre panoramique
        - 2.3.2.3.8 Sub-woofer
        - 2.3.2.3.9 Décodeur de son surround
      - 2.3.2.4 Plugins Audio (à ne plus utiliser)
        - 2.3.2.4.1 Up/Downsampling
        - 2.3.2.4.2 Surround Sound decoding
        - 2.3.2.4.3 Sample format converter
        - 2.3.2.4.4 Delay
        - 2.3.2.4.5 Software volume control
        - 2.3.2.4.6 Extrastereo
        - 2.3.2.4.7 Volume Normalizer
  - 2.4 Entrée TV
    - 2.4.1 Compilation
    - 2.4.2 Astuces d'utilisation
    - 2.4.3 Exemples
  - 2.5 Listes d'Edition de Décision (EDL)
    - 2.5.1 Utiliser un fichier EDL
    - 2.5.2 Faire un fichier EDL
- 3. Utilisation
  - 3.1 Ligne de commande
  - 3.2 Contrôle
    - 3.2.1 Configuration des contrôles
      - 3.2.1.1 Nom des touches
      - 3.2.1.2 Commandes
    - 3.2.2 Contrôle avec LIRC
    - 3.2.3 Mode esclave
  - 3.3 Streaming depuis le réseau ou les pipes
- 4. Section CD/DVD
  - 4.1 Lecteurs CD/DVD
  - 4.2 Lecture de DVDs
  - 4.3 Lecture de VCDs
- 5. Section FAQ
  - 5.1 Développement
  - 5.2 Compilation
  - 5.3 Questions Générales
  - 5.4 Problèmes de lecture des fichiers
  - 5.5 Problèmes de drivers vidéo/audio
  - 5.6 Lecture de DVDs
  - 5.7 Demande de fonctionnalités
  - 5.8 Encodage
- 6. Portages
  - 6.1 Linux
    - 6.1.1 paquets Debian
    - 6.1.2 paquets RPM
    - 6.1.3 ARM
  - 6.2 *BSD
  - 6.2.1 FreeBSD
  - 6.2.2 OpenBSD
  - 6.3 Solaris
  - 6.4 Silicon Graphics / Irix
  - 6.5 QNX
  - 6.6 Cygwin
- 7. Encodage avec MEncoder
  - 7.1 Encodage MPEG-4 ("DivX") 2 ou 3-passes
  - 7.2 Encodage au format MPEG
  - 7.3 Redimensionnement des films
  - 7.4 Copie de flux
  - 7.5 Réparer les fichiers AVIs ayant un index défectueux
  - 7.5.1 Assembler plusieurs fichiers AVI
  - 7.6 Encodage avec la famille de codecs libavcodec
  - 7.7 Encodage à partir de multiples fichiers image (JPEGs ou PNGs)
  - 7.8 Extraction des sous-titres DVD dans un fichier Vobsub
  - 7.9 Préserver l'aspect ratio
- Appendice A - Listes de diffusion
- Appendice B - Comment reporter un bogue
- Appendice C - Bogues connus
- Appendix D - Format de skin de MPlayer
  - D.1 Aperçu
    - D.1.1 Répertoires
    - D.1.2 Format d'images
    - D.1.3 Composants d'une skin
    - D.1.4 Fichiers
  - D.2 Le fichier skin
    - D.2.1 Fenêtre principale et barre de lecture
    - D.2.2 Sous-fenêtre
    - D.2.3 Menu
  - D.3 Polices
    - D.3.1 Symboles
  - D.4 Messages de la GUI
- Appendice E - Lamentations du Développeur
  - E.1 GCC 2.96
  - E.2 Distribution Binaire
  - E.3 nVidia
  - E.4 Joe Barr
- Appendice F - Comment envoyer des patches

# 0. Comment lire cette documentation

Si c'est votre première installation, assurez-vous de tout lire d'ici jusqu'à la fin de la section Installation, et de suivre tous les liens que vous pourrez trouver. Si vous avez d'autres questions, retournez à la table des matières, lisez la FAQ, ou faites une recherche dans ces fichiers.

Règle principale de cette documentation: si ce n'est pas documenté, cela n'existe pas. Si je ne dit pas que vous encodez l'audio à partir du tuner TV, c'est que vous ne pouvez pas. Cependant, une bonne quantité de talents combinés est la bienvenue. Bonne chance. Vous en aurez besoin :) Et pour un autre bon conseil, laissez-moi citer Chris Phillips sur la liste de diffusion mplayer-users:

> J'ai dit il y a quelque temps qu'il y avait une énorme différence entre être novice et être idiot. Peu importe ce que vous pensez réellement maîtriser (que ce soit à propos de linux, des voitures ou des femmes :D) vous devriez TOUJOURS être capable de prendre du recul et d'être objectif. Sinon vous êtes juste idiot, à mon humble avis. Une fille avec qui j'habite pensait que l'aspirateur était cassé car il n'aspirait plus rien. Elle n'a jamais pensé à remplacer le sac car elle ne l'avait jamais fait. Ok, ça c'est juste bête, pas un exemple de méconnaissance...Simplement ne pas être si familiarisé avec votre environnement n'est pas une excuse pour être a) fainéant b) ignorant. Il y a tellement de personnes qui voient le mot "erreur" et s'arrêtent là.... Quelques uns seulement semblent *lire* les mots qui SUIVENT.

# 1. Introduction

MPlayer est un lecteur de vidéos pour GNU/Linux (fonctionne sur de nombreux autres Un*x, et processeurs non-x86, voir section ports). Il lit la majorité des fichiers MPEG, VOB, AVI, OGG, VIVO, ASF/WMV, QT/MOV, FLI, RM, NuppelVideo, yuv4mpeg, FILM, RoQ, PVA supportés par de nombreux codecs natifs, XAnim et les DLLs Win32. Vous pouvez voir les VideoCD, SVCD, DVD, 3ivx, RealMedia,ainsi que les vidéos DivX (et vous n'avez même pas besoin de la bibliothèque avifile pour cela!). L'autre point fort de MPlayer est le grand nombre de sorties vidéo supportées. Il fonctionne avec X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, DirectFB mais vous pouvez également utiliser les fonctions et drivers des bibliothèques GGI et SDL, plus certains drivers de bas niveau, spécifiques aux cartes (pour Matrox, 3Dfx et Radeon, Mach64, Permedia3)! La majorité d'entre eux supportent le redimensionnement matériel et/ou logiciel, pour que vous puissiez apprécier la vidéo plein écran. MPlayer supporte la décompression matérielle fournie par certaines cartes MPEG, telles que la DVB et la DXR3/Hollywood+. Et que dire de ces superbes sous-titres anti-aliasés (10 types supportés) avec des polices européennes/ISO 8859-1,2(Hongrois, Anglais, tchèque, etc.) Cyrilliques, Coréennes, ainsi que de l'OnScreenDisplay (OSD)?

Ce lecteur peut lire les fichiers MPEGS endommagés (utile pour certains VCDs), ainsi que les mauvais fichiers AVI qui ne sont pas lisibles par le célèbre windows média player. Même les fichiers AVI sans index sont lisibles, et vous pouvez reconstruire ses indexes soit temporairement avec l'option `-idx`, soit de manière définitive avec MEncoder, autorisant ainsi l'avance/retour rapide ! Comme vous pouvez le constater, le stabilité et la qualité sont mes objectifs prioritaires, même si la vitesse est aussi considérée comme importante.

MEncoder (MPlayer's Movie Encoder) est un simple encodeur de vidéos, conçu pour encoder des vidéos jouables par MPlayer (AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA) dans d'autres formats jouables par MPlayer (voir plus bas). Il peut encoder avec des codecs variés, comme DivX4 (1 ou 2 passes), libavcodec, PCM/MP3/VBR MP3 audio. Il possède également un puissant système de plugins pour la manipulation vidéo.

#### Fonctionnalités de MEncoder

- encodage à partir de la grande variété de formats de fichiers et de décodeurs de MPlayer
- encodage dans tous les codecs libavcodec de ffmpeg
- encodage vidéo depuis les tuners TV compatibles V4L
- encodage/multiplexage vers fichiers AVI entrelacés avec index propre
- création de fichiers à partir de flux audio externes
- encodage 1, 2 ou 3 passes
- audio MP3 VBR - NOTE IMPORTANTE: l'audio MP3 VBR ne peut pas toujours être bien lu sur les lecteurs Windows! D'un autre côté, actuellement L'encodage CBR de MEncoder est complètement cassé sur les lecteurs Win32 :)
- audio PCM
- copie de flux (stream)
- synchronisation A/V de la source (basé sur PTS, peut être désactivé avec l'option -mc 0)
- correction FPS avec l'otpion `-ofps` (utile pour l'encodage d'un VOB 29.97fps en AVI 24fps)
- utilise notre très puissant système de plugins (crop, expand, flip, postprocess, rotate, scale, conversion rgb/yuv)
- peut encoder les sous-titres DVD/VOBsub ET texte dans le fichier de destination
- peut ripper les sous-titres DVD en format Vobsub

#### Fonctionnalités prévues

- variété encore plus importante de formats/codecs disponibles (création de fichiers VOB avec des flux DivX4/Indeo5/VIVO :)

MPlayer et MEncoder peuvent être distribués selon les termes de la GNU General Public License Version 2.

## 1.1 Histoire

Cela a commencé un an auparavant... J'ai essayé de nombreux lecteurs de vidéos sous GNU/Linux (mtv,xmps,dvdview,livid/oms,VideoLAN, xine,xanim,avifile,xmmp) mais il présentaient tous des défauts, particulièrement sur certains fichiers ou avec la synchronisation audio/video. La plupart étaient incapables de lire à la fois les fichiers MPEG1, MPEG2 et AVI (DivX). De plus ils avaient des problèmes de vitesse/qualité d'images. J'ai donc décidé d'en écrire/modifier un... A'rpi, 2001

- mpg12play v0.1-v0.3: 22-25 Sep 2000
  Le premier essai, réalisé en une demi-heure ! J'ai utilisé libmpeg3 de www.heroinewarrior.com dans sa version 0.3, mais il présentait des problèmes de vitesse/qualité d'images.
- mpg12play v0.5-v0.87: 28 Sep-20 Oct 2000
  Le codec Mpeg a été remplacé par DVDview de Dirk Farin, du bon boulot, mais c'était lent et écrit en C++ (A'rpi déteste le C++!!!)
- mpg12play v0.9-v0.95pre5: 21 Oct-2 Nov 2000
  Le codec mpeg était libmpeg2 (mpeg2dec) par Aaron Holtzman & Michel Lespinasse. Il est excellent, un code C rapide et bien optimisé avec une qualité d'image parfaite et 100% compatible avec les standards MPEG.
- MPlayer v0.01: 11 Nov 2000
  Le premier MPlayer.
- MPlayer v0.3-v0.9: 18 Nov-4 Dec 2000
  Un condensé de deux programmes: mpg12playv0.95pre6 et mon nouveau lecteur de AVI 'avip' basé sur le chargeur de DLL Win32 de avifile.
- MPlayer v0.10: 1er Jan 2001
  Les lecteurs MPEG et AVI dans un seul binaire !
- MPlayer v0.11:
  De nouveaux développeurs ont joint le projet et depuis la version 0.11 le projet mplayer est un travail d'équipe ! Ajouté le support des fichiers .ASF, et de l'encodage/décodage OpenDivX (c.f. ProjectMayo).
- MPlayer v0.17 "The IdegCounter" 27 Avr 2001
  La finalisation de la version 0.11pre après 4 mois de développement intensif ! Essayez la, et soyez conquis ! Des dizaines de nouvelles fonctionnalités... et bien sûr le code existant a été amélioré, les bogues fixés, etc...
- MPlayer 0.18 "The BugCounter" 9 Juillet 2001
  Deux mois après la 0.17, une nouvelle parution.. Complété le support ASF, plus de formats pour les sous-titres, introduction de libao (similaire à libvo pour l'audio), encore plus stable et performant.... C'est un MUST !
- MPlayer 0.50 "The Faszom(C)ounter" 8 Oct 2001
  Hmm. Une nouvelle sortie. Des tonnes de nouvelles fonctionnalités, une GUI en version bêta, des bogues fixés, de nouveaux drivers vo et ao,porté sur de nombreux systèmes, incluant les codecs DivX Open-Source, et bien plus encore... Essayez le !
- MPlayer 0.60 "The RTFMCounter" 3 Jan 2002
  Support des formats de fichier MOV/VIVO/RM/FLI/NUV, CRAM natif, Cinepak, codecs ADPCM, et support des codecs XAnim binaires; support des sous-titres DVD, première sortie de MEncoder, capture TV, cache, liba52, réparations innombrables.
- MPlayer 0.90pre10 "The BirthdayCounter" 11 Nov 2002
  Bien que ce ne soit pas une version officielle, Je la mentionne parce qu'elle est sortie 2 ans après MPlayer v0.01. Joyeux anniversaire, MPlayer!
- MPlayer 0.90rc1 "The CodecCounter" 7 Dec 2002
  Là encore, pas une version officielle, mais après l'ajout du support Sorenson 3 (QuickTime) et Windows Media 9, MPlayer est le premier lecteur de film au monde qui supporte tous les formats vidéos connus!
- MPlayer 0.90 "The CounterCounter" 6 Avr 2003
  Après plus d'un an, nous avons finalement conclus que le code était de nouveau suffisemment stable, et prèt à sortir en temps que version officielle. Malheureusement nous avons oublié d'incrémenter le numéro de version, et d'autres bogues ennuyeux sont apparus, donc préparez-vous pour...
- MPlayer 0.91 "?" Date encore inconnue

## 1.2 Installation

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 le coup.

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

#### Logiciels nécessaires:

- binutils - version conseillée : 2.11.x . Ce programme génère les instructions spécifiques MMX/3DNow!, 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 !!! Il 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.0.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.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, il 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.0). 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 les 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 ci-dessous.
- 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éo qui rament avec le pilote xv). Utilisez toujours la plus récente (à partir de 1.2.x).
- libjpeg - décodeur JPEG optionnel, utilisé par -mf et certains fichiers QT MOV. Utile pour MPlayer et Mencoder si vous prévoyez de travailler avec des fichiers jpeg.
- libpng - recommandé et décodeur (M)PNG par défaut. 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).
- libogg - optionnel, requis pour lire les fichiers au format OGG.
- libvorbis - optionnel, requis pour lire du OGG Vorbis audio.
- LIVE.COM Streaming Media - optionnel, requis pour lire des flux RTSP/RTP.
- directfb - optionnel, depuis http://www.directfb.org
- 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.

#### Codecs:

- libavcodec: Ce paquet de codecs est capable de décoder les flux encodés en H263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1, sur plusieurs plateformes. Il est également considéré comme le plus rapide pour cette tâche. Voir la section libavcodec pour de plus amples détails. Fonctionnalités:
  - ajoute le décodage des vidéos mentionnées plus haut, sur des machines non-x86
  - encodage avec la plupart des codecs mentionnés
  - ce codec est le plus rapide codec disponible pour les formats DivX/3/4/5 et autre MPEG4. Recommandé!
- codecs Win32: Si vous prévoyez d'utiliser MPlayer sur une architecture non x86, vous en aurez probablement besoin. Téléchargez et dézippez w32codecs.zip dans /usr/lib/win32 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 notre. 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 tune ou des caméras numériques (exemple: DV, ATI VCR, MJPEG)
  - requis si vous voulez lire des films WMV8, 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.
- codecs QuickTime: sur les plateformes x86 ces codecs peuvent être utilisés pour décoder Sorenson v1/v3, RPZA, et autres vidéos QuickTime, et 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 1 passe ou 2 passes avec MEncoder
  - peut lire les films au vieux format DivX3 plus rapidement que les DLL Win32 mais plus lentement que libavcodec!
  - les sources sont fermées, et seule une version x86 est disponible.
- XviD: Encodeur libre alternatif à Divx4Linux
  Caractéristiques:
  - encodage 1 passe ou 2 passes avec MEncoder
  - Les sources sont ouvertes, donc c'est multiplateforme.
  - Il est environ 2 fois plus rapide que DivX4 pour l'encodage - pour une qualité similaire.
- The 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. Utilisez les paquets deb/rpm si ils sont disponibles, ou compilez à partir des sources (c'est un tarball mis à jour chaque nuit à partir du CVS Vorbis).
- MPlayer peut utiliser les bibliothèques de RealPlayer 8 ou RealONE pour lire de la vidéo RealVideo 2.0 - 4.0, et de l'audio Sipro/Cook. Voir la section format de fichier de RealMedia pour les instructions d'installation et plus d'information.

#### Cartes Vidéo

Il y a généralement deux types de cartes vidéo. 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 possible. Voir aussi la section 3dfx TV-out. Si vous utilisez X, utilisez au moins 4.2.0, car les pilotes Xv 3dfx sont cassés dans 4.1.0 et 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é 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 pour plus de détails. Plus vieilles, 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 (nVidia ne partage pas cet avis). Les cartes nVidia ont des chipsets bas-de-gamme et de mauvaise qualité. Et qui plus est, le pilote nVidia inclus dans XFree86 ne supporte l'accélération YUV matérielle 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.
- 3DLabs GLINT R3 et Permedia3: un pilote VIDIX est fourni (pm3_vid). Reportez vous à la section VIDIX pour plus de détails.
- Autres 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épends 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'.

#### Cartes non-YUV

L'affichage en plein-écran peut être obtenu soit en activant le redimensionnement logiciel (utilisez les options `-zoom` ou `-vop scale`, 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 DGAr et pilote X11 pour plus de détails. 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.

#### Certaines cartes:

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

#### 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 SP/DIF: 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 MPlayer. Il est fortement recommandé de lire la section carte son !

#### Fonctions:

- 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.

Maintenant compilez MPlayer:

        ./configure
        make
        make install

A ce point, MPlayer est prêt à fonctionner. Le fichier `$PREFIX/etc/mplayer/codecs.conf` n'est nécessaire que si vous changez ses propriétés, car le binaire principale en contient une copie interne.
Vérifiez si vous avez un `codecs.conf` dans votre répertoire home (`~/.mplayer/codecs.conf`) provenant d'une ancienne installation de MPlayer, et supprimez-le.

Notez que si vous avez un `codecs.conf` dans `~/.mplayer/`, le `codecs.conf` interne et celui du système seront complètement ignorés. Ne faites pas cela à moins que vous vouliez jouer avec le fonctionnement de MPlayer car cela peut poser de nombreux problèmes. Si vous voulez changer l'ordre de recherche des codecs, utilisez les options `-vc`, `-ac`, `-vfm`, ou `-afm` en ligne de commande ou 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 attentivement 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 OSDpour les détails

## 1.3 A propos de l'interface graphique ?

La GUI à besoin de GTK 1.2.x (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 devel, généralement 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 soit :

- spécifier `gui=yes` dans votre fichier de configuration
- `ln -s $PREFIX/bin/mplayer $PREFIX/bin/gmplayer` , et lancer `gmplayer` au lieu de `mplayer`.

Actuellement vous ne pouvez pas utiliser l'option `-gui` 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/Skin`), ou dans `$HOME/.mplayer/Skin`. Par défaut, MPlayer consulte ces répertoires à la recherche d'un répertoire nommé default, mais vous pouvez utiliser l'option `-skin newskin`, ou placer `skin=newskin` dans votre fichier de configuration pour utiliser la skin dans le répertoire `*/Skin/newskin`.

## 1.4 Sous-titres et OSD

MPlayer peut afficher des sous-titres durant le film. les formats suivants sont supportés:

- VobSub
- OGM
- CC (closed caption)
- Microdvd
- SubRip
- SubViewer
- Sami
- VPlayer
- RT
- SSA
- MPsub
- AQTitle
- JACOsub

MPlayer peut convertir les formats précédemment listés (excepté les trois premiers) dans dans les formats de destination suivants, avec les options associées:

- MPsub: `-dumpmpsub`
- SubRip: `-dumpsrtsub`
- Microdvd: `-dumpmicrodvdsub`
- JACOsub: `-dumpjacosub`
- Sami: `-dumpsami`

Les options en ligne de commande diffèrent légèrement suivant les différents formats:

#### Sous-titres VobSub

Les sous-titres VobSub consistent en un gros (plusieurs méga-octets) fichier .SUB, et d'éventuels fichiers .IDX et/ou .IFO.
Utilisation: si vous avez des fichiers tels que `sample.sub`, `sample.ifo`(optionnel), `sample.idx` - vous devrez passer les options `-vobsub sample [-vobsubid <id>]` (éventuellement avec le chemin complet). L'option `-vobsubid` est comme l'option `-sid` pour les DVDs, vous pouvez choisir les pistes de sous-titres (langues) avec. Au cas où `-vobsubid` est omis, MPlayer essaiera d'utiliser les langues indiqués par l'option `-slang` et se rabattra sur l'objet `langidx` du fichier .IDX pour définir la langue de sous-titres. Si cela échoue, il n'y aura pas de sous-titres.

#### Autres sous-titres

Les autres formats consistent en un seul fichier texte contenant le timing, l'emplacement et autres infos du texte.
Utilisation: si vous avez un fichier tel que `sample.txt`,vous devrez passer l'option `-sub sample.txt` (éventuellement avec le chemin complet).

#### Réglage du timing et de l'emplacement des sous-titres:

`-subdelay <sec>`
  Décale les sous-titres de <sec> secondes. Peut être négatif.
`-subfps <rate>`
  Spécifie le rapport trame/sec du fichier de sous-titres (nombre à virgule).
`-subpos <0 - 100>`
  Spécifie la position des sous-titres sur l'écran.

Si vous constatez un décalage progressif entre le film et les sous-titres en utilisant un fichier de sous-titres MicroDVD, il est probable que la vitesse du film et celle des sous-titres sont différentes.
Veuillez noter que le format de sous-titres MicroDVD utilise des numéros de trames absolus pour sa synchronisation, et de plus l'option `-subfps` ne peut pas être utilisée avec ce format. MPlayer n'a pas la possibilité de deviner la vitesse du fichier de sous-titres, vous devrez donc convertir manuellement la vitesse. Il y a un petit script perl dans le répertoire `contrib` du serveur FTP de MPlayer qui fera la conversion pour vous.

MPlayer essaiera de deviner les fichiers de sous-titres que vous voulez utiliser pour lire un film. Si, comme dans la plupart des cas, le fichier de sous-titres et celui du film ont le même nom et sont au même endroit, vous n'avez pas besoin de définir les options de sous-titres. Jouez simplement le film, MPlayer gérera les sous-titres automatiquement.

A propos des sous-titres DVD, voir la section DVD.

### 1.4.1 Format de sous-titres propre à MPlayer (MPsub)

MPlayer introduit un nouveau format de sous-titres appelé MPsub. Il a été conçu par Gabucino. Son principal avantage est de se baser dynamiquement sur la durée (bien qu'il possède également un mode basé sur les frames). Exemple(de DOCS/tech/mpsub.sub):

`# premier nombre : attends cette durée après la disparition du dernier sous-titre
# second nombre : affiche le sous-titre en cours pour tant de secondes
15 3
A long long, time ago...
0 3
in a galaxy far away...
0 3
Naboo was under an attack.
`

Comme vous pouvez le constater, l'objectif ici est de faciliter l'édition la synchronisation, la jointure et le découpagedes sous-titres. Si vous avez un sous-titre SSA mal synchronisé avec votre version de la vidéo, faites simplement un `mplayer dummy.avi -sub source.ssa -dumpmpsub`. Un fichier `dump.mpsub`sera crée dans le répertoire courant, contenant le texte du sous-titre au format MPsub. Vous pourrez alors aisément ajouter/soustraire du temps entre les sous-titres.

Les sous-titres sont affichés par la technique de l''OSD', On Screen Display. OSD est utilisé pour afficher le temps de lecture, la barre de volume, d'avance/retour rapide, le contraste, etc.

### 1.4.2 Installer l'OSD et les sous-titres

Vous aurez besoin d'un paquetages de polices pour MPlayer afin d'utiliser les fonctions d'OSD/SUB. Plusieurs manières de les obtenir :

- téléchargez des paquetages de polices prêtes à l'emploi depuis le site de MPlayer. Note: Les polices actuellement disponibles sont limitées a l'iso 8859-1/2, mais il y en a quelques autres (coréen, russe, 8859-8, etc) dans la section contrib/font du FTP, créées par les utilisateurs.
  Les polices devront disposer du fichier font.desc approprié qui associe les positions maps unicode au code actuel du texte sous-titré. Une autre solution est d'avoir des sous-titres encodés en utf8 et d'utiliser l'option `-utf8` ou de renommer le fichier des sous-titres en <video_name>.utf et de le placer dans le même répertoire que le film. Enregistrer de codepages différents en utf8 peut se faire en utilisant les programmes konwert (debian) ou iconv (RedHat). Quelques liens:
  - ftp://ftp.mplayerhq.hu/MPlayer/releases/fonts/ - polices ISO
  - ftp://ftp.mplayerhq.hu/MPlayer/contrib/fonts/ - contributions d'utilisateurs
  - http://realtime.ssu.ac.kr/~lethean/mplayer - polices coréeenes & plugin RAW
- utilisez le générateur de polices TOOLS/subfont-c. C'est un outil complet pour convertir les polices TTF/Type1/etc vers des paquetages de polices mplayer. (lisez TOOLS/subfont-c/README pour plus de détails)
- Utilisez le plugin générateur de polices de GIMP situé dans TOOLS/subfont-GIMP (note: vous devez également avoir le plugin HSI RAW, voir url plus bas)
- utiliser une fonte TrueType (TTF), selon la librairie freetype. La version 2.0.9 ou supérieur est obligatoire! Ensuite vous avez deux méthodes:
  - utilisez l'option `-font /chemin/de/arial.ttf` pour spécifier un fichier de polices TrueType pour chaque occasion
  - créez un lien symbolique: `ln -s /chemin/de/arial.ttf ~/.mplayer/subfont.ttf`

Si vous avez choisi des polices non-TTF, dézippez le fichier vers `~/.mplayer` ou `$PREFIX/share/mplayer`. Ensuite renommez ou faite un lien symbolique de l'un d'eux sur `font` (par ex: `ln -s ~/.mplayer/arial-24 ~/.mplayer/font`). Vous pouvez maintenant voir un compteur dans le coin supérieur gauche du film. (Faites les apparaître/disparaître avec la touche 'o').

L'OSD possède 4 états: (interchangeable avec 'o')

(les sous-titres sont toujours activés, pour les désactiver merci de lire la page de man)

- barre de volume + barre d'avancement (par défaut)
- barre de volume + barre d'avancement + compteur + position en pourcentages quand déplacement
- barre de volume + barre d'avancement + compteur + durée totale du média
- uniquement les sous-titres

Vous pouvez en modifier le comportement par défaut en spécifiant la variable `osdlevel=` dans le fichier config, ou en précisant l'option `-osdlevel` en ligne de commande.

### 1.4.3 Menu OSD

MPlayer possède une interface de menu OSD complètement modulable.

NOTE: 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 file.avi`
7. pressez n'importe laquelle des touches menu que vous avez défini

## 1.5 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. Il est automatiquement activé si disponible, mais requiert des droits root, un binaire MPlayer setuid root ou un noyau configuré dans ce but.
  Si vous utilisez un noyau 2.4.19pre8 ou plus récent, vous pouvez ajouter la fréquence maxi de la RTC pour les utilisateurs normaux au travers du système de fichier `/proc` Utilisez cette commande pour activer la RTC pour les utilisateurs normaux:

  `echo 1024 > /proc/sys/dev/rtc/max-user-freq`

  Si vous n'avez pas un noyau si récent, vous pouvez aussi changer une ligne du fichier `drivers/char/rtc.c` et recompiler votre noyau. Trouvez la section suivante

             * We don't really want Joe User enabling more
             * than 64Hz of interrupts on a multi-user machine.
             */
            if ((rtc_freq > 64) && (!capable(CAP_SYS_RESOURCE)))

  et changez le 64 en 1024. Cependant, vous devriez savoir ce que vous faites.
  Vous pouvez voir l'efficacité du nouveau timer sur la ligne d'état.
  Les fonctions d'économie d'énergie du BIOS de certains portables qui contrôlent la vitesse des processeurs interfèrent avec la RTC. L'audio et la vidéo peuvent alors se désynchroniser. Brancher l'alimentation sur secteur avant de démarrer le portable semble aider. Vous pouvez toujours désactiver le support RTC avec l'option `-nortc`. Dans certaines configurations matérielles (confirmé durant l'utilisation d'un lecteur DVD sans DMA sur une carte ALi1541), l'utilisation de la RTC peut causer une image qui "e;saute"e;. Dans ce cas, il est recommandé d'utiliser la troisième méthode.
- Le troisième code de synchro est activé avec l'option `-softsleep`. Il à la précision de la RTC, mais n'utilise pas la RTC. D'un autre côté, il nécessite plus de CPU.

Note: Ne JAMAIS installer un binaire MPlayer setuid root sur un système multi-utilisateur! C'est une manière facile pour chacun de devenir root.

# 2. Fonctionnalités

## 2.1 Formats supportés

## 2.2 Codecs supportés

## 2.3 Périphériques de sortie Video & Audio

## 2.4 Entrée TV

Cette section concerne l'activation de la lecture/enregistrement à partir d'un tuner TV compatible V4L. Voir la page de man pour une description des options TV et des contrôles clavier.

### 2.4.1 Compilation

1. D'abord, vous devez recompiler. `./configure` autodétectera les entêtes v4l du noyau et l'existence des entrées `/dev/video*`. Si elles existent, le support TV sera activé (voir le résultat de `./configure`).
2. Assurez-vous que votre tuner fonctionne avec d'autres logiciels TV pour Linux. par exemple xawtv.

### 2.4.2 Astuces d'utilisation

La liste complète des options est disponible sur la page de manuel. Voci juste quelques astuces:

- Utilisez l'option `channels`. Un exemple:
  `-tv on:channels=26-MTV1,23-TV2`
  Explication: en utilisant cette option, seuls les canaux 26 et 23 seront utilisables, et il y a un joli texte OSD lors des changements de canal affichant le nom du nouveau. Les espaces dans le nom du canal doivent être remplacés par le caractère "_".
- Choisissez des dimensions d'image sensées. La dimension de l'image de destination devrait être divisible par 16.
- Si vous capturez la vidéo avec une résolution verticale supérieure à la moitié de la pleine résolution (c-a-d. 288 pour PAL ou 240 pour NTSC, assurez-vous d'avoir désactivé l'entrelacement. Sinon votre film sera distordu pendant les scènes fast-motion et le contrôleur de bitrate ne sera probablement même pas capable de garder le bitrate demandé car l'artefact de désentrelacement produit un grand taux de détails et donc consomme plus de bande passante. Vous pouvez désactiver l'entrelacement avec `-vop pp=DEINT_TYPE`. Généralement `pp=lb` peut faire un bon travail, m'est c'est une histoire de préférence personnelle. Voyez les autres algorithmes de désentrelacement dans le manuel et essayez-les.
- Coupez les espaces morts. Quand vous capturez la vidéo, les bords sont généralement noirs ou contiennent du "e;bruit"e;. De nouveau cela consomme de la bande passante inutilement. Plus précisément ce ne sont pas les zones noires elles-mêmes mais les transitions nettes entre le noir et la vidéo plus claire qui jouent, mais ce n'est pas très important pour le moment. Avant que vous commenciez la capture, ajustez les arguments de l'option `crop` pour que toutes les saletés des bords soient coupées. De nouveau, n'oubliez pas de garder des dimensions sensées.
- Regardez la charge CPU. Elle ne devrait pas dépasser la limite des 90% la plupart du temps. Si vous avez un gros tampon, MEncoder peut survivre à une surcharge pendant quelques secondes mais pas plus. Il vaut mieux désactiver l'économiseur d'écran OpenGL et les trucs similaires.
- Ne jouez pas avec l'horloge système. MEncoder l'utilise pour la synchro A/V. Si vous réglez l'horloge système (surtout en arrière dans le temps), MEncoder va se sentir perdu et va perdre des trames. C'est un problème important lorsque vous êtes en réseau et que vous utilisez certains logiciels de synchronisation comme NTP. Vous devrez désactiver NTP pendant le processus de capture si vous voulez capturer correctement.
- Ne changez pas le `outfmt` à moins que vous sachiez ce que vous faites ou votre si votre carte/pilote ne supporte pas la valeur par défaut (palette YV12) Dans les versions précédentes de MPlayer/MEncoder il était nécessaire de spécifier le format de sortie. Ce problème devrait être résolue dans la version actuelle et `outfmt` n'est plus requis, et la valeur par défaut convient dans la plupart des cas. Par exemple, si vous capturez en DivX en utilisant libavcodec et que vous spécifiez `outfmt=RGB24` de façon à augmenter la qualité de l'image capturée, l'image capturée sera reconverti plus tard en YV12; donc la seule chose que vous obtiendrez est un gaspillage massif de puissance CPU.

Pour spécifier la palette I420 (`outfmt=i420`), vous devez ajouter une option `-vc rawi420` à cause d'un conflit entre fourcc et un codec vidéo Intel Indeo.

- Il y a plusieurs façons de capturer l'audio. Vous pouvez attraper le son soit avec votre carte son via un cable externe entre la carte vidéo et l'entrée-ligne, soit en utilisant le DAC intégré au chip bt878. Dans ce dernier cas, vous devrez charger le pilote btaudio. Lisez le fichier `linux/Documentation/sound/btaudio` (dans l'arborescence du noyau, pas celle de MPlayer) pour les instructions d'utilisations de ce pilote
- Si MEncoder ne peut pas ouvrir le périphérique audio, assurez-vous qu'il soit réellement disponible. Il peut y avoir des ennuis avec certains serveurs de son comme arts(KDE) ou esd (GNOME). Si vous avez une carte son full duplex (presques toutes les cartes descentes le supportent aujourd'hui), et que vous utilisez KDE, essayez d'activer l'otpion "full duplex" dans le menu des préférences du serveur de son.

### 2.4.3 Exemples

Sortie muette, vers AAlib :)
`mplayer -tv on:driver=dummy:width=640:height=480 -vo aa`
Entrée depuis V4L standard
`mplayer -tv on:driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv`
Un exemple plus élaboré. MEncoder capture l'image PAL entière, coupe les marges, et désentrelace l'image en utilisant un algorithme de mélange linéaire. L'audio est compressé à un bitrate constant de 64kbps, en utilisant le codec LAME. Cette combinaison est adaptée pour capturer des films.
`mencoder -tv on:driver=v4l:width=768:height=576 \
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \
-oac mp3lame -lameopts cbr:br=64 \
-vop pp=lb,crop=720:544:24:16 -o sortie.avi`
Cela dimensionne également l'image en 384x288 et compresse la vidéo avec un bitrate de 350kbps en mode haute qualité. L'option vqmax perd le quantizer et permet au compresseur vidéo d'atteindre un bitrate plus bas au détriment de la qualité. Cela peut être utilisé pour capturer des longues séries TV, quand la qualité n'est pas très importante.
`mencoder -tv on:driver=v4l:width=768:height=576 \
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
-oac mp3lame -lameopts cbr:br=48 \
-vop scale=384:288,pp=tn/lb,crop=720:540:24:18 -sws 1 -o sortie.avi`
Il est également possible de spécifier des dimensions d'image plus petites dans l'option `-tv` et d'omettre le zoom logiciel mais cette approche utilise le maximum d'informations disponibles et est un peut plus résistant au bruit. Les chips bt8x8 peuvent faire une moyenne de pixels uniquement dans la direction horizontale à cause d'une limitation matérielle.

## 2.5 Listes d'Edition de Décision (EDL)

Le système de liste d'édition de décision (EDL) vous permet de sauter ou rendre muet des sections de vidéos pendant la lecture, basé sur un fichier de configuration EDL spécifique au film.

Ceci est utile pour ceux qui veulent voir un film en mode "tout public". Vous pouvez couper toutes violence, profanation, Jar-Jar Binks .. d'un film suivant vos propres préférences personnelles. A part ça, il y a d'autres utilisations, comme sauter automatiquement les pubs dans les fichiers vidéos que vous regardez.

Le format de fichier EDL est plutôt rudimentaire. Une fois que le système EDL aura atteint un certain niveau de maturité, un format de fichier basé sur XML sera probablement implémenté (en gardant une compatibilité descendante avec les précédents formats EDL).

Le nombre maximum d'entrées EDL pour l'incarnation actuelle de EDL est 1000. Si vous avez besoin de plus, changez le `#define MAX_EDL_ENTRIES` dans le fichier `edl.h`.

### 2.5.1 Utiliser un fichier EDL

Incluez l'option `-edl <nomfichier>` quand vous lancez MPlayer, avec le nom du fichier EDL que vous voulez appliquer à la video.

### 2.5.2 Faire un fichier EDL

Le format de fichier actuel EDL est:

`[seconde de départ] [seconde de fin] [action]`

Où les secondes sont des nombres à virgule et l'action est soit `0` pour sauter, soit `1` pour couper le son. Exemple:

    5.3   7.1    0
    15    16.7   1
    420   422    0

Cela va sauter de la seconde 5.3 à la seconde 7.1 de la vidéo, puis va couper le son à 15 secondes, le remettre à 16.7 secondes et sauter de la seconde 420 à la seconde 422 de la vidéo. Ces actions seront appliqués quand le temps de lecture atteint le temps indiqué dans le fichier.

Pour créer un fichier EDL à partir duquel travailler, utilisez l'option `-edlout <nomfichier>`. Durant la lecture, quand vous voulez marquer les deux secondes précédentes à sauter, tapez `i`. Une entrée correspondante sera écrite dans le fichier. Vous pouvez ensuite revenir et affiner le fichier EDL généré.

# 3. Utilisation

## 3.1 Ligne de commande

MPlayer utilise un ordre de lecture complexe. Il consiste en les options globales écrites en premier (par exemple `mplayer -vfm 5`), et les options écrites après les noms de fichier, qui s'appliquent uniquement au nom de fichier/URL/autre donné (par exemple `mplayer -vfm 5 movie1.avi movie2.avi -vfm 4`).
Vous pouvez regrouper les noms de fichiers/URLs en utilisant { et }. C'est utile avec l'option -loop: `mplayer { 1.avi -loop 2 2.avi } -loop 3` jouera les fichiers dans cet ordre: 1 1 2 1 1 2 1 1 2

| fichier |  | `mplayer [options] [chemin/]nomfichier`
| fichiers |  | `mplayer [default options] [chemin/]nomfichier1 [options pour nomfichier1] nomfichier2 [options pour nomfichier2] ...`
| VCD |  | `mplayer [options] -vcd nopiste [-cdrom-device /dev/cdrom]`
| DVD |  | `mplayer [options] -dvd notitre [-dvd-device /dev/dvd]`
| WWW |  | `mplayer [options] http://site.com/fichier.asf (les playlists peuvent être utilisées, également)`
| RTSP |  | `mplayer [options] rtsp://server.exemple.com/NomFlux`

Les dernières versions de MPlayer acceptent également les pistes VCD et DVD en style URL, comme xine en fait: `mplayer dvd://1` ou `mplayer vcd://1`

      mplayer -vo x11 /mnt/Films/Contact/contact2.mpg
      mplayer -vcd 2
      mplayer -afm 3 /mnt/DVDtrailers/alien4.vob
      mplayer -dvd 1 -dvd-device /dev/hdc
      mplayer -abs 65536 -delay -0.4 -nobps ~/movies/test.avi

## 3.2 Contrôles

MPlayer dispose d'une couche de contrôle pleinement configurable, qui vous permet de contrôler MPlayer avec le clavier, la souris, le joystick ou une télécommande (en utilisant LIRC). Voir la page de man pour une liste complète des contrôles clavier.

### 3.2.1 Configuration des contrôles

MPlayer vous permet d'associer n'importe quel touche/bouton à n'importe quelle commande MPlayer en utilisant un simple fichier de config. La syntaxe consiste un nom de touche suivi d'une commande. Le fichier de config par défaut est `$HOME/.mplayer/input.conf` mais cela peut être outrepassé en utilisant l'option `-input` (les chemins relatifs le sont par rapport à `$HOME/.mplayer`).

Exemple:

    ##
    ## MPlayer input control file
    ##

    RIGHT seek +10
    LEFT seek -10
    - audio_delay 0.100
    + audio_delay -0.100
    q quit
    > pt_step 1
    < pt_step -1
    ENTER pt_step 1 1

#### 3.2.1.1 Noms des touches

Vous pouvez obtenir la liste complète en exécutant `mplayer -input keylist`

#### Clavier:

- N'importe quel caractère imprimable
- SPACE
- ENTER
- TAB
- CTRL
- BS
- DEL
- INS
- HOME
- END
- PGUP
- PGDWN
- ESC
- RIGHT
- LEFT
- UP
- DOWN

#### Souris (uniquement sous X):

- MOUSE_BTN0 (bouton gauche)
- MOUSE_BTN1 (bouton droit)
- MOUSE_BTN2 (bouton du milieu)
- MOUSE_BTN3 (Molette)
- MOUSE_BTN4 (Molette)
- ...
- MOUSE_BTN9

#### Joystick (son support doit avoir été activé à la compilation):

- JOY_RIGHT ou JOY_AXIS0_PLUS
- JOY_LEFT ou JOY_AXIS0_MINUS
- JOY_UP ou JOY_AXIS1_MINUS
- JOY_DOWN ou JOY_AXIS1_PLUS
- JOY_AXIS2_PLUS
- JOY_AXIS2_MINUS
- ...
- JOY_AXIS9_PLUS
- JOY_AXIS9_MINUS

#### 3.2.1.2 Commandes

Vous pouvez obtenir la liste complète des commandes en exécutant "mplayer -input cmdlist"

- seek (int) val [(int) type=0]

  Saute à une position donnée.
  Le type 0 est un déplacement relatif de +/- val secondes.
  Le type 1 se déplace à val% du film.

- audio_delay (float) val

  Ajuste le décalage audio de val secondes

- quit

  Quitte MPlayer

- pause

  Pause/dépause la lecture

- grap_frames

  Quelqu'un sait ?

- pt_step (int) val [(int) force=0]

  Va vers l'entrée précédente/suivante de l'ordre de lecture. Le signe de val indique la direction.
  Si aucune entrée n'est disponible dans la direction demandée, cela ne fera rien à moins que force ne soit pas égal à 0.

- pt_up_step (int) val [(int) force=0]

  Comme pt_step mais il saute au prochain/précédent dans la liste parente. Il est utilisé pour casser les boucles internes dans le playtree.

- alt_src_step (int) val

  Quand plusieurs sources sont disponibles cela sélectionne la prochaine/précédente (pas supporté par les playlists asx).

- sub_delay (float) val [(int) abs=0]

  Ajuste le décalage des sous-titres de +/- val secondes or ou le fixe à val secondes quand abs est différent de zéro.

- osd [(int) level=-1]

  Active le mode osd ou change le niveau quand level > 0.

- volume (int) dir

  Augmente/diminue le volume

- contrast (int) val [(int) abs=0]
- brightness (int) val [(int) abs=0]
- hue (int) val [(int) abs=0]
- saturation (int) val [(int) abs=0]

  Fixe/Ajuste les paramètres vidéo. L'intervalle de Val va de -100 à 100.

- frame_drop [(int) type=-1]

  Bascule/Fixe le mode saut de trames.

- sub_visibility

  Bascule l'affichage des sous-titres.

- sub_pos (int) val

  Ajuste la position des sous-titres.

- vobsub_lang

  Change la langue des sous-titres VobSub.

- vo_fullscreen

  Active le plein-écran.

- tv_step_channel (entier) dir

  Sélectionne le prochain/précédent canal tv.

- tv_step_norm

  Change la norme TV.

- tv_step_chanlist

  Change la liste des canaux.

- gui_loadfile
- gui_loadsubtitle
- gui_about
- gui_play
- gui_stop
- gui_playlist
- gui_preferences
- gui_skinbrowser

  actions GUI

### 3.2.2 Contrôle avec LIRC

Linux Infrared Remote Control - utilisez un récepteur infrarouge fait maison, une télécommande, et contrôlez votre linux à distance ! Plus d'infos sur www.lirc.org.

Si vous avez installé le paquetage lirc, configure l'autodétectera. Si tout c'est bien passé, MPlayer affichera un message du genre "Setting up lirc support..." au démarrage. Si une erreur se produit il vous le dira. Si il ne vous dis rient à propos de LIRC c'est que son support n'est pas compilé. C'est tout :-)

Le nom de l'application a lancer avec MPlayer est - oh surprise - 'mplayer'. Vous pouvez utiliser n'importe quel commande mplayer et même passer plus d'une commande en les séparant avec \n. N'oubliez pas d'activer le flag repeat dans .lircrc quand cela est approprié (déplacement, volume, etc). Voici un extrait de mon .lircrc:

    begin
         button = VOLUME_PLUS
         prog = mplayer
         config = volume 1
         repeat = 1
    end

    begin
        button = VOLUME_MINUS
        prog = mplayer
        config = volume -1
        repeat = 1
    end

    begin
        button = CD_PLAY
        prog = mplayer
        config = pause
    end

    begin
        button = CD_STOP
        prog = mplayer
        config = seek 0 1\npause
    end

Si vous n'aimez pas l'emplacement standard du fichier de config de lirc(~/.lircrc) utilisez -lircconf <nomfichier> pour spécifier un autre fichier.

### 3.2.3 Mode esclave

Le mode esclave vous permet de construire un frontend à MPlayer. Quand il est activé (avec `-slave` MPlayer lit les commandes séparées par un saut de ligne (\n) depuis l'entrée par défaut (stdin).

## 3.3 Streaming depuis le réseau ou les pipes

MPlayer peut lire des fichiers depuis le réseau, en utilisant les protocoles HTTP, MMS ou RTSP/RTP.

La lecture se fait juste en ajoutant l'URL à la ligne de commande. MPlayer utilise la variable d'environnement http_proxy, et utilise le proxy si disponible. L'utilisation du Proxy peut aussi être forcée:

`mplayer http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/flux.asf`

MPlayer peut lire depuis stdin (Pas depuis les pipes nommés). Cela peut être utilisé par exemple pour lire depuis le FTP:

`wget ftp://micorsops.com/quelquechose.avi -O - | mplayer -`

Note: il est également recommandé d'activer le CACHE pour une lecture depuis le réseau:

`wget ftp://micorsops.com/quelquechose.avi -O - | mplayer -cache 8192 -`

# 4. Section FAQ

# 5. Section CD/DVD

# 6. Ports

## 6.1 Linux

La plateforme principale de développement est Linux sur x86, bien que MPlayer fonctionne sur de nombreux autres ports Linux. Des binaires de MPlayer sont disponibles depuis de nombreuses sources. Par contre, aucun de ces paquets n'est supporté. Rapportez les problèmes à leurs auteurs, pas à nous.

## 6.1.1 Paquets Debian

Pour construire le paquet Debian, lancez la commande suivante dans le répertoire source de MPlayer:

        fakeroot debian/rules binary

En tant que root installez le paquet `.deb` comme d'habitude:

        dpkg -i ../mplayer_<version>.deb

Christian Marillat a construit des paquets Debian non-officiels pour MPlayer, MEncoder et les polices pendant un certain temps, vous pouvez les obtenir (apt-get) depuis sa page web.

### 6.1.2 Paquets RPM

Dominik Mierzejewski a créé et maintient des paquets Red Hat RPM officiels de MPlayer. Ils sont disponibles sur sa page web.

Les paquets Mandrake de MPlayer sont disponibles sur le P.L.F), SuSE inclus une version limitée de MPlayer dans sa distribution. Vous pouvez obtenir des RPMs fonctionnels sur links2linux.de.

### 6.1.3 ARM

MPlayer fonctionne sur les PDAs Linux avec un CPU ARM c-a-d Sharp Zaurus, Compaq Ipaq. La manière la plus facile d'obtenir MPlayer est de récupérer un des paquets OpenZaurus. Si vous voulez le compiler vous-même, vous devriez regarder les répertoires mplayer et libavcodec du répertoire raçine de la distribution OpenZaurus. Ils ont toujours les derniers Makefile et patches utilisés pour contruire un MPlayer CVS avec libavcodec.
Si vous avez besoin d'une GUI, vous pouvez utiliser xmms-embedded.

## 6.2 *BSD

MPlayer fonctionne sur FreeBSD, OpenBSD, NetBSD, BSD/OS et Darwin. Il y a des versions ports/pkgsrc/fink/etc de MPlayer disponibles qui sont probablement plus faciles à utiliser que nos sources brutes.

Pour construire MPlayer vous aurez besoin de GNU make (gmake - le make natif de BSD ne fonctionnera pas) et une version récente des binutils.

Si MPlayer se plaint de ne pas trouver `/dev/cdrom` ou `/dev/dvd`, créez le lien symbolique approprié:
`ln -s /dev/(votre_périphérique_cdrom) /dev/cdrom`.

Pour utiliser les DLLs Win32 avec MPlayer vous devrez recompiler le noyau avec "`option USER_LDT`" (à moins d'utiliser FreeBSD -CURRENT, où c'est le cas par défaut).

### 6.2.1 FreeBSD

Si votre CPU à SSE, recompilez votre noyau avec "options CPU_ENABLE_SSE" pour l'utiliser (FreeBSD-STABLE ou patches noyau requis).

### 6.2.2 OpenBSD

A cause des limitations dans les différentes versions de gas (relocation vs MMX), vous aurez besoin de compiler en deux étapes: D'abord assurez-vous que le non-natif est en premier dans votre `$PATH` et faites un `gmake -k`, ensuite assurez-vous que la version native est utilisée et faite `gmake`.

## 6.3 Solaris

MPlayer devrait fonctionner sous Solaris 2.6 ou plus récent.

Sur UltraSPARCs, MPlayer profite des avantages de leurs extensions VIS (équivalentes au MMX), actuellement uniquement dans libmpeg2, libvo et libavcodec, mais pas dans mp3lib. Vous pouvez regarder un fichier VOB sur un CPU à 400MHz. Vous aurez besoin d'avoir mLib installé.

Pour construire ce paquetage vous aurez besoin de GNU make (gmake, /opt/sfw/gmake), Le make natif de Solaris ne fonctionnera pas. Message d'erreur typique si vous utilisez le make de Solaris au lieu de celui de GNU:

       % /usr/ccs/bin/make
       make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen

Sur Solaris SPARC, vous aurez besoin du compilateur C/C++ GNU; cela n'a pas d'importance que le compilateur C/C++ GNU soit configuré avec ou sans l'assembleur GNU.

Sur Solaris x86,vous aurez besoin de l'assembleur GNU et du compilateur C/C++ GNU, configuré pour l'utilisation de l'assembleur GNU! Le code de mplayer sur la plateforme x86 fait un usage intensif des instructions MMX, SSE et 3DNOW! qui ne peuvent pas être assemblées en utilisant l'assembleur de Sun `/usr/ccs/bin/as`.

Le script configure essaie de trouver quel assembleur est utilisé par votre commande "gcc" (au cas ou l'autodétection échoue, utilisez l'option `--as=/endroit/ou/vous/avez/installe/gnu-as` pour indiquer au script configure où il peut trouver GNU "as" sur votre système).

Message d'erreur de configure sur un système Solaris x86 en utilisant GCC sans assembleur GNU:

       % configure
       ...
       Checking assembler (/usr/ccs/bin/as) ... , failed
       Please upgrade(downgrade) binutils to 2.10.1...

(Solution: Installez et utilisez un gcc configuré avec "--with-as=gas")

Erreur typique obtenue en construisant avec un compilateur C GNU qui n'utilise pas GNU as:

       % gmake
       ...
       gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
    	-fomit-frame-pointer  -I/usr/local/include   -o mplayer.o mplayer.c
       Assembler: mplayer.c
       "(stdin)", line 3567 : Illegal mnemonic
       "(stdin)", line 3567 : Syntax error
       ... more "Illegal mnemonic" and "Syntax error" errors ...

Pour le support DVD vous devez avoir libcss patché installé. Patch: http://www.tools.de/solaris/mplayer/.

A cause de bogues dans Solaris 8, il se peut que vous ne pouviez pas lire de disques DVD plus gros que 4 Go:

- Le pilote sd(7D) de Solaris 8 x86 a un bogue quand on accède à un bloc disque >4Go sur un périphérique en utilisant une taille de bloc logique != DEV_BSIZE (c-a-d. CD-ROM et DVD). A cause d'un dépassement des entiers 32Bit, on accède à une adresse disque modulo 4 Go. (http://groups.yahoo.com/group/solarisonintel/message/22516). Ce problème n'existe pas sur la version SPARC de Solaris 8.
- Un bogue similaire est présent dans le code du système de fichier hsfs(7FS) (aka ISO9660), il se peut que hsfs ne supporte pas les partitions/disques plus gros(ses) que 4GB, toutes les donnés sont accédés modulo 4Go. (http://groups.yahoo.com/group/solarisonintel/message/22592).

  Le problème hsfs peut être résolu en installant le patch 109764-04 (sparc) / 109765-04 (x86).

Sur Solaris avec un CPU UltraSPARC, vous pouvez obtenir de la vitesse supplémentaire en utilisant les instructions VIS du CPU pour certaines opérations couteuses en temps machine. L'accélération VIS peut être utilisé dans MPlayer en appelant les fonctions de la mediaLib de Sun.

les opérations accélérées par VIS à partir de mediaLib sont utilisées pour le décodage vidéo mpeg2 et pour la conversion de palette dans les pilotes de sortie vidéo.

## 6.4 Silicon Graphics / IRIX

Vous pouvez soit essayer d'installer le programme d'installation GNU, et (si vous ne l'avez pas mis dans votre chemin par défaut) précisez ensuite l'endroit où il est:

      ./configure --install-path=CHEMIN

Soit vous pouvez utilisez l'installation par défaut livrée avec IRIX 6.5, auquel cas vous devrez éditer le Makefile manuellement. Changez les deux lignes suivantes:

      $(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1

      $(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf

par:

      $(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/

      $(INSTALL) -m 644 codecs.conf $(CONFDIR)/

Et ensuite faites (depuis le rép. source de MPlayer):

      cp DOCS/mplayer.1 . ; cp etc/codecs.conf .

finalement lancez la construction et l'installation.

## 6.5 QNX

Fonctionne. Vous devrez télécharger SDL pour QNX, et l'installer. Ensuite lancez MPlayer avec les options `-vo sdl:photon` et `-ao sdl:nto`, et ça devrait être rapide.

La sortie `-vo x11` fonctionne encore plus lentement que sous Linux, car QNX n'a que émulation X qui est TRÈS lente. Utilisez SDL.

## 6.6. Cygwin

Le port Cygwin est toujours à ces débuts. Actuellement il n'y a aucun support pour les DLLs Win32 ou OpenGL. SDL est connu pour distordre le son et l'image ou planter sur certains systèmes. Les patches sont toujours bienvenus. Les meilleurs résultats peuvent être obtenus avec le pilote SDL natif de sortie vidéo (`-vo directx`) et le pilote Windows waveout natif de sortie audio (`-ao win32`). Vous devriez aussi jeter un oeil à la liste de diffusion mplayer-cygwin pour obtenir de l'aide et les dernières informations.

Les versions de Cygwin antérieures à 1.3.23 n'incluent pas `inttypes.h`. Vous devez copier ou lier `etc/cygwin_inttypes.h` depuis le répertoire source de MPlayer vers `/usr/include/inttypes.h` pour que MPlayer compile.

Pour avoir de la vidéo DirectX native (`-vo directx`), désarchivez les fichier d'entête DirectX 7 dans `/usr/include/`ou `/usr/local/include/`et recompilez. Vous pourez ensuite utiliser le pilote de sortie directx. Vous pouvez garder la fenêtre vidéo au premier plan avec `-vo directx:ontop`. Si l'image est distordue, essayez de désactiver l'accélération matérielle avec `-vo directx:noaccel`.````

Les instructions et les fichiers pour faire tourner SDL sous Cygwin peuvent être trouvés sur le site de libsdl.

Vous pouvez jouer des VCDs en lisant les fichiers `.DAT` ou `.MPG` que Windows fait apparaître sur les VCDs. Cela fonctionne comme ça (changez la lettre de votre lecteur CD-ROM):

`mplayer d:/mpegav/avseq01.dat`

`mplayer /cygdrive/d/MPEG2/AVSEQ01.MPG`

Les DVDs fonctionnent également, définissez juste votre périphérique DVD pour qu'il corresponde à votre périphérique CD-ROM:

`mplayer -dvd <title> -dvd-device '\\.\d:'`

Les DLLs QuickTime doivent normalement fonctionner. Compilez avec `--enable-qtx` et placez les codecs dans l'emplacement par défaut des DLL Windows, `C:\WINNT\system32` ou `C:\Windows\system` selon votre version de Windows.

La console CygWin est particulièrement lente. Il semble que rediriger la sortie ou utiliser l'option `-quiet` amèliore les performances.

# 7. Encodage avec MEncoder

# Appendice A - Listes de diffusion

Il y a des listes de diffusion publiques sur MPlayer. A moins que cela soit explicitement précisé la langue utilisée sur ces listes est l'Anglais. S'il vous plaît, n'envoyez pas de messages dans d'autres langues ou des mails HTML! La taille limite des message est 80k. Si vous avez quelque chose de plus gros, mettez le en téléchargement quelque part. Sur les listes de diffusion, les règles d'écriture et de citation sont les même que sur usenet. Suivez-les SVP, elles simplifient énormément la vie de ceux qui lisent vos mails. Si vous ne connaissez pas ces règles, lisez le HOWTO edit messages ou (si vous êtes pressé) Quoting HOWTO.

- Liste d'annonces de MPlayer: http://mplayerhq.hu/mailman/listinfo/mplayer-announce
  Liste pour les annonces MPlayer. Inscrivez-vous si vous voulez obtenir les annonces de nouvelles fonctionalités.
- Liste des développeurs de MPlayer: http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng
  Cette liste est à propos du développement de MPlayer! Parler des changements d'interface/API, des nouvelles librairies, des optimisations de code, des changements de configuration est à-propos ici. Envoyez des patches mais PAS de rapports de bogue, de questions d'utilisateur, de suggestions ou d'insultes ici, pour garder un trafic raisonnable.
- Liste des utilisateurs de MPlayer: http://mplayerhq.hu/mailman/listinfo/mplayer-users
  - Envoyez vos rapports de bogue après avoir lu les sections Bogues connus et Rapport de bogue).
  - Envoyez vos suggestions ici (après avoir entiérement lu la documentation).
  - Envoyez vos questions d'utilisateur ici (après avoir entièrement lu la documentation).
- Liste des utilisateurs hongrois de MPlayer: http://mplayerhq.hu/mailman/listinfo/mplayer-felhasznalok
  - Liste en langue hongroise
  - Sujet? Eh bien regardez par vous-même... que des insultes ou des questions à la RTFM maintenant :(
- Utilisateurs de MPlayer & Matrox G200/G400/G450/G550: http://mplayerhq.hu/mailman/listinfo/mplayer-matrox
  Questions relatives à Matrox comme
  - choses à propos de mga_vid
  - les pilotes béta Matrox officiels (pour X 4.x.x)
  - trucs matroxfb-TVout
- Utilisateurs de MPlayer & carte DVB: http://mplayerhq.hu/mailman/listinfo/mplayer-dvb
  Choses relatives à la carte de décodage matériel appelé DVB (pas DXR3!).
- MPlayer CVS-log: http://mplayerhq.hu/mailman/listinfo/mplayer-cvslog
  Tous les changements de code dans MPlayer sont automatiquement envoyés sur cette liste. Seules les questions à propos de ses changements sont autorisées ici (si vous ne comprenez pas pourquoi un changement est requis ou si vous en avez un meilleur ou si vous avez remarquer un bogue/problème possible dans l'envoi).
- Liste du portage Cygwin de MPlayer: http://mplayerhq.hu/mailman/listinfo/mplayer-cygwin
  Liste pour la discussion à propos du port MPlayer sur Cygwin.
- Liste de portage OS/2 de MPlayer: http://mplayerhq.hu/mailman/listinfo/mplayer-os2
  Liste pour les discussions sur le portage OS/2 de MPlayer.
- Liste des éditeurs et traducteurs des MPlayer Weekly News (Nouvelles Hebdomadaires de MPlayer): http://mplayerhq.hu/mailman/listinfo/mplayer-mwn
  Liste pour les discussions sur les Weekly News.

Note: Vous pouvez obtenir les archives avec recherche possible à http://www.mplayerhq.hu/cgi-bin/htsearch.

# Appendice B - Comment reporter un bogue

# Appendice C - Bogues connus

Special system/CPU-specific bugs/problems:

- SIGILL (signal 4) sur P3 en utilisant un noyau 2.2.x:
  Problème: le noyau 2.2.x n'a pas un support natif (fonctionnel) du SSE
  Solution: upgradez le noyau en 2.4.x
  Contournement: `./configure --disable-sse`
- SIGILL (signal 4) général:
  Problème: vous avez compilé et utilisez mplayer sur des machines différentes (par exemple compilé sur P3 et tournant sur Celeron)
  Solution: compilez MPlayer sur la machine sur laquelle vous l'utiliserez!
  Contournement: `./configure --disable-sse` etc. options
- "Internal buffer inconsistency" pendant l'exécution de MEncoder:
  Problème: problème connu quand lame < 3.90 à été compilé avec gcc 2.96 ou 3.x.
  Solution: utilisez lame >=3.90.
  Contournement: compilez lame avec gcc 2.95.x et retirez les paquetages lame éventuellement installés, ils peuvent avoir été compilé avec gcc 2.96.
- Son MP2/MP3 sale sur PPC:
  Problème: bogue de GCC sur les plateformes PPC, pas encore de réparation.
  Contournement: utilisez le décodeur MP1/MP2/MP3 de FFmpeg (lent) (`-ac ffmpeg`)
- sig11 dans libmpeg2, pendant le redimensionnement+encodage:
  Problème: bogue MMX connu du GCC 2.95.2, upgradez en 2.95.3.

Problèmes de synchro A-V et d'audio:

Décalage audio général ou son saccadé (existe avec tous ou de nombreux fichiers):

- le plus commun: pilote audio bogué! - Essayez d'utiliser différent pilotes, essayez l'émulation OSS ALSA 0.9 avec -ao oss, essayez aussi -ao sdl, des fois ça aide. Si votre fichier est lu correctement avec -nosound, alors vous pouvez être certain qu'il s'agit d'un problème de carte son(pilote).
- problèmes de buffer audio (taille de buffer mal détectée)
  Contournement: option mplayer -abs
- problèmes de taux d'échantillonage - peut être que votre carte ne supporte pas le taux d'échantillonage utilisé dans vos fichiers - essayez le plugin resampling(-aop)
- machine lente (CPU ou VGA)
  essayez avec -vo null, si la lecture fonctionne bien, alors vous avez un(e) carte/pilote VGA lent(e).
  Contournement: achetez une carte plus rapide ou lisez cette documentation pour augmenter la vitesse.
  Essayez aussi -framedrop

Décalage audio/désynchro spécifique à un ou quelques fichiers:

- mauvais fichier
  Contournement:
  - option -ni ou -nobps (pour les fichiers non-entrelacés ou mauvais)
    et/ou
  - -mc 0 (requis pour les fichiers avec de l'audio VBR mal entrelacé)
    et/ou
  - option -delay ou les touches +/- pendant l'exécution pour régler le décalage
  Si rien de tous ça n'aide, uploadez le fichier SVP, nous regarderons (et réparerons).
- votre carte son ne supporte pas la lecture à 48kHz
  Contournement: achetez une meilleur carte son... ou essayez de décrémenter les fps de 10% (utilisez -fps 27 pour un film à 30fps) ou utilisez le plugin resampler
- machine lente
  (si A-V n'est pas proche de 0, et que le dernier nombre de la ligne d'état augmente)
  Contournement: -framedrop

Pas de son du tout:

- votre fichier utilise un codec audio non-supporté
  Contournement: lisez la documentation et aidez-nous à en ajouter le support

Pas d'image du tout (juste une fenêtre complètement grise/verte):

- votre fichier utilise un codec vidéo non-supporté
  Contournement: lisez la documentation et aidez-nous à en ajouter le support
- le codec auto-sélectionné ne peut décoder le fichier, essayez avec un autre en utilisant les options -vc ou -vfm
- vous essayez de lire un fichier DivX 3.x avec le décodeur OpenDivX ou XviD (-vc odivx) - installez Divx4Linux et recompilez MPlayer

Problèmes de sortie vidéo:

Première note: les options -fs -vm et -zoom sont juste des recommandations, pas (encore) supporté par tous les pilotes. Donc ce n'est pas un bogue si ça ne marche pas. Seuls quelques pilotes supportent le redimensionnement/zoom, ne l'espérez pas de x11 ou dga.

OSD/sub papillotant:
- pilote x11: désolé, cela ne peut être réparé maintenant
- pilote xv: utilisez l'option -double

Image verte en utilisant mga_vid (-vo mga / -vo xmga):
- mga_vid a mal détecté la quantité de RAM de votre carte, rechargez-le en utilisant l'option mga_ram_size

# Appendice D - Format de skin de MPlayer

# Appendice E - Lamentations du Développeur