2.1. Formats vidéo, codecs audio & vidéo

2.1.1. Formats d'entrée supportés

MPlayer peut lire/écrire depuis les lecteurs/formats suivants :

Note : concernant le support de quicktime (.mov/.qt) et realmedia (.ra/.rm) lisez la FAQ!

2.1.2. Codecs audio & vidéo supportés

Voir http://www.mplayerhq.hu/DOCS/codecs-status.html pour une liste complète et actualisée !!!

Les principaux codecs vidéo :

Les principaux codecs audio :

Si vous utilisez un codec non encore supporté, lisez la section 2.1.4 pour obtenir des informations sur comment nous aider pour ajouter ce support !

2.1.2.1. DivX4

Cette section contient des informations sur le codec DivX4 de ProjectMayo. Leur première version (alpha) disponible est OpenDivX 4.0 alpha 47 et 48. Son support est inclut dans MPlayer, et compilé par défaut. Nous avons fréquemment utilisé son code de postprocessing pour améliorer la qualité visuelle des vidéos MPEG1/2.

La nouvelle génération de ce codec peut même décoder les vidéos créées avec le très mauvais codec DivX ! Il permet même d'obtenir un BIEN MEILLEUR résutat qu'avec les DLLs Win32 DivX traditionnelles. Voir ci-dessous comment le configurer. Le seul défaut de ce codec est de ne pas être Open-Source :(

Ce codec peut être téléchargé depuis l'adresse suivante :

    http://download2.projectmayo.com/dnload/divx4linux/divx4linux-20010718.zip

Aucune installation automatique n'est encore disponible, donc suivez EXACTEMENT la procédure suivante. Décompressez le, et exécutez les commandes suivantes (en tant que root) :

cp libdivxdecore.so.0.0.0 /usr/local/lib/
ln -s /usr/local/lib/libdivxdecore.so.0.0.0 /usr/local/lib/libdivxdecore.so.0
ln -s /usr/local/lib/libdivxdecore.so.0 /usr/local/lib/libdivxdecore.so
ldconfig
cp decore.h /usr/local/include/

Note: n'oubliez pas d'ajouter /usr/local/lib a votre fichier /etc/ld.so.conf !

MPlayer détecte si DivX4 est (correctement) installé, donc compilez le normalement. Si le script ./configure ne détecte pas le codec, votre installation est erronée, et/ou votre configuration pas très propre (voir la dernière question de la section 5.1).

Utiliser ce codec est un peu délicat. Il entre en conflit avec l'ancien OpenDivX (leurs APIs sont très proches). Le code OpenDivX code n'est pas chargé, et le driver OpenDivX fait lui aussi appel à cette librarie.

Générallement nous contournont ce problème pour que vous obteniez deux options :

  -vc odivx   utilise le codec divx4 comme une nouvelle version d'OpenDivX. Dans ce cas il affiche des images YV12 dans son propre buffer, et MPlayer (libvo) fait la conversion de palette. (RECOMMANDÉ !)
-vc divx4 utilise la conversion de palette du codec divx4. Dans ce mode, vous pouvez également utiliser le format YUY2/UYVY.

La méthode 'odivx' est généralement plus rapide, grâce au transfert des données d'images au format YV12 (YUV 4:2:0 planaire), nécessitant beaucoup moins de bande passante sur le bus. Pour les modes YUV (YUY2, UYVY) utilisez la méthode 'divx4'. Cela ne présente pas de différence pour le mode RGB, leur vitesse est équivalente et dépend du nombre de bpp.

Note: Il supporte aussi le postprocessing, mais son intervalle de valeurs est particulière :

   0    pas de postprocessing
10 .. 20 postprocessing, normal (équivalent au niveau 2 de divxds)
30 .. 60 prostprocessing matériel, utilise beaucoup de temps CPU (équivalent au niveau 4 de divxds)

2.1.2.2. DivX/libavcodec de ffmpeg

Apparu à sa version 0.4.2 , ffmpeg contient un codec DivX opensource, compatible avec le DivX traditionnel. MPlayer supporte ce codec, qui rend possible la lecture de films DivX sur des plates-formes non-x86 ! Il a été retiré des CVS de MPlayer, vous devez le télécharger directement depuis le CVS de FFmpeg :

cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg login
cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg co ffmpeg

Note: si vous copiez l'arborescence CVS complète, la prochaine fois il vous suffira de faire un 'cvs update'.

Maintenant, déplacez le répertoire libavcodec des sources de ffmpeg, (avec ses sous-répertoires) vers le répertoire des sources de MPlayer, pour ressembler à ceci:

    main/libavcodec

Les liens symboliques ne fonctionneront pas, vous devez le déplacer physiquement !!!

./configure détecte si la compilation avec libavcodec est réalisable. Ce codec supporte également le postprocessing.

Pour l'utiliser, mettez à jour votre fichier codecs.conf, et procédez comme expliqué dans la page man et le fichier example.conf (avec l'option -vfm).

Note: libavcodec couvre également d'autres codecs (ffmpeg12 par exemple), mais nous nous concentrons principalement sur ffdivx, jusqu'a nouvel ordre.

2.1.2.3. Decodage hardware AC3

Cela nécessite une carte son compatible AC3, avec sortie numérique (SP/DIF). Le driver de la carte doit supporter le format AFMT_AC3 (comme celui de la SB Live! par exemple). Connectez votre décodeur AC3 sur la sortie SP/DIF, et utilisez le avec l'option '-ac hwac3'. Ceci est encore expérimental, et peut ne pas fonctionner.

2.1.4. Comment importer des codecs

2.1.4.1. Codecs VFW

VfW (Video for Windows) est une ancienne API vidéo pour windows. Ses codecs portent l'extension .DLL ou plus rarement .DRV . Si MPlayer n'arrive pas à lire votre AVI et renvoie :

    UNKNOWN video codec: HFYU (0x55594648)

Cela signifie que votre AVI est encodé avec un codec HFYU fourcc (HFYU = HuffYUV codec, DIV3 = DivX Low Motion, etc...). Maintenant que nous savons cela, nous devons déterminer quelle DLL windows utilise pour lire ce fichier. Dans votre cas, le fichier system.ini contient (entre autres):

    VIDC.HFYU=huffyuv.dll

Donc nous aurons besoin de la librarie huffyuv.dll. Notez que les codecs audio sont spécifiés par le préfixe MSACM :

    msacm.l3acm=L3codeca.acm

C'est le codec MP3. Nous avons désormais toutes les informations nécessaires (fourcc, fichier codec, fichier AVI). Demandez le support de votre codec par mail, et envoyez ces fichiers sur le FTP :

    ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/

2.1.4.2. Codecs DirectShow

DirectShow est une API vidéo récente pour windows, sans doute plus mauvaise que la précédente :-( La situations est plus délicate avec DirectShow, puisque

Fouillons donc dans la base de registre :-(.

NOTE: si la recherche échoue, cochez toutes les options de la fenêtre de recherche.. vous aurez des mauvaises occurrences, mais finirez par obtenir la bonne...

NOTE: Exportez la clé du registre, et donnez des sous à M$, ils aiment bien ça.

Nous avons désormais toutes les informations nécessaires (fourcc, GUID, fichier codec, fichier AVI). Demandez le support de votre codec par mail, et envoyez ces fichiers sur le FTP :
ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/