## 2.1 Formats supportés

Il est important de clarifier une erreur commune. Quand les gens voient un fichier avec une extension .AVI, ils en concluent immédiatement qu'il ne s'agit pas d'un fichier MPEG. Ce n'est pas vrai. Du moins pas entièrement. Contrairement aux suppositions populaires, un tel fichier peut contenir de la vidéo MPEG1.

Vous voyez, un codec n'est pas la même chose qu'un format de fichier.
Exemples de codecs vidéo: MPEG1, MPEG2, DivX, Indeo5, 3ivx.
Exemples de formats de fichier: MPG, AVI, ASF.

En théorie, vous pouvez placer une vidéo OpenDivX et de l'audio MP3 dans un format de fichier MPG. Par contre, la plupart des lecteurs ne pourrons pas lire ce fichier car ils attendent de la vidéo MPEG1 et de l'audio MP2 (contrairement à l'AVI, le MPG ne contient pas les champs nécessaires pour décrire ses flux vidéo et audio). Ou vous pouvez placer de la vidéo MPEG1 dans un fichier AVI. FFmpeg et MEncoder peuvent créer ces fichiers.

### 2.1.1 Formats vidéo

#### 2.1.1.1 Fichiers MPEGs

Les fichiers MPEG peuvent avoir des apparences différentes:

- MPG: C'est la forme la plus basique des formats de fichier MPEG. Il contient de la vidéo MPEG1, et de l'audio MP2 (MPEG-1 layer 2) ou plus rarement MP1.
- DAT: C'est très exactement le même format que MPG mais avec une extension différente. Il est utilisé dans les Video CDs. A cause de la façon dont sont créés les VCDs et dont linux est conçu, les fichiers DAT ne peuvent pas être lu ni copié depuis des VCDs en temps que fichiers réguliers. Vous devrez utiliser l'option `-vcd` pour lire le Video CD.
- VOB: C'est le format de fichier MPEG des DVDs. C'est le même que MPG, plus la capacité de contenir des sous-titres et de l'audio non-MPEG (AC3). Il contient de la vidéo encodé en MPEG2 et généralement de l'audio AC3, mais DTS, MP2 et LPCM non-compressé sont autorisés, également.
  Lisez la section DVD!

Les séries de trames forment des groupes indépendants dans les fichiers MPEG. Cela signifie que vous pouvez couper/joindre un fichier MPEG avec des outils fichier standards (comme `dd`, `cut`), et il restera complètement lisible.

Une fonction importante des MPGs est qu'ils ont un champ décrivant le rapport d'aspect du flux vidéo, et dans l'entête ce champs est fixé à 4:3, il est donc lu en 640x480. Les fichiers AVI n'ont pas ce champs, donc ils doivent être redimensionné durant l'encodage ou joués avec l'option `-aspect`.

#### 2.1.1.2 Fichiers AVI

Conçu par Microsoft, AVI (Audio Video Interleaved) est un format répandu et multi-usages actuellement utilisé par la plupart des vidéos DivX et DivX4. Il a de nombreux inconvénients et défauts (par exemple en streaming). Il supporte un flux vidéo et de 0 à 99 flux audio. La taille du fichier est limité à 2Go, mais il existe une extension permettant des fichiers plus gros appelée OpenDML. Actuellement Microsoft Décourage fortement son utilisation au profit d' ASF/WMV.

Il y a un hack qui permet aux fichiers AVI de contenir un flux audio Ogg Vorbis, mais qui les rend incompatibles avec le standard AVI. Mplayer peut lire ces fichiers. Le déplacement est aussi implémenté mais sévèrement gêné par les fichiers mal encodés avec des entêtes trompeuses. Malheureusement le seul encodeur capable actuellement de créer ces fichiers, NanDub, a ce problème.

Note: Les caméras DV créées des flux DV brut que les utilitaires de capture DV convertissent en deux types de fichiers AVI différents. L'AVI pourra ensuite contenir soit des flux audio et vidéo séparés que MPlayer peut lire, soit un flux DV brut pour lequel le support est en développement.

Il y a deux types de fichiers AVI:

- Entrelacé: Les contenus audio et vidéo sont entrelacés. C'est l'utilisation standard. Recommandé et généralement utilisé. Certains outils crées des AVIs entrelacés avec une mauvaise synchro. MPlayer les détecte comme entrelacés, ce qui va enduire une perte de synchro A/V, probablement pendant un déplacement. Ces fichiers devraient être lu en temps que non-entrelacés (avec l'option `-ni`.
- Non-entrelacés: D'abord vient le flux vidéo entier, puis le flux audio entier. Il a donc besoin de beaucoup de déplacements, rendant la lecture depuis le réseau ou un CD-ROM difficile./LI>

MPlayer supporte deux types de synchro pour les fichiers AVI:

- basé sur bps: Basé sur le bitrate/samplerate du flux video/audio stream. Cette méthode est utilisé dans la plupart des lecteurs, incluant avifile et Windows Media Player. Les fichiers avec des entêtes endommagées, et les fichiers créés avec de l'audio VBR mais pas avec un encodeur VBR-compliant auront une désynchro A/V avec cette méthode (la plupart du temps en se déplaçant).
- basé sur l'entrelacement: N'utilise pas le bitrate de l'entête, à la place utilise la position relative des morceaux d'audio et de vidéo entrelacés, rendant lisibles les fichiers mal encodés avec de l'audio VBR.

N'importe quel codec audio et vidéo est autorisé, mais notez que l'audio VBR n'est pas très bien supporté par la plupart des lecteurs. Le format de fichier rend l'utilisation d'audio VBR possible, mais la plupart des lecteurs attendent de l'audio CBR, donc ils échouent avec VBR. VBR n'est pas très courant et les spécs Microsoft AVI ne décrivent que l'audio CBR. La plupart des encodeurs /multiplexeurs créés de mauvais fichiers en utilisant l'audio VBR. Il n'y a que deux exceptions: NanDub et MEncoder.

#### 2.1.1.3 Fichiers ASF/WMV

L'ASF (active streaming format) vient de Microsoft. Ils ont développé deux variantes de l'ASF, v1.0 et v2.0. v1.0 est utilisé par leurs outils média (Windows Media Player et Windows Media Encoder) et est très secret. v2.0 est publié et breveté :). Bien sûr elles diffèrent, il n'y a pas de compatibilité du tout (ce n'est juste qu'un autre nom légal). Mplayer ne supporte que la v1.0, car personne n'a vu de fichiers v2.0 :). Notez que les fichiers ASF viennent de nos jours avec l'extension .WMA ou .WMV.

