# Conteneurs

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

Vous voyez, un codec n'est pas la même chose qu'un format de conteneur. Exemples de codecs vidéo: MPEG-1, MPEG-2, MPEG-4 (DivX), Indeo5, 3ivx. Exemples de formats de conteneur: MPG, AVI, ASF.

En théorie, vous pouvez placer une vidéo OpenDivX et de l'audio MP3 dans un conteneur MPG. Par contre, la plupart des lecteurs ne pourrons pas lire ce fichier car ils attendent de la vidéo MPEG-1 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 MPEG-1 dans un fichier AVI. FFmpeg et MEncoder peuvent créer ces fichiers.

## Formats vidéo

### Fichiers MPEG

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 MPEG-1, 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 être ni lus ni copiés depuis des VCDs en temps que fichiers réguliers. Vous devrez utiliser l'option `vcd://` pour lire un 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ée en MPEG2 et généralement de l'audio AC3, mais DTS, MP2 et LPCM non-compressé sont également autorisés. Lisez la section DVD!

- TY: C'est un flux TiVo MPEG. Il contient les données MPEG PES pour les flux audio et vidéo, ainsi que des informations en plus comme les closed captions (CC). Le conteneur n'est pas un flux de programme MPEG, mais un format fermé créé par TiVo. Pour plus d'informations sur le format de flux TiVo, veuillez vous référer à la page TyStudio.

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 fichiers standards (comme `dd`, `cut`), et il restera parfaitement lisible.

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

### 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 MPEG-4 (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.

Les caméras DV créent des flux DV bruts 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 audios et vidéos sont entrelacés. C'est l'utilisation standard. Recommandée et généralement utilisée. Certains outils créent 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 tant que non-entrelacés (avec l'option `-ni`).

- Non-entrelacé: 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.

MPlayer supporte deux types de synchro pour les fichiers AVI:

- basé sur bps: Basé sur le bitrate/samplerate du flux video/audio. 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 AVI de Microsoft 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.

### Fichiers ASF/WMV

ASF (Active Streaming Format) provient de Microsoft. Ils ont développé deux variantes de l'ASF, v1.0 et v2.0. v1.0 est utilisé par leurs outils multimédia (Windows Media Player et Windows Media Encoder) et sont très secrètes. 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 portent maintenant l'extension `.WMA` ou `.WMV`.

### 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`. Notez que depuis que le groupe MPEG4 a choisi QuickTime en tant que format recommandé pour le MPEG4, leurs 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`).

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

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

### 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 brouillée pendant un court instant après le déplacement.

### Fichiers RealMedia (RM)

Oui, MPlayer peut lire (démuxer) les fichiers RealMedia (`.rm`). Voici une liste des codecs RealVideo et RealAudio supportés.

### 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 compressées, YV12 RTJpeg+lzo compressées, et YV12+lzo compressées. MPlayer les décode tous (et les encode également avec MEncoder en MPEG-4 (DivX)/etc!). Le déplacement fonctionne.

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

### Fichiers FILM

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

### Fichiers RoQ

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

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

### Fichiers SDP

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

### Fichiers PVA

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

### Fichiers NSV

NSV (NullSoft Video) est un format utilisé par le lecteur Winamp pour faire du stream audio et vidéo. La vidéo est en VP3, VP5 ou VP6, l'audio en MP3, AAC ou VLB. La version audio uniquement de NSV a une extension `.nsa`. MPlayer peut lire les deux types de flux et fichiers NSV. Veuillez noter que la plupart des fichiers du site de Winamp utilisent de l'audio VLB, qui ne peut être décodé pour l'instant. De plus les flux de ce site nécessitent une couche suplémentaire de dépaquetage qui doit encore être implémentée (ces fichiers sont de toute façon illisibles car ils utilisent de l'audio VLB).

### Fichiers Matroska

Matroska est un format ouvert de conteneur. En lire plus sur le site officiel.

### fichiers NUT

NUT est le format de conteneur developé par les membres de MPlayer et FFmpeg. Les deux projets le supportent. En lire plus sur le site officiel.

### Fichiers GIF

Le format GIFest 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és seront affichés 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ée à 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.

## Formats Audio

MPlayer est un lecteur de films et pas de media, 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.

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

### Fichiers OGG/OGM (Vorbis)

Requiert libogg et libvorbis correctement installés.

### CD audio

MPlayer peut utiliser cdparanoia pour lire des CDDA (Audio CD). 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`.

### XMMS

MPlayer peut utiliser les plugins d'entrée de 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 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 `--with-xmmslibdir`.