1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-23 15:22:09 +00:00
mpv/DOCS/xml/fr/codecs.xml
diego d011f6cdf4 link fixes
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17666 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-02-22 11:09:48 +00:00

1042 lines
38 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- synced with 1.72 -->
<sect1 id="codecs">
<title>Codecs Supportés</title>
<sect2 id="video-codecs">
<title>Codecs vidéo</title>
<para>
Voir la <ulink url="../../codecs-status.html">table d'état des codecs</ulink>
pour une liste complète, générée quotidiennement. Très peu de codecs sont disponibles en téléchargement
sur notre page web. Récupérez-les depuis notre
<ulink url="http://www.mplayerhq.hu/MPlayer/releases/codecs/">page des codecs</ulink>.
</para>
<para>
Les plus importants d'entre eux:
</para>
<itemizedlist>
<listitem><simpara>
vidéo <emphasis role="bold">MPEG1</emphasis> (<emphasis role="bold">VCD</emphasis>)
et <emphasis role="bold">MPEG2</emphasis> (<emphasis role="bold">DVD</emphasis>)
</simpara></listitem>
<listitem><simpara>
décodeurs natifs pour <emphasis role="bold">DivX ;-), OpenDivX (DivX4),
DivX 5.01, 3ivX, MS MPEG4</emphasis> v1, v2 et autres variantes MPEG4
</simpara></listitem>
<listitem><simpara>
décodeur natif pour <emphasis role="bold">Windows Media Video 7/8</emphasis>
(<emphasis role="bold">WMV1/WMV2</emphasis>), et décodeur DLL Win32 pour
<emphasis role="bold">Windows Media Video 9</emphasis>
(<emphasis role="bold">WMV3</emphasis>), utilisés tous les deux dans les fichiers
<filename>.wmv</filename>
</simpara></listitem>
<listitem><simpara>
décodeur <emphasis role="bold">Sorenson 1 (SVQ1)</emphasis> natif
</simpara></listitem>
<listitem><simpara>
décodeur <emphasis role="bold">Sorenson 3 (SVQ3)</emphasis> natif
</simpara></listitem>
<listitem><simpara>
décodeur <emphasis role="bold">3ivx</emphasis> v1, v2
</simpara></listitem>
<listitem><simpara>
codecs Cinepak et <emphasis role="bold">Intel Indeo</emphasis> (3.1,3.2,4.1,5.0)
</simpara></listitem>
<listitem><simpara>
<emphasis role="bold">MJPEG</emphasis>, AVID, VCR2, ASV2 et autres formats matériels
</simpara></listitem>
<listitem><simpara>
VIVO 1.0, 2.0, I263 et autres variantes <emphasis role="bold">H.263(+)</emphasis>
</simpara></listitem>
<listitem><simpara>
FLI/FLC
</simpara></listitem>
<listitem><simpara>
<emphasis role="bold">RealVideo 1.0 &amp; 2.0</emphasis> de
<systemitem class="library">libavcodec</systemitem>, et
<emphasis role="bold">RealVideo 3.0 &amp; 4.0</emphasis> en utilisant les
librairies RealPlayer
</simpara></listitem>
<listitem><simpara>
décodeur natif pour HuffYUV
</simpara></listitem>
<listitem><simpara>
vieux et simples formats variés similaires à RLE
</simpara></listitem>
</itemizedlist>
<para>
Si vous avez un codec Win32 non listé ici qui n'est pas encore
supporté, veuillez lire <link linkend="codec-importing">Comment importer des codecs</link>
et aidez-nous à en ajouter le support.
</para>
<sect3 id="divx4-5">
<title>DivX4/DivX5</title>
<para>
Cette section contient des informations sur les codecs DivX4 et DivX5 de
<ulink url="http://www.projectmayo.com">Project Mayo</ulink>.
La première version (alpha) disponible fût OpenDivX 4.0 alpha 47 et 48.
Son support était inclu dans <application>MPlayer</application>, et compilé
par défaut. Nous avons fréquemment utilisé son code de postprocessing pour
améliorer la qualité visuelle des vidéos MPEG-1/2. Maintenant nous utilisons
notre propre code, pour tous les types de fichiers.
</para>
<para>
La nouvelle génération de ce codec est appelée DivX4 et peut même décoder les
vidéos créées avec le très mauvais codec DivX ! De plus il est plus rapide que
les DLLs Win32 DivX natives mais plus lent que <systemitem
class="library">libavcodec</systemitem>. Son utilisation en tant que décodeur
est donc <emphasis role="bold">déconseillé</emphasis>. Cependant, il est utile
pour l'encodage. Un désavantage de ce codec est que ses sources ne sont
pas disponibles sous une licence Open Source.
</para>
<para>
DivX4 fonctionne dans deux modes:
<variablelist>
<varlistentry><term><option>-vc odivx</option></term>
<listitem><simpara>
Utilise le codec à la manière d'OpenDivX. Dans ce cas il affiche des
images YV12 dans son propre buffer, et <application>MPlayer</application>
fait la conversion de palette via libvo.(<emphasis role="bold">Rapide, recommandé !</emphasis>)
</simpara></listitem>
</varlistentry>
<varlistentry><term><option>-vc divx4</option></term>
<listitem><simpara>
Utilise la conversion de palette du codec. Dans ce mode, vous pouvez
également utiliser le format YUY2/UYVY. (<emphasis role="bold">LENT</emphasis>)
</simpara></listitem>
</varlistentry>
</variablelist>
</para>
<para>
La méthode <option>-vc odivx</option> est généralement plus rapide, grâce au
fait qu'elle transfert les données des images au format YV12 (planar YUV 4:2:0),
nécessitant ainsi moins de bande passante sur le bus. Pour les modes YUV
compactés (YUY2, UYVY), utilisez la méthode <option>-vc divx4</option>. Pour
les modes RGB la vitesse est la même, au mieux elle peut varier selon votre
profondeur de couleur.
<note>
<para>
Si votre pilote <option>-vo</option> supporte le rendu direct, alors <option>-vc
divx4</option> pourra être plus rapide voir même la solution la plus rapide.
</para>
<para>
Le codec binaire de DivX4/5 peut être téléchargé depuis
<ulink url="http://avifile.sf.net">avifile</ulink> ou
<ulink url="http://www.divx.com">divx.com</ulink>
Désarchivez-le, lancez <filename>./install.sh</filename> en root et n'oubliez
pas d'ajouter <filename class="directory">/usr/local/lib</filename> à votre
<filename>/etc/ld.so.conf</filename> et de lancer <command>ldconfig</command>.
</para>
<para>
Récupérez la version CVS de l'ANCIENNE librairie principale OpenDivX comme ceci:
</para>
<procedure>
<step><para>
<screen>cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot login</screen>
</para></step>
<step><para>
<screen>cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot co divxcore</screen>
</para></step>
<step><para>
Cette librairie principale est séparée en librairies d'encodage et de décodage
qui doivent être compilées séparément. Pour la librairie de décodage, tapez
simplement
<screen>
cd divxcore/decore/build/linux
make
cp libdivxdecore.so /usr/local/lib
ln -s /usr/local/lib/libdivxdecore.so /usr/local/lib/libdivxdecore.so.0
cp ../../src/decore.h /usr/local/include
</screen>
</para></step>
<step><para>
Hélas, pour la librairie d'encodage il n'y a pas de Makefile Linux disponible,
et le code optimisé pour MMX ne fonctionne que sous Windows. Vous pouvez quand
même le compiler en utilisant ce
<ulink url="ftp://ftp.mplayerhq.hu/MPlayer/contrib/divx-mf/Makefile">Makefile</ulink>.
<screen>
cd ../../../encore/build
mkdir linux
cd linux
cp path/Makefile .
make
cp libdivxencore.so /usr/local/lib
ln -s /usr/local/lib/libdivxencore.so /usr/local/lib/libdivxencore.so.0
cp ../../src/encore.h /usr/local/include
</screen>
</para></step>
</procedure>
<para>
<application>MPlayer</application> détecte automatiquement si DivX4/DivX5
est correctement installé, donc compilez-le normalement.
Si il ne détecte pas le codec, votre installation ou votre configuration
n'est pas correcte.
</para>
</note>
</para>
</sect3>
<sect3 id="ffmpeg" xreflabel="FFmpeg/libavcodec">
<title>FFmpeg/libavcodec</title>
<para>
<ulink url="http://ffmpeg.org">FFmpeg</ulink> contient un paquetage de codec
<emphasis role="bold">open source</emphasis>, qui est capable de décoder des
flux encodés avec des codecs audio et vidéo variés. Il offre également un confort
d'encodage impressionnant et une plus grande vitesse que les codecs Win32 ou les
librairies DivX4/5 de DivX.com !
</para>
<para>
Il contient plein de bons codecs, les plus importants étant les variantes
MPEG-4: DivX3, DivX4, DivX5, Windows Media Video 7/8 (WMV1/WMV2). Le décodeur WMA
est également très intéressant.
</para>
<para>
Le codec le plus récent est le codec <emphasis role="bold">Sorenson 3</emphasis>
(SVQ3). C'est la première implémentation complètement opensource de ce
codec. Il est même plus rapide que l'original. Assurez-vous d'utiliser celui-ci à
la place du codec binaire !
</para>
<para>
Pour avoir la liste complète des codecs supportés veuillez vous reporter à la
page web de FFmpeg. Codecs <ulink url="http://www.ffmpeg.org/ffmpeg-doc.html#SEC19">video</ulink>
et <ulink url="http://www.ffmpeg.org/ffmpeg-doc.html#SEC20">audio</ulink> supportés.
</para>
<para>
Si vous utilisez une version officielle de <application>MPlayer</application>,
vous avez <systemitem class="library">libavcodec</systemitem> directement dans
le paquetage, construisez comme d'habitude. Si vous utilisez la version CVS de
<application>MPlayer</application> vous devrez extraire
<systemitem class="library">libavcodec</systemitem>
de l'arborescence CVS de FFmpeg car les versions officielles sont très rares. Le CVS est
pratiquement stable et offre le plus de fonctions. Pour y arriver faites:
</para>
<procedure>
<step><para>
<screen>cvs -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg login</screen>
</para></step>
<step><para>
<screen>cvs -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg co -P ffmpeg/libavcodec</screen>
</para></step>
<step><para>
Déplacez le répertoire <filename>libavcodec</filename> et <filename>libavutil</filename>
des sources FFmpeg à la racine de
l'arborescence CVS de <application>MPlayer</application>. Cela devrait ressembler à cela:
<filename class="directory">main/libavcodec</filename>
<filename class="directory">main/libavutil</filename>
</para><para>
Faire un lien symbolique n'est <emphasis role="bold">pas</emphasis> suffisant, vous devez
le copier/déplacer!
</para></step>
<step><para>
Si vous préférez que <systemitem class="library">libavcodec</systemitem>
soit mis à jour en même temps que vous mettez à jour le CVS de
<application>MPlayer</application>, indiquez la ligne suivante
dans le fichier <filename>main/CVS/Entries</filename>:
<screen>D/libavcodec////</screen>
<screen>D/libavutil////</screen>
</para></step>
<step><para>
Compilez. <filename>configure</filename> devrait détecter les problèmes avant la
compilation.
</para></step>
</procedure>
<note>
<para>
La version CVS de <application>MPlayer</application> contient un sous-répertoire
<filename>libavcodec</filename>, mais il ne contient
<emphasis role="bold">pas</emphasis> le source de
<systemitem class="library">libavcodec</systemitem> !
Vous devez suivre les étapes ci-dessus pour obtenir le source de cette librairie.
</para>
</note>
<para>
Avec FFmpeg et ma Matrox G400, je peut voir des films DivX en haute
résolution sans sauter de trames sur mon K6-2 500.
</para>
</sect3>
<sect3 id="xanim">
<title>Codecs XAnim</title>
<note>
<para>
Soyez prévenu que les codecs binaires XAnim sont packagées avec un morceau
de texte revendiquant être la licence liée au logiciel qui, entre autres
restrictions, interdit à l'utilisateur d'utiliser les codecs en conjonction
avec n'importe quel autre programme que <application>XAnim</application>.
Cependant l'auteur de XAnim n'a encore entrepris d'actions légales contre
quiconque pour des problèmes relatifs aux codecs.
</para>
</note>
<formalpara>
<title>INSTALLATION ET UTILISATION</title>
<para>
<application>MPlayer</application> est capable d'employer les codecs XAnim
pour décoder. Suivez les instructions pour les activer:
</para>
</formalpara>
<procedure>
<step><para>
Téléchargez les codecs que vous désirez utiliser depuis le
<ulink url="http://xanim.va.pubnix.com">site d'XAnim</ulink>.
Le codec 3ivx n'y est pas, il est sur le
<ulink url="http://www.3ivx.com">site de 3ivx</ulink>.
</para></step>
<step><para>
<emphasis role="bold">OU</emphasis> téléchargez le pack de codecs
depuis notre <ulink url="http://www.mplayerhq.hu/MPlayer/releases/codecs/">page des codecs</ulink>.
</para></step>
<step><para>
Utilisez l'option <option>--with-xanimlibdir</option> pour dire à
<filename>configure</filename> où trouver les codecs XAnim.
Par défaut, il les cherche dans
<filename class="directory">/usr/local/lib/codecs</filename>,
<filename class="directory">/usr/local/lib/xanim/mods</filename>,
<filename class="directory">/usr/lib/xanim/mods</filename> et
<filename class="directory">/usr/lib/xanim</filename>. Vous pouvez également définir
la variable d'environnement <envar>XANIM_MOD_DIR</envar> avec le répertoire
des codecs XAnim.
</para></step>
<step><para>
Renommez/liez symboliquement ces fichiers, en séparant le reste de
l'architecture, ils auront donc des noms comme ceux-ci: <filename>vid_cvid.xa</filename>,
<filename>vid_h263.xa</filename>, <filename>vid_iv50.xa</filename>.
</para></step>
</procedure>
<para>
XAnim sont des codecs de la famille <systemitem>xanim</systemitem>, donc vous pouvez
utiliser l'option <option>-vfm xanim</option> pour dire à <application>MPlayer</application>
de les utiliser si possible.
</para>
<para>
Les codecs testés incluent: <emphasis role="bold">Indeo 3.2, 4.1, 5.0, CVID, 3ivX,
H.263.</emphasis>
</para>
</sect3>
<sect3 id="vivo-video">
<title>Vidéo VIVO</title>
<para>
<application>MPlayer</application> peut lire les vidéos Vivo (1.0 and 2.0).
Le codec le plus approprié pour les fichiers 1.0 est le décodeur H.263 de FFmpeg,
vous pouvez l'utiliser avec l'option <option>-vc ffh263</option>. Pour les
fichiers 2.0, utilisez la DLL Win32 par l'intermédiaire de l'option
<option>-vc vivo</option>. Si vous ne fournissez pas d'options en ligne de
commande,<application>MPlayer</application> sélectionne le meilleur codec
automatiquement.
</para>
</sect3>
<sect3 id="mpeg12">
<title>Vidéo MPEG-1/2</title>
<para>
MPEG-1 et MPEG-2 sont décodés par la librairie multiplateforme <systemitem
class="library">libmpeg2</systemitem> native, dont le code source est
inclus dans <application>MPlayer</application>. Nous gérons la vidéo
MPEG-1/2 boguée en attrapant le <systemitem>Signal 11</systemitem>
(<systemitem>segmentation fault</systemitem>), et en réinitialisant rapidement
le codec, continuant ainsi exactement où l'erreur c'est produite. Cette
technique de récupération n'a pas d'influence mesurable sur la vitesse.
</para>
</sect3>
<sect3 id="avicodecs">
<title>MS Video1, Cinepak CVID, et autres vieux codecs</title>
<para>
<application>MPlayer</application> est capable de lire la plupart des vieux
codecs utilisés dans les fichiers AVI et MOV.
Dans le passé ces fichiers étaient décodés par des codecs Win32 binaires, mais
maintenant nous avons des <emphasis role="bold">codecs natifs</emphasis> pour
la plupart d'entre eux en utilisant
<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>.
</para>
</sect3>
<sect3 id="realvideo">
<title>RealVideo</title>
<para>
<application>MPlayer</application> décode toutes les versions de RealVideo:
<itemizedlist>
<listitem><simpara>
RealVideo 1.0, 2.0 (fourcc RV10, RV20) - en/décodage supporté par
<systemitem class="library">libavcodec</systemitem>
</simpara></listitem>
<listitem><simpara>
RealVideo 3.0, 4.0 (fourcc RV30, RV40) - décodage supporté par
<emphasis role="bold">les librairies RealPlayer</emphasis>
</simpara></listitem>
</itemizedlist>
</para>
<para>
Téléchargez les codecs sur
<ulink url="http://www.mplayerhq.hu/MPlayer/releases/codecs/">http://www.mplayerhq.hu/MPlayer/releases/codecs/</ulink>.
Extrayez-les dans le répertoire
<filename class="directory">/usr/local/lib/codecs</filename>.
Si vous voulez les placer à un endroit différent, passez l'option
<option>--with-reallibdir</option> à <command>configure</command>.
</para>
<note><para>
Les librairies <application>RealPlayer</application> <emphasis role="bold">
ne fonctionnent actuellement qu'avec Linux, FreeBSD, NetBSD et Cygwin sur les
plateformes x86, Alpha et PowerPC (Linux/Alpha et Linux/PowerPC ont été testés),
et avec Mac OS X</emphasis>.
</para></note>
</sect3>
<sect3 id="xvid">
<title>XviD</title>
<para>
<ulink url="http://www.xvid.org">XviD</ulink> est un logiciel gratuit
de codec video conforme au MPEG-4 ASP, qui possède des dispositifs
d'encodage en 2 passes et un support complet du MPEG-4 ASP, rendant la chose
beaucoup plus efficace que le bien connu codec DivX.
Il se clame une très bonne qualité video et de bonne performance due aux
optimisations pour les processeurs les plus moderne.
</para>
<para>
Cela a commencé par le fork du développement du codec OpenDivX.
Il est apparu quand ProjectMayo est passé d'OpenDivX au
sources-fermées DivX4 (maintenant DivX5), et les personnes extérieures à
ProjectMayo travaillant sur OpenDivX se sont fâchés, et ont démarré XViD.
Les deux projets ont donc la même origine.
</para>
<procedure>
<title><systemitem class="library">XviD</systemitem> Installation</title>
<para>
Comme la plupart des logiciels open source, il est disponible en deux parfums:
<ulink url="http://www.xvid.org/downloads.html">versions officiel</ulink>
et la version CVS.
La version CVS est actuellement assez stable pour être utilisée, et bénéficie des
corrections de bogues existant des versions "officielles".
Voici qui doit être fait pour faire fonctionner la version CVS de
<systemitem class="library">XviD</systemitem>
avec <application>MEncoder</application> (vous avez besoin au minimum de
<application>autoconf</application> 2.50,
<application>automake</application> et <application>libtool</application>):
</para>
<step><para>
<screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login</screen>
</para></step>
<step><para>
<screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore</screen>
</para></step>
<step><para>
<screen>cd xvidcore/build/generic</screen>
</para></step>
<step><para>
<screen>./bootstrap.sh</screen>
</para></step>
<step><para>
<screen>./configure</screen>
Vous pouvez avoir à ajouter des options (examinez la sortie de
<screen>./configure --help</screen>).
</para></step>
<step><para>
<screen>make &amp;&amp; make install</screen>
</para></step>
<step><para>
Si vous avez spécifié <option>--enable-divxcompat</option>,
copiez <filename>../../src/divx4.h</filename> dans
<filename class="directory">/usr/local/include/</filename>.
</para></step>
<step><para>
Recompilez <application>MPlayer</application> avec
<option>--with-xvidlibdir=<replaceable>/chemin/vers/</replaceable>libxvidcore.a</option>
<option>--with-xvidincdir=<replaceable>/chemin/vers/</replaceable>xvid.h</option>
</para></step>
</procedure>
</sect3>
<sect3 id="sorenson">
<title>Sorenson</title>
<para>
Sorenson est un codec vidéo développé par Sorenson Media et licencié à Apple qui
le distribue avec son <application>Lecteur QuickTime</application>. Nous sommes
actuellement capables de décoder toutes les versions des fichiers Sorenson avec les
décodeurs suivants:
</para>
<itemizedlist>
<listitem><simpara>
Sorenson Video v1 (fourcc <emphasis>SVQ1</emphasis>) - décodage supporté par un
<emphasis role="bold">codec natif</emphasis>
(<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>)
</simpara></listitem>
<listitem><simpara>
Sorenson Video v3 (fourcc <emphasis>SVQ3</emphasis>) - décodage supporté par un
<emphasis role="bold">codec natif</emphasis>
(<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>)
</simpara></listitem>
</itemizedlist>
<procedure>
<title>COMPILATION DE MPLAYER AVEC LE SUPPORT DES LIBRAIRIES QUICKTIME</title>
<note><para>actuellement seules les plateformes Intel 32-bit sont supportées.</para></note>
<step><para>téléchargez le CVS de <application>MPlayer</application></para></step>
<step><para>téléchargez le pack de DLL QuickTime depuis
<ulink url="http://www.mplayerhq.hu/MPlayer/releases/codecs/"/>
</para></step>
<step><para>décompressez le pack de DLL QuickTime dans votre répertoire de codecs Win32
(par défaut: <filename class="directory">/usr/local/lib/codecs/</filename>)
</para></step>
<step><para>compilez <application>MPlayer</application></para></step>
</procedure>
</sect3>
<sect3 id="codec-x264">
<title>x264</title>
<sect4 id="codec-x264-whatis">
<title>Qu'est ce que le x264?</title>
<para>
<systemitem class="library">x264</systemitem> est une librairie pour
créée des flux video H.264.
Il n'est pas 100% achevé, mais actuellement il a au moins un début de
support pour la plupart des fonctionalités du H.264 qui ont un impact sur la qualité.
Il y a aussi des fonctionalités plus avancées des specifications du H.264
qui n'ont rien avoir avec la qualité vidéo. La plupart ne sont pas encore
implémentées dans le <systemitem class="library">x264</systemitem>.
</para>
<itemizedlist>
<title>Fonctions d'encodage</title>
<listitem><para>CAVLC/CABAC</para></listitem>
<listitem><para>Références multiple</para></listitem>
<listitem><para>Intra: Tout les types de macrobloc (16x16 et 4x4 avec
toutes les prédictions)</para></listitem>
<listitem><para>Inter P: Toutes les partitions (de 16x16 descendant à
4x4)</para></listitem>
<listitem><para>Inter B: Les partitions de 16x16 descendant à 8x8
(incluant SKIP/DIRECT)</para></listitem>
<listitem><para>Control Débit: quantificateur constant, débit constant,
ou passe mutliple ABR</para></listitem>
<listitem><para>Détection de découpage de scène</para></listitem>
<listitem><para>Placement B-frame adaptif</para></listitem>
<listitem><para>B-frames commme références / ordre arbitraire de frame</para></listitem>
</itemizedlist>
<itemizedlist>
<title>Limitations d'encodage</title>
<listitem><para>Pas de vrai RD</para></listitem>
</itemizedlist>
</sect4>
<sect4 id="codec-h264-whatis">
<title>Qu'est ce que le H.264?</title>
<para>
H.264 est un des noms pour le nouveau codec video numérique développé conjointement
par l'ITU et le MPEG.
Il peut être aussi correctement référencé avec les noms vagues de
"ISO/IEC 14496-10" ou "MPEG-4 Part 10".
De façon plus fréquente, il est réferencé comme étant "MPEG-4 AVC" ou juste "AVC".
</para>
<para>
Qu'importe la façon de l'appeler, H.264 peut valoir le coup d'être essayé
parcequ'il peut typiquement être équivalent en qualité au MPEG-4 ASP avec
5%-30% de débit en moins.
Concrètement, le résultat dépendra de la source d'encodage et de l'efficacité
de l'encodeur.
Les gains apportés par H.264 ne sont pas gratuits: Décoder un flux H.264
augmente considérablement les besoins en CPU et mémoire.
Par exemple, sur un Athlon 1733 MHz, une vidéo H.264 en résolution DVD à 1500kbps
demande environ 35% de CPU à décoder.
En comparaison, décoder un flux MPEG-4 ASP en résolution DVD à 1500kbps
demande environ 10% de CPU à décoder.
Cela signifie que le décodage de flux haute-définition est quasi hors de question
pour la majorité des utilisateurs.
Cela signifie aussi que même un rip DVD décent peut quelque fois être saccadé
sur des processeurs plus lent que 2.0 GHz.
</para>
<para>
Au moins avec <systemitem class="library">x264</systemitem>,
les requièrements en encodage sont moins mauvais que ce dont on est habitué
avec le MPEG-4 ASP.
Par exemple, sur un Athlon 1733 MHz un encodage DVD typique devrait marcher
à 5-15fps.
</para>
<para>
Ce document n'a pas pour but d'expliquer H.264 en détail,
mais si vous êtes intéressé par une brêve vue d'ensemble, vous devriez lire
<ulink url="http://www.cdt.luth.se/~peppar/kurs/smd151/spie04-h264OverviewPaper.pdf">L'Encodage Video Avancé H.264/AVC Standard: Vue d'ensemble et Introduction aux Extensions de Chaîne de Fidélité</ulink>.
</para>
</sect4>
<sect4 id="codec-x264-playback">
<title>Comment puis-je jouer des vidéos H.264 avec <application>MPlayer</application>?</title>
<para>
<application>MPlayer</application> utilise le décodeur H264 de
<systemitem class="library">libavcodec</systemitem>.
<systemitem class="library">libavcodec</systemitem> a eu au moins
un décodeur H.264 qui est un fonctionne un minimum depuis les alentours de Juillet 2004,
cependant des changements et améliorations majeurs ont été implémentés depuis cette date,
que ce soit en terme de fonctionalités supportées et en terme d'utilisation améliorée du CPU.
Juste pour être certain, c'est toujours une bonne idée d'utiliser une version récente extraite du CVS.
</para>
<para>
Si vous voulez une façon rapide et facile de savoir si il y a eu des
changements récents du décodage H.264 de <systemitem class="library">libavcodec</systemitem>,
vous devriez garder un oeil sur
<ulink url="http://mplayerhq.hu/cgi-bin/cvsweb.cgi/ffmpeg/libavcodec/h264.c?cvsroot=FFMpeg">Interface Web du site CVS de FFmpeg</ulink>.
</para>
</sect4>
<sect4 id="codec-x264-encode">
<title>Comment puis-je encoder des vidéos avec <application>MEncoder</application> et
<systemitem class="library">x264</systemitem>?</title>
<para>
Si vous avez la sous-version du client installé, les dernières sources de x264
peuvent être récupérées avec cette commande:
<screen>
svn co svn://svn.videolan.org/x264/trunk x264<!--
--></screen>
Les sources de <application>MPlayer</application> sont mises à jour lorsque survient
un changement de l'API de <systemitem class="library">x264</systemitem>,
donc il est toujours conseillé d'utiliser le CVS de
<application>MPlayer</application>.
Peut-être cette situtation changera quand et si une "release" de
<systemitem class="library">x264</systemitem> survient.
En attendant, <systemitem class="library">x264</systemitem> devra être
considéré comme trè instable, dans le sens que son interface de programmation
est sujet à changer.
</para>
<para>
<systemitem class="library">x264</systemitem> est construit et
installé de façon standard:
<screen>
./configure &amp;&amp; make &amp;&amp; sudo make install<!--
--></screen>
Ceci installe libx264.a dans /usr/local/lib et x264.h est placé dans
/usr/local/include.
Avec la librairie et l'entête de <systemitem class="library">x264</systemitem>
placé au emplacement standard, construire
<application>MPlayer</application> avec le support
<systemitem class="library">x264</systemitem> est facile.
Lancé juste le standard:
<screen>./configure &amp;&amp; make &amp;&amp; sudo make install</screen>
Le script configure détectera automatiquement que vous avez ce qui est
requis pour le <systemitem class="library">x264</systemitem>.
</para>
</sect4>
</sect3>
</sect2>
<!-- ********** -->
<sect2 id="audio-codecs">
<title>Codecs audio</title>
<itemizedlist>
<title>Les plus importants d'entre eux:</title>
<listitem><simpara>
MPEG layer 1/2/3 (MP1/2/3) audio (code <emphasis role="bold">natif</emphasis>,
avec optimisation MMX/SSE/3DNow!)
</simpara></listitem>
<listitem><simpara>
Windows Media Audio 7 et 8 (alias WMAv1 et WMAv2) (code
<emphasis role="bold">natif</emphasis>, avec
<systemitem class="library">libavcodec</systemitem>)
</simpara></listitem>
<listitem><simpara>
Windows Media Audio 9 (WMAv3) (en utilisant la DLL DMO)
</simpara></listitem>
<listitem><simpara>
AC3 Dolby audio (code <emphasis role="bold">natif</emphasis>, avec
optimisation MMX/SSE/3DNow!)
</simpara></listitem>
<listitem><simpara>
AC3 par l'intermédiaire de la carte son
</simpara></listitem>
<listitem><simpara>
AAC
</simpara></listitem>
<listitem><simpara>
codec audio Ogg Vorbis (librairie <emphasis role="bold">native</emphasis>)
</simpara></listitem>
<listitem><simpara>
RealAudio: DNET (AC3 bas débit), Cook, Sipro et ATRAC3
</simpara></listitem>
<listitem><simpara>
QuickTime: codecs audio Qualcomm et QDesign
</simpara></listitem>
<listitem><simpara>
VIVO audio (g723, Vivo Siren)
</simpara></listitem>
<listitem><simpara>
Voxware audio (en utilisant la DLL DirectShow)
</simpara></listitem>
<listitem><simpara>
alaw et ulaw, formats divers gsm, adpcm, pcm et autres vieux codecs audio simples
</simpara></listitem>
</itemizedlist>
<sect3 id="swac3">
<title>Décodage AC3 logiciel</title>
<para>
C'est le décodeur utilisé par défaut pour les fichiers avec de l'audio AC3.
</para>
<para>
Le décodeur AC3 peut créer des sorties audio mixées pour 2, 4 ou 6 haut-parleurs.
Quand il est configuré pour 6 haut-parleurs, ce décodeur fournit des sorties
séparées pour tous les canaux AC3 du pilote son, autorisant la pleine expérience
du &quot;son surround&quot; sans décodeur AC3 externe requis pour l'usage du
codec hwac3.
</para>
<para>
Utilisez l'option <option>-channels</option> pour sélectionner le nombre de canaux
de sortie. Utilisez <option>-channels 2</option> pour un mix stéréo. Pour un
mix 4 canaux (Avant Gauche, Avant Droite, Surround Gauche et Surround Droit),
utilisez<option>-channels 4</option>. Dans ce cas, l'éventuel canal du centre
sera mixé à part égale sur les canaux de devant. <option>-channels 6</option>
sortira tous les canaux AC3 tels qu'ils ont été encodés - dans l'ordre Gauche,
Droite, Surround Gauche, Surround Droit, Centre et LFE.
</para>
<para>
Le nombre de canaux par défaut est 2.
</para>
<para>
Pour utiliser plus de 2 canaux de sortie, vous devrez utiliser OSS, et avoir
une carte son qui supporte le nombre de canaux de sortie requis via le ioctl
SNDCTL_DSP_CHANNELS. Un exemple de driver approprié est emu10k1 (utilisé par
la carte Soundblaster Live!) depuis Août 2001 (Le CVS ALSA est également sensé
fonctionner).
</para>
</sect3>
<sect3 id="hwac3">
<title>Décodage AC3 matériel</title>
<para>
Vous avez besoin d'une carte son gérant l'AC3, avec une sortie numérique
(S/PDIF). Le pilote de la carte doit supporter correctement le format AFMT_AC3
(C-Media le fait). Connectez le décodeur AC3 à la sortie S/PDIF, et utilisez
l'option <option>-ac hwac3</option>. C'est expérimental mais cela fonctionne
avec les cartes C-Media, Soundblaster Live! en utilisant les pilotes ALSA (mais
pas OSS) et les décodeurs MPEG DXR3/Hollywood+.
</para>
</sect3>
<sect3 id="libmad">
<title>support libmad</title>
<para>
<ulink url="http://www.underbit.com/products/mad/">libmad</ulink> est une librairie
multi-plateforme de décodage MPEG audio entière (24bit PCM interne) uniquement.
Elle ne gère pas très bien les fichiers endommagés, et elle a parfois des problèmes
pour le déplacement, mais elle peut mieux se comporter que mp3lib sur des
plateformes sans FPU (tel que <link linkend="arm">ARM</link>).
</para>
<para>
Pour en activer le support, compilez avec l'option de configuration
<option>--enable-mad</option>
</para>
</sect3>
<sect3 id="vivo-audio">
<title>VIVO audio</title>
<para>
Le codec audio utilisé dans les fichiers VIVO dépend du fait que ce soit un fichier
VIVO/1.0 ou VIVO/2.0. Les fichiers VIVO/1.0 ont de l'audio
<emphasis role="bold">g.723</emphasis>, et les fichiers VIVO/2.0 de l'audio
<emphasis role="bold">Vivo Siren</emphasis>.
Les deux sont supportés.
</para>
</sect3>
<sect3 id="realaudio">
<title>RealAudio</title>
<para>
<application>MPlayer</application> supporte le décodage de presque toutes les versions
de RealAudio:
</para>
<itemizedlist>
<listitem><simpara>
RealAudio DNET - décodage supporté par
<systemitem class="library">liba52</systemitem>
</simpara></listitem>
<listitem><simpara>
RealAudio Cook/Sipro/ATRAC3 - décodage supporté par
<emphasis role="bold">les librairies RealPlayer</emphasis>
</simpara></listitem>
</itemizedlist>
<para>
Pour savoir comment installer les librairies RealPlayer, voyez la section
<link linkend="realvideo">RealVideo</link>.
</para>
</sect3>
<sect3 id="qdesign">
<title>Codecs QDesign</title>
<para>
Les flux audio QDesign (fourcc:<emphasis>QDMC, QDM2</emphasis>) se trouvent
dans les fichiers MOV/QT. Les deux versions de ce codec peuvent être décodées
avec les librairies QuickTime. Pour les instructions d'installation
merci de voir la section <link linkend="sorenson">codec vidéo Sorenson</link>.
</para>
</sect3>
<sect3 id="qualcomm">
<title>Codec Qualcomm</title>
<para>
Les flux audio Qualcomm (fourcc:<emphasis>Qclp</emphasis>) se trouvent
dans les fichiers MOV/QT. Pour les instructions d'installation merci de voir
la section <link linkend="sorenson">codec vidéo Sorenson</link>.
</para>
</sect3>
<sect3 id="aac">
<title>Codec AAC</title>
<para>
AAC (Advanced Audio Coding) est un codec parfois présent dans les fichiers MOV et MP4.
Un décodeur open source appelé FAAD est disponible sur
<ulink url="http://www.audiocoding.com"/>.
<application>MPlayer</application> inclus libfaad 2.0RC1, vous n'avez donc pas
à l'obtenir séparemment.
</para>
<para>
Si vous utilisez gcc 3.2 qui ne peut pas compiler notre FAAD interne, ou si vous
voulez utiliser une librairie externe pour d'autres raisons, téléchargez la
librairie dpuis la
<ulink url="http://www.audiocoding.com/download.php">page de téléchargements</ulink>
et passez <option>--enable-external-faad</option> à <filename>configure</filename>.
Vous n'avez pas besoin de tout faad2 pour décoder les fichiers AAC, libfaad suffit.
Construisez comme ceci:
<screen>
cd faad2/
sh bootstrap
./configure
cd libfaad
make
make install
</screen>
Les binaires ne sont pas disponibles sur audiocoding.com, mais vous pouvez
obtenir les paquets Debian sur la
<ulink url="http://hpisi.nerim.net">page web de Christian Marillat</ulink>,
les RPMs Mandrake sur le <ulink url="http://plf.zarb.org">P.L.F</ulink> et les RPMS
RedHat sur <ulink url="http://greysector.rangers.eu.org/">Grey Sector</ulink>.
</para>
</sect3>
</sect2>
<!-- ********** -->
<sect2 id="codec-importing">
<title>Comment importer les codecs Win32</title>
<!-- TODO: a short paragraph of text would be nice here... -->
<sect3 id="vfw-codecs">
<title>codecs VFW</title>
<para>
VFW (Video for Windows) est une ancienne API vidéo pour windows. Ses codecs
portent l'extension <filename>.DLL</filename> ou (rarement) <filename>.DRV</filename>.
Si <application>MPlayer</application> n'arrive pas à lire votre AVI et renvoie :
<screen>UNKNOWN video codec: HFYU (0x55594648)</screen>
</para>
<para>
Cela signifie que votre AVI est encodé avec un codec HFYU fourcc (HFYU = codec
HuffYUV, 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 <filename>system.ini</filename> contient (entre autres):
<programlisting>VIDC.HFYU=huffyuv.dll</programlisting>
</para>
<para>
Nous aurons donc besoin de la librairie <filename>huffyuv.dll</filename>. Notez
que les codecs audio sont spécifiés par le préfixe MSACM :
<programlisting>msacm.l3acm=L3codeca.acm</programlisting>
</para>
<para>
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 :
<systemitem role="url">
ftp://ftp.mplayerhq.hu/MPlayer/incoming/[nomcodec]/
</systemitem>
</para>
<note><para>
Sous Windows NT/2000/XP cherchez cette info dans la base de registre, c-a-d.
cherchez &quot;VIDC.HFYU&quot;. Pour savoir comment faire, regardez l'ancienne
méthode DirectShow ci-dessous.
</para></note>
</sect3>
<sect3 id="dshow-codecs">
<title>Codecs DirectShow</title>
<para>
DirectShow est une API vidéo récente pour Windows, sans doute plus mauvaise que
la précédente. La situation est plus délicate avec DirectShow, puisque
<itemizedlist>
<listitem><simpara>
<filename>system.ini</filename> ne contient aucune information, qui sont
désormais placées dans la base de registre et
</simpara></listitem>
<listitem><simpara>
nous avons besoin du GUID du codec.
</simpara></listitem>
</itemizedlist>
</para>
<procedure>
<title>Nouvelle Méthode:</title>
<para>
En utilisant <application>Microsoft GraphEdit</application> (rapide)
</para>
<step><para>
Obtenez <application>GraphEdit</application> depuis le SDK DirectX ou sur
<ulink url="http://doom9.net">doom9</ulink>
</para></step>
<step><para>
Exécutez <command>graphedit.exe</command>.
</para></step>
<step><para>
Dans le menu sélectionnez Graph -> Insert Filters.
</para></step>
<step><para>
Dépliez l'élément <systemitem>DirectShow Filters</systemitem>
</para></step>
<step><para>
Sélectionnez le bon nom de codec et dépliez l'élément.
</para></step>
<step><para>
Dans l'entrée <systemitem>DisplayName</systemitem> regardez le texte entre
accolades après le backslash et notez-le (cinq blocs délimités par des tirets,
le GUID).
</para></step>
<step><para>
Le binaire du codec est le fichier spécifié dans l'entrée
<systemitem>Filename</systemitem>.
</para></step>
</procedure>
<note>
<para>
Si il n'y a pas d'entrée <systemitem>Filename</systemitem> et que
<systemitem>DisplayName</systemitem> contient quelque chose comme
<systemitem>device:dmo</systemitem>, alors c'est un codec DMO.
</para>
</note>
<procedure>
<title>Ancienne Méthode:</title>
<para>
Respirez à fond et fouillez dans la base de registre...
</para>
<step><para>
Lancez <command>regedit</command>.
</para></step>
<step><para>
Pressez <keycap>Ctrl</keycap>+<keycap>F</keycap>, décochez les deux premières
cases, et cochez la troisième. Entrez le fourcc du codec. (par ex.:
<userinput>TM20</userinput>).
</para></step>
<step><para>
Vous devriez trouver un champ contenant le chemin et le nom du fichier utilisé
(par ex. <filename>C:\WINDOWS\SYSTEM\TM20DEC.AX</filename>).
</para></step>
<step><para>
Maintenant que nous avons le 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
<guimenu>File</guimenu> -&gt; <guisubmenu>Properties</guisubmenu> -&gt;
<guimenuitem>Advanced</guimenuitem>.
Si rien n'apparaît, pas de chance. Essayez de le deviner. (par ex.
cherchez : TrueMotion)
</para></step>
<step><para>
Si le GUID apparaît dans la base de registre, vous devriez voir un champ
<guilabel>FriendlyName</guilabel>
et un champ <guilabel>CLSID</guilabel>.
Copiez les 16 octets du CLSID, c'est le GUID dont nous avons besoin.
</para></step>
</procedure>
<note>
<para>
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...
</para>
</note>
<para>
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 :
<systemitem
role="url">ftp://ftp.mplayerhq.hu/MPlayer/incoming/[nomcodec]/
</systemitem>
</para>
<para>
Si vous voulez ajouter un codec vous-même, lisez
<ulink url="http://www.mplayerhq.hu/MPlayer/DOCS/tech/codecs.conf.txt">DOCS/tech/codecs.conf.txt</ulink> (en anglais).
</para>
</sect3>
</sect2>
</sect1>