#### 2.1.1.4 Fichiers QuickTime/MOV

Ces formats ont été conçus par Apple et peuvent contenir n'importe quel codec, CBR ou VBR. Ils ont généralement une extension .QT ou .MOV. Depuis que le group MPEG4 a choisi QuickTime en temps que format recommandé pour le MPEG4, leur fichiers MOV sont diffusés avec une extension .MPG ou .MP4 (Au passage les flux vidéo et audio de ces fichiers sont de véritables fichiers MPG et AAC. Vous pouvez même les extraire avec les options `-dumpvideo` et `-dumpaudio`.).

Note: La plupart des nouveaux fichiers QuickTime utilise de la vidéo Sorenson video et de l'audio QDesign Music. Voir notre section codec Sorenson.

#### 2.1.1.5 Fichiers VIVO

Mplayer démuxe les fichiers VIVO avec plaisir. Le plus gros désavantage de ce format est qu'il n'a pas de bloc d'index, ni de taille de paquets fixe ou d'octet de synchro et la plupart des fichiers manquent même de trames clés, donc oubliez le déplacement!

Le codec vidéo des fichiers VIVO/1.0 est le h.263 standard. Le codec vidéo des fichiers VIVO/2.0 est un h.263v2 modifié et non-standard. Même chose pour l'audio, qui peut être g.723 (standard), ou Vivo Siren.

Voir les sections Codec VIVO video et Codec VIVO audio pour les instructions d'installation.

#### 2.1.1.6 Fichiers FLI

FLI est un très ancien format de fichier utilisé par Autodesk Animator, mais c'est un format courant pour les animations courtes trouvées sur le net. MPlayer démuxe et décode les films FLI et est même capable de ce déplacer à l'intérieur (utile en utilisant l'option `-loop`). Les fichiers FLI n'ont pas de trame clé, donc l'image sera sale pendant un court instant après le déplacement.

#### 2.1.1.7 Fichiers RealMedia (RM)

Oui, MPlayer peut lire (démuxer)les fichiers RealMedia (.rm). Le déplacement fonctionne mais vous devrez spécifier explicitement l'option `-forceidx` (le format supporte les trames cl). Voici une liste des codecs RealVideo et RealAudio supportés.

#### 2.1.1.8 Fichiers NuppelVideo

NuppelVideo est un outil de capture TV (D'après ce que j'en sais:). MPlayer peut lire ses fichiers .NUV (NuppelVideo 5.0 uniquement). Ces fichiers peuvent contenir des trames YV12 non-compressées, YV12+RTJpeg non-compressées, YV12 RTJpeg+lzo compressées, et YV12+lzo compressées. Mplayer les décode tous (et les encode également avec MEncoder en DivX/etc!). Le déplacement fonctionne.

#### 2.1.1.9 Fichiers yuv4mpeg

yuv4mpeg / yuv4mpeg2 est un format de fichier utilisé par les programmes mjpegtools. Vous pouvez grabber, produire, filtrer ou encoder de la vidéo dans ce format en utilisant ces outils. Le format de fichier est réellement une séquence d'images YUV 4:2:0 non-compressées.

#### 2.1.1.10 Fichiers FILM

Ce format est utilisé par les vieux jeux Sega Saturn CD-Rom.

#### 2.1.1.11 Fichiers RoQ

Les fichiers RoQ sont des fichiers multimédia utilisé dans certains jeux ID comme Quake III et Return to Castle Wolfenstein.

#### 2.1.1.12 Fichiers OGG/OGM

Ceci est un nouveau format de Xiphophorus. Il peut contenir n'importe quel codec vidéo ou audio, CBR ou VBR. Vous aurez besoin d'installer `libogg` et `libvorbis` avant la compilation de MPlayer pour qu'il puisse les lire.

#### 2.1.1.13 Fichiers SDP

SDP est un format IETF standard pour décrire les flux RTP vidéo et/ou audio. (Les librairies "LIVE.COM Streaming Media" sont requises.)

#### 2.1.1.14 Fichiers PVA

PVA est un format semblable à MPEG utilisé dans les logiciels des cartes TV DVB (par ex.: MultiDec, WinTV) sous Windows.

Les spécifications PVA peuvent être téléchargées à l'adresse suivante: http://www.technotrend.de/download/av_format_v1.pdf

#### 2.1.1.15 GIF files

Le format GIF est un format courant pour les graphismes web. Il y a deux versions des specs GIF, GIF87a et GIF89a. La principale différence est que le GIF89a autorise l'animation. MPlayer supporte les deux formats en utilisant libungif ou une autre librairie compatible libgif. Les GIFs non-animées seront affichées comme des vidéos à simple trame. (Utilisez les options `-loop` et `-fixed-vo` pour les afficher plus longtemps.)

MPlayer ne supporte actuellement pas le déplacement dans les fichiers GIF. Les fichiers GIF n'ont pas nécessairement une taille de trame fixe, ni un débit fixe. De plus, chaque trame est de taille indépendante et est sensée être positionné à une certaine place dans un champ de taille fixe. Le débit est contrôlé par un bloc optionnel avant chaque trame qui spécifie le décalage de la prochaine trame en centièmes de seconde.

Les fichiers GIF standard contiennent des trames 24-bit RGB avec au plus une palette 8-bit. Ces trames sont généralement compressées en LZW, bien que certains encodeurs GIF produisent des trames non-compressées pour éviter les problèmes de licence avec la compression LZW.

Si votre distribution ne contient pas libungif, téléchargez-en une copie depuis la page de libungif. Pour des informations techniques détaillées, regardez la spécification GIF89a.

### 2.1.2 Formats audio

Mplayer est un lecteur de Film et pas de Média, bien qu'il puisse lire quelques formats audio (listés dans les sections ci-dessous). Ce n'est pas un usage recommandé de MPlayer, vous feriez mieux d'utiliser xmms.

#### 2.1.2.1 Fichiers MP3

Vous pouvez avoir des problèmes pour lire certains fichiers MP3 que Mplayer prends pour des MPEGs et ne joue pas correctement voir pas du tout. Ceci ne peut être réparé sans enlever le support de certains fichiers MPEG endommagés et donc restera ainsi pour un temps indéterminé. L'option `-demuxer` décrite dans la page de man pourrait vous aider dans ces cas-là.

#### 2.1.2.2 fichiers WAV

#### 2.1.2.3 Fichiers OGG/OGM (Vorbis)

Requiert `libogg` et `libvorbis` correctement installés.

#### 2.1.2.4 Fichiers WMA/ASF

#### 2.1.2.5 Fichiers MP4

#### 2.1.2.6 CD audio

Mplayer peut utiliser cdparanoia (lib) pour lire des CDDA (CD Audio). Le but de cette section n'est pas d'énumérer les fonctions de cdparanoia.

Voir la page de man pour les options à passer à cdparanoia via `-cdda`.

#### 2.1.2.7 XMMS

MPlayer peut utiliser les plugins d'entrée XMMS pour jouer de nombreux formats de fichier. Il y a des plugins pour les thèmes de jeux SNES, les thèmes SID (du Commodore 64), de nombreux formats Amiga, .xm, .it, VQF, musepack, Bonk, shorten et bien d'autres. Vous pouvez les trouver sur la page des plugins d'entrée XMMS.

Pour cette fonctionnalité vous devez avoir XMMS et compiler MPlayer avec `./configure --enable-xmms`. Si cela ne fonctionne pas, vous pourriez avoir besoin de préciser le chemin des plugins et des librairies XMMS explicitement par l'intermédiaire des options `--with-xmmsplugindir` et `--withxmmslibdir`.