mirror of
https://github.com/mpv-player/mpv
synced 2024-12-16 11:55:42 +00:00
b5b7ce90a6
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2253 b3059339-0415-0410-9bf9-f77b7e298cf2
226 lines
12 KiB
HTML
226 lines
12 KiB
HTML
<HTML>
|
|
<BODY BGCOLOR=WHITE>
|
|
|
|
<FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
|
|
|
<P><B><A NAME=2.1>2.1. Formats vidéo, codecs audio & vidéo </A></B></P>
|
|
|
|
<P><B><A NAME=2.1.1>2.1.1. Formats d'entrée supportés</A></B></P>
|
|
|
|
<P><B>MPlayer</B> peut lire/écrire depuis les lecteurs/formats suivants : <BR>
|
|
<UL>
|
|
<LI> VCD (Video CD) directement depuis le CD-ROM ou depuis une image disque .bin crée par CDRwin.
|
|
<LI> DVD, directement depuis le lecteur DVD, avec le support de libcss pour le décryptage.
|
|
<LI> Les fichiers MPEG 1/2 System Stream (PS/PES/VOB) et Elementary Stream (ES)
|
|
<LI> Les fichiers RIFF AVI.
|
|
<LI> Les fichiers ASF/WMV 1.0.
|
|
<LI> Supporte la lecture depuis un fichier, l'entrée standard, ou le réseau via HTTP
|
|
</UL></P>
|
|
|
|
<P>Note : concernant le support de quicktime (.mov/.qt) et realmedia (.ra/.rm) lisez la FAQ!</P>
|
|
|
|
|
|
<P><B><A NAME=2.1.2>2.1.2. Codecs audio & vidéo supportés</A></B></P>
|
|
|
|
<P>Voir <A
|
|
HREF="http://www.mplayerhq.hu/DOCS/codecs-status.html">http://www.mplayerhq.hu/DOCS/codecs-status.html</A>
|
|
pour une liste complète et actualisée !!!</P>
|
|
|
|
<P>Les principaux codecs vidéo :<BR>
|
|
<UL>
|
|
<LI>MPEG1 (VCD) et MPEG2 (DVD)
|
|
<LI>DivX ;-), OpenDivX (DivX4) et autre variantes MPEG4
|
|
<LI>Windows Media Video 7 (WMV1) et 8 (WMV2) utilisés dans les fichiers .wmv
|
|
<LI>Codecs Intel Indeo (3.1,3.2,4.1,5.0)
|
|
<LI>MJPEG, ASV2 et autres formats matériels
|
|
</UL></P>
|
|
|
|
<P>Les principaux codecs audio :<BR>
|
|
<UL>
|
|
<LI>MPEG layer 2 et layer 3 (MP3), avec optimisation mmx/sse/3dnow
|
|
<LI>AC3 dolby, avec optimisation mmx/sse/3dnow
|
|
<LI>Ogg Vorbis (librairie native)
|
|
<LI>Voxware (utilisant la DLL directshow)
|
|
<LI>alaw, msgsm, pcm et autres formats audio anciens
|
|
</UL></P>
|
|
|
|
<P>Si vous utilisez un codec non encore supporté, lisez la <A
|
|
HREF="#2.1.4">section 2.1.4</A> pour obtenir des informations sur comment nous aider pour ajouter ce support !</P>
|
|
|
|
<P><B><A NAME=2.1.2.1>2.1.2.1. DivX4</A></B></P>
|
|
|
|
<P>Cette section contient des informations sur le codec DivX4 de
|
|
<A HREF="http://www.projectmayo.com">ProjectMayo</A>. Leur première version (alpha) disponible est OpenDivX 4.0
|
|
alpha 47 et 48. Son support est inclut dans <B>MPlayer</B>, 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.</P>
|
|
|
|
<P>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 :(</P>
|
|
|
|
<P>Ce codec peut être téléchargé depuis l'adresse suivante :</P>
|
|
|
|
<P> <A HREF="http://download2.projectmayo.com/dnload/divx4linux/divx4linux-20010718.zip">http://download2.projectmayo.com/dnload/divx4linux/divx4linux-20010718.zip</A></P>
|
|
|
|
<P>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) :</P>
|
|
|
|
<P><CODE>cp libdivxdecore.so.0.0.0 /usr/local/lib/<BR>
|
|
ln -s /usr/local/lib/libdivxdecore.so.0.0.0 /usr/local/lib/libdivxdecore.so.0<BR>
|
|
ln -s /usr/local/lib/libdivxdecore.so.0 /usr/local/lib/libdivxdecore.so<BR>
|
|
ldconfig<BR>
|
|
cp decore.h /usr/local/include/</CODE></P>
|
|
|
|
<P>Note: n'oubliez pas d'ajouter /usr/local/lib a votre fichier /etc/ld.so.conf !</P>
|
|
|
|
<P><B>MPlayer</B> 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).</P>
|
|
|
|
<P>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.</P>
|
|
|
|
<P>Générallement nous contournont ce problème pour que vous obteniez deux options :</P>
|
|
|
|
<P><TABLE BORDER=0>
|
|
<TD> </TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-vc odivx</FONT></TD><TD> </TD>
|
|
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>utilise le codec divx4 comme une nouvelle version d'OpenDivX.
|
|
Dans ce cas il affiche des images YV12 dans son propre buffer,
|
|
et <B>MPlayer</B> (libvo) fait la conversion de palette. <B>(RECOMMANDÉ !)</B></FONT></TD><TR>
|
|
<TD></TD><TD VALIGN=top><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>-vc divx4</FONT></TD><TD></TD>
|
|
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>utilise la conversion de palette du codec divx4.
|
|
Dans ce mode, vous pouvez également utiliser le format YUY2/UYVY.</FONT></TD><TR>
|
|
</TABLE></P>
|
|
|
|
<P>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.</P>
|
|
|
|
<P>Note: Il supporte aussi le postprocessing, mais son intervalle de valeurs est particulière :</P>
|
|
|
|
<P><TABLE BORDER=0>
|
|
<TD> </TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
|
0
|
|
</TD><TD> </TD>
|
|
<TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
|
pas de postprocessing
|
|
</FONT></TD><TR>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
|
10 .. 20
|
|
</FONT></TD>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
|
postprocessing, normal (équivalent au niveau 2 de divxds)
|
|
</FONT></TD><TR>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
|
30 .. 60
|
|
</FONT></TD>
|
|
<TD></TD><TD><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
|
prostprocessing matériel, utilise beaucoup de temps CPU (équivalent au niveau 4 de divxds)
|
|
</FONT></TD><TR>
|
|
</TABLE></P>
|
|
|
|
<P><B><A NAME=2.1.2.2>2.1.2.2. DivX/libavcodec de ffmpeg</A></B></P>
|
|
|
|
<P>Apparu à sa version 0.4.2 , <A HREF="http://ffmpeg.sourceforge.net">ffmpeg</A> contient un codec DivX <B>opensource</B>,
|
|
compatible avec le DivX traditionnel. <B>MPlayer</B> supporte ce codec,
|
|
qui rend possible <B>la lecture de films DivX sur des plates-formes non-x86 !</B>
|
|
Il a été retiré des CVS de <B>MPlayer</B>, vous devez le télécharger directement depuis le CVS de <B>FFmpeg</B> :</P>
|
|
|
|
<P><CODE>
|
|
cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg login<br>
|
|
cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg co ffmpeg
|
|
</CODE></P>
|
|
|
|
<P>Note: <I>si vous copiez l'arborescence CVS complète, la prochaine fois il vous suffira de faire un
|
|
'cvs update'.</I></P>
|
|
|
|
<P>Maintenant, déplacez le répertoire <B>libavcodec</B> des sources de ffmpeg,
|
|
(avec ses sous-répertoires) vers le répertoire des sources de <B>MPlayer</B>, pour ressembler à ceci:</P>
|
|
|
|
<P> <CODE>main/libavcodec</CODE></P>
|
|
|
|
<P>Les liens symboliques ne fonctionneront pas, vous devez le déplacer physiquement !!!</P>
|
|
|
|
<P>./configure détecte si la compilation avec libavcodec est réalisable. Ce codec supporte également le
|
|
postprocessing.</P>
|
|
|
|
<P>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).</P>
|
|
|
|
<P>Note: libavcodec couvre également d'autres codecs (ffmpeg12 par exemple), mais nous nous concentrons principalement sur ffdivx, jusqu'a
|
|
nouvel ordre.</P>
|
|
|
|
|
|
<P><B><A NAME=2.1.2.3>2.1.2.3. Decodage hardware AC3</A></B></P>
|
|
|
|
<P>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.</P>
|
|
|
|
|
|
<P><B><A NAME=2.1.4>2.1.4. Comment importer des codecs </A></B></P>
|
|
|
|
<P><B><A NAME=2.1.4.1>2.1.4.1. Codecs VFW </A></B></P>
|
|
|
|
<P>VfW (Video for Windows) est une ancienne API vidéo pour windows. Ses codecs portent l'extension .DLL ou plus rarement .DRV .
|
|
Si <B>MPlayer</B> n'arrive pas à lire votre AVI et renvoie :</P>
|
|
|
|
<P> <CODE>UNKNOWN video codec: HFYU (0x55594648)</CODE></P>
|
|
|
|
<P>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):</P>
|
|
|
|
<P> <CODE>VIDC.HFYU=huffyuv.dll</CODE></P>
|
|
|
|
<P>Donc nous aurons besoin de la librarie huffyuv.dll. Notez que les codecs audio sont spécifiés par le préfixe MSACM :</P>
|
|
|
|
<P> <CODE>msacm.l3acm=L3codeca.acm</CODE></P>
|
|
|
|
|
|
<P>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 :</P>
|
|
|
|
<P> <CODE>ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/</CODE></P>
|
|
|
|
|
|
<P><B><A NAME=2.1.4.2>2.1.4.2. Codecs DirectShow</A></B></P>
|
|
|
|
<P>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
|
|
<UL>
|
|
<LI>system.ini ne contient aucune information, qui sont désormais placées dans le registre.
|
|
<LI>Nous aurons besoin du GUID du codec.
|
|
</UL></P>
|
|
|
|
<P>Fouillons donc dans la base de registre :-(.
|
|
<UL>
|
|
<LI>Exécutez 'regedit'
|
|
<LI>Pressez ctrl-f, décochez les deux premières cases, et cochez la troisième. Entrez le fourcc du codec. (par ex.: TM20)
|
|
<LI>vous devriez trouver un champ contenant le chemin et le nom du fichier utilisé
|
|
(par ex. : C:\WINDOWS\SYSTEM\TM20DEC.AX)
|
|
<LI>Maintenant que nous connaissons ce fichier, nous devons trouver son GUID. Cherchez désormais le nom du codec, pas son
|
|
fourcc. Son nom peut être trouvé quand Media Player lit le fichier, en regardant dans Fichier/Propriétés/Avancées.
|
|
Si rien n'apparait, pas de chance ;) Essayez de le deviner.
|
|
(par ex. cherchez : TrueMotion)
|
|
<LI>S'il apparait dans la base de registre, il devrait apparaitre un champ NomDuFichier, et un champ CLSID.
|
|
Copiez les 16 bits du CLSID, c'est le GUID dont nous avons besoin.
|
|
</UL></P>
|
|
|
|
<P>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...</P>
|
|
<P>NOTE: Exportez la clé du registre, et donnez des sous à M$, ils aiment bien ça.</P>
|
|
|
|
|
|
<P>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 :
|
|
<BR>
|
|
ftp://ftp.mplayerhq.hu/MPlayer/incoming/[codecname]/</P>
|
|
|
|
</BODY>
|
|
</HTML>
|