mpv/DOCS/xml/fr/mencoder.xml

562 lines
19 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- synced with 1.10 -->
<chapter id="mencoder">
<title>Encodage avec MEncoder</title>
<para>
Pour avoir la liste compl<70>te des options disponibles de <application>MEncoder</application>
et des exemples, voir la page de man. Pour une s<>rie d'exemples pratiques et de guides
d<EFBFBD>taill<EFBFBD>s sur l'utilisation des nombreux param<61>tres d'encodage, lisez les
<ulink url="../../tech/encoding-tips.txt">encoding-tips</ulink> (en anglais) qui ont
<EFBFBD>t<EFBFBD> collect<63>s sur de nombreuses threads de la liste de diffusion
<ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-users">mplayer-users</ulink>.
Cherchez dans les
<ulink url="http://mplayerhq.hu/pipermail/mplayer-users/">archives</ulink> pour trouver
les discussions <20> propos de tous les aspects et probl<62>mes relatif <20> l'encodage avec
<application>MEncoder</application>.
</para>
<sect1 id="menc-feat-divx4">
<title>Encodage MPEG-4 (&quot;DivX&quot;) 2 ou 3-passes</title>
<formalpara>
<title>Encodage 2-passes</title>
<para>
le nom vient du fait que cette m<>thode encode le fichier <emphasis>deux fois</emphasis>.
Le premier encodage (passe doubl<62>e) cr<63><72> quelques fichiers temporaires (<filename>*.log</filename>)
avec une taille de quelques m<>ga-octets, ne les d<>truisez pas tout de suite (vous pouvez
effacer l'AVI). Dans la seconde passe, la fichier de sortie 2-passes est cr<63><72>, en
utilisant les donn<6E>es bitrate des fichiers temporaires. Le fichier r<>sultant aura une
image de bien meilleur qualit<69>. Si c'est la premi<6D>re fois que vous entendez parler de
<EFBFBD>a, vous devriez consulter les guides disponibles sur le Net.
</para>
</formalpara>
<para>
Cet exemple montre comment encoder un DVD en AVI MPEG-4 (&quot;DIVX&quot;) AVI 2-passes.
Seules deux commandes sont requises:
<screen>rm frameno.avi</screen>
enlevez ce fichier, qui peut provenir d'un encodage 3-passes pr<70>c<EFBFBD>dent (il interf<72>re avec l'actuel)
<screen>
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o film.avi
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o film.avi
</screen>
</para>
<formalpara>
<title>Encodage 3-passes</title>
<para>
c'est une extension de l'encodage 2-passes, o<> l'encodage audio prends place dans une
passe s<>par<61>e. Cette m<>thode permet l'estimation du bitrate vid<69>o recommand<6E> de fa<66>on
<EFBFBD> tenir sur un CD. De plus, l'audio n'est encod<6F> qu'une fois, au contraire du mode
2-passes. Le principe:
</para>
</formalpara>
<procedure>
<step><para>
Supprimez les fichiers temporaires conflictuels:
<screen>rm frameno.avi</screen>
</para></step>
<step><para>
<emphasis>Premi<EFBFBD>re passe:</emphasis>
<screen>mencoder <replaceable>fichier/DVD</replaceable> -ovc frameno -oac mp3lame -lameopts vbr=3 -o frameno.avi</screen>
Un fichier avi audio sera cr<63><72>, contenant
<emphasis role="bold">uniquement</emphasis> le flux audio demand<6E>. N'oubliez pas
<option>-lameopts</option>, si vous en avez besoin. Si vous encodez un long film,
<application>MEncoder</application> affiche le bitrate recommand<6E> pour les tailles
650Mo, 700Mo, et 800Mo, apr<70>s la fin de cette passe.
</para></step>
<step><para>
<emphasis>Seconde passe:</emphasis>
<screen>
mencoder <replaceable>fichier/DVD</replaceable> -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vbitrate=<replaceable>bitrate</replaceable><!--
--></screen>
Ceci est la premi<6D>re passe de l'encodage vid<69>o. <20>ventuellement sp<73>cifiez le bitrate
vid<EFBFBD>o que MEncoder a affich<63> <20> la fin de la passe pr<70>c<EFBFBD>dente.
</para></step>
<step><para>
<emphasis>Troisi<EFBFBD>me passe:</emphasis>
<screen>
mencoder <replaceable>fichier/DVD</replaceable> -oac copy -pass 2 \
-ovc divx4 -divx4opts br=<replaceable>bitrate</replaceable>
</screen>
Ceci est la seconde passe de l'encodage vid<69>o. Sp<53>cifiez le m<>me bitrate vid<69>o que
celui de la passe pr<70>c<EFBFBD>dente <20> moins que vous ne sachiez r<>ellement ce que vous faites.
Dans cette passe, l'audio de <filename>frameno.avi</filename> sera ins<6E>r<EFBFBD> dans le
fichier de destination... et tout est pr<70>t!
</para></step>
</procedure>
<example>
<title>Exemple d'encodage 3-passes</title>
<para>
<screen>rm frameno.avi</screen>
enlevez ce fichier, qui peut provenir d'un encodage 3-passes pr<70>c<EFBFBD>dent (il interf<72>re
avec l'actuel)
<screen>
mencoder dvd://2 -ovc frameno -o frameno.avi -oac mp3lame -lameopts vbr=3
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o film.avi
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o film.avi
</screen>
</para>
</example>
</sect1>
<sect1 id="menc-feat-mpeg">
<title>Encodage au format MPEG</title>
<para>
<application>MEncoder</application> peut cr<63>er des fichier au format MPEG (MPEG-PS).
Ceci n'est probablement utile qu'avec le codec <emphasis>mpeg1video</emphasis>
de libavcodec, car les lecteurs - except<70> <application>MPlayer</application>
- attendent de la vid<69>o MPEG1, et de l'audio MPEG1 layer 2 (MP2) dans les fichiers MPEG.
</para>
<para>
Cette fonction n'est pas vraiment utile actuellement, car elle a probablement de
nombreux bogues, mais plus important encore parce qu'actuellement MEncoder ne peut pas
encoder l'audio MPEG1 layer 2 (MP2), qui est attendu par tous les autres lecteurs dans
les fichiers MPEG.
</para>
<para>
Pour changer le format de sortie de MEncoder, utilisez l'option <option>-of mpeg</option>.
</para>
<para>
Exemple:
<screen>
mencoder -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video -oac copy <replaceable>autres options</replaceable> media.avi -o sortie.mpg
</screen>
</para>
</sect1>
<sect1 id="menc-feat-rescale">
<title>Redimensionnement des films</title>
<para>
Souvent le besoin de redimensionner les images d'un film se fait sentir. Les raisons
peuvent <20>tre multiples: diminuer la taille du fichier, la bande passante du r<>seau, etc.
La plupart des gens redimensionnement m<>me en convertissant des DVDs ou SVCDs en AVI
DivX. C'est <emphasis role="bold">mal</emphasis>. Plut<75>t que de faire <20>a, lisez la
section <link linkend="aspect">Pr<EFBFBD>server l'aspect ratio</link>.
</para>
<para>
Le processus de zoom est g<>r<EFBFBD> par le filtre vid<69>o <literal>scale</literal> :
<option>-vf scale=<replaceable>largeur</replaceable>:<replaceable>hauteur</replaceable></option>.
Sa qualit<69> peut <20>tre r<>gl<67>e avec l'option <option>-sws</option>.
Si elle n'est pas sp<73>cifi<66>e, <application>MEncoder</application> utilisera 0: fast bilinear.
</para>
<para>
Utilisation:
<screen>
mencoder <replaceable>entree.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4 -vf scale=640:480-o <replaceable>sortie.avi</replaceable>
</screen>
</para>
</sect1>
<sect1 id="menc-feat-streamcopy">
<title>Copie de flux</title>
<para>
<application>MEncoder</application> peut g<>rer les flux entrant de deux fa<66>ons: les
<emphasis role="bold">encoder</emphasis> ou les <emphasis role="bold">copier</emphasis>
Cette section parle de la <emphasis role="bold">copie</emphasis>.
</para>
<itemizedlist>
<listitem><para>
<emphasis role="bold">Flux vid<69>o</emphasis> (option <option>-ovc copy</option>):
on peut faire des choses sympa :) comme, placer (pas convertir) de la vid<69>o FLI
ou VIVO ou MPEG1 dans un fichier AVI ! Bien s<>r seul <application>MPlayer</application>
peut lire de tels fichiers :) et <20>a n'a probablement pas de valeur r<>elle du tout.
Concr<63>tement: copier des flux vid<69>o peut <20>tre utile par exemple quand seul le flux
audio doit <20>tre encod<6F> (comme du PCM non-compress<73> en MP3).
</para></listitem>
<listitem><para>
<emphasis role="bold">Flux audio</emphasis> (option <option>-oac copy</option>):
tr<74>s simple. Il est possible de prendre un fichier audio externe (MP3, Vorbis) et
de le muxer dans le flux sortant. Utilisez l'option
<option>-audiofile <replaceable>nomfichier</replaceable></option> pour cela.
</para></listitem>
</itemizedlist>
</sect1>
<sect1 id="menc-feat-fix-avi">
<title>R<EFBFBD>parer les fichiers AVIs ayant un index d<>fectueux</title>
<para>
Facile. Nous copions simplement les flux vid<69>o et audio, et <application>MEncoder</application>
g<EFBFBD>n<EFBFBD>re l'index. Bien s<>r cela ne peut pas r<>parer les bogues possibles dans les flux
vid<EFBFBD>o et/ou audio. Il r<>pare <20>galement les fichiers avec un entrelacement endommag<61>,
ainsi l'option <option>-ni</option> ne sera plus requise.
</para>
<para>
Command:
<screen>
mencoder -idx <replaceable>entree.avi</replaceable> -ovc copy -oac copy -o <replaceable>sortie.avi</replaceable><!--
--></screen>
</para>
<sect2 id="menc-feat-appending">
<title>Assembler plusieurs fichiers AVI</title>
<para>
Un effet secondaire de la fonction de r<>paration d'AVI permet <20> MEncoder d'assembler 2
(ou plus) fichiers AVI:
</para>
<para>
Commande:
<screen>cat 1.avi 2.avi | mencoder -noidx -ovc copy -oac copy -o sortie.avi -</screen>
</para>
<note><para>
Cela suppose que <filename>1.avi</filename> et <filename>2.avi</filename> utilisent les
m<EFBFBD>mes codecs, r<>solution, d<>bit, etc. et qu'au moins <filename>1.avi</filename>
ne soit pas endommag<61>. Vous pouvez avoir besoin de r<>parer vos fichiers AVI d'entr<74>e
d'abord, comme d<>crit
<link linkend="menc-feat-fix-avi">ci-dessus</link>.
</para></note>
</sect2>
</sect1>
<sect1 id="menc-feat-enc-libavcodec">
<title>Encodage avec la famille de codecs libavcodec</title>
<para>
<link linkend="ffmpeg">libavcodec</link> permet un encodage simple dans de nombreux
formats audio et vid<69>o int<6E>ressants (actuellement ses codecs audio ne sont pas
support<EFBFBD>s). Vous pouvez encoder avec les codecs suivants (plus ou moins <20> jour):
<informaltable frame="all">
<tgroup cols="2">
<thead>
<row><entry>Nom codec</entry><entry>Description</entry></row>
</thead>
<tbody>
<row><entry>mjpeg</entry><entry>
Motion JPEG
</entry></row>
<row><entry>ljpeg</entry><entry>
Lossless JPEG (sans perte)
</entry></row>
<row><entry>h263</entry><entry>
H263
</entry></row>
<row><entry>h263p</entry><entry>
H263 Plus
</entry></row>
<row><entry>mpeg4</entry><entry>
standard MPEG-4 ISO (compatible DivX 5, XVID)
</entry></row>
<row><entry>msmpeg4</entry><entry>
variante pr<70>-standard MPEG-4 de MS, v3 (alias DivX3)
</entry></row>
<row><entry>msmpeg4v2</entry><entry>
pr<70>-standard MPEG-4 par MS, v2 (utilis<69> dans les anciens fichiers asf)
</entry></row>
<row><entry>wmv1</entry><entry>
Windows Media Video, version 1 (alias WMV7)
</entry></row>
<row><entry>wmv2</entry><entry>
Windows Media Video, version 2 (alias WMV8)
</entry></row>
<row><entry>rv10</entry><entry>
un vieux codec RealVideo
</entry></row>
<row><entry>mpeg1video</entry><entry>
video MPEG1
</entry></row>
<row><entry>mpeg2video</entry><entry>
video MPEG2
</entry></row>
<row><entry>huffyuv</entry><entry>
compression sans perte
</entry></row>
<row><entry>asv1</entry><entry>
ASUS Video v1
</entry></row>
<row><entry>asv2</entry><entry>
ASUS Video v2
</entry></row>
<row><entry>ffv1</entry><entry>
codec vid<69>o sans perte de FFmpeg
</entry></row>
</tbody>
</tgroup>
</informaltable>
La premi<6D>re colonne contient le nom du codec qui devrait <20>tre pass<73> apr<70>s la config
<literal>vcodec</literal>, comme: <option>-lavcopts vcodec=msmpeg4</option>
</para>
<informalexample>
<para>
Un exemple, avec compression MJPEG:
<screen>mencoder dvd://2 -o titre2.avi -ovc lavc -lavcopts vcodec=mjpeg -oac copy</screen>
</para>
</informalexample>
</sect1>
<sect1 id="menc-feat-enc-images">
<title>Encodage <20> partir de multiples fichiers image (JPEGs, PNGs ou TGAs)</title>
<para>
<application>MEncoder</application> est capable de cr<63>er des fichiers <20> partir de un
ou plusieurs fichiers JPEG, PNG ou TGA. Avec une simple copie de trame il peut cr<63>er
des fichiers MJPEG (Motion JPEG), MPNG (Motion PNG) ou MTGA (Motion TGA).
</para>
<orderedlist>
<title>Explication du processus:</title>
<listitem><para>
<application>MEncoder</application> <emphasis>d<EFBFBD>code</emphasis> le(s) image(s)
d'origine avec <systemitem class="library">libjpeg</systemitem> (pour d<>coder
des PNGs, il utilisera <systemitem class="library">libpng</systemitem>).
</para></listitem>
<listitem><para>
<application>MEncoder</application> envoie alors l'image d<>cod<6F>e au compresseur
vid<69>o choisi (DivX4, XviD, ffmpeg msmpeg4, etc.).
</para></listitem>
</orderedlist>
<formalpara>
<title>Exemples</title>
<para>
Une explication de l'option <option>-mf</option> peut <20>tre trouv<75>e dans la page de man.
<informalexample>
<para>
Cr<EFBFBD>er un fichier DivX4 <20> partir de tous les fichiers JPEG du r<>p courant:
<screen>
mencoder -mf on:w=800:h=600:fps=25 -ovc divx4 -o sortie.avi \*.jpg<!--
--></screen>
</para>
</informalexample>
<informalexample>
<para>
Cr<EFBFBD>er un fichier DivX4 <20> partir de quelques fichiers JPEG du r<>p courant:
<screen>
mencoder -mf on:w=800:h=600:fps=25 -ovc divx4 -o output.avi frame001.jpg,frame002.jpg <!--
--></screen>
</para>
</informalexample>
<informalexample>
<para>
Cr<EFBFBD>er un fichier Motion JPEG (MJPEG) <20> partir de tous les fichiers JPEG du r<>p courant:
<screen>
mencoder -mf on:w=800:h=600:fps=25 -ovc copy -o sortie.avi \*.jpg<!--
--></screen>
</para>
</informalexample>
<informalexample>
<para>
Cr<EFBFBD>er un fichier non-compress<73> <20> partir de tous les fichiers PNG du r<>p courant:
<screen>
mencoder -mf on:w=800:h=600:fps=25:type=png -ovc raw -o sortie.avi \*.png<!--
--></screen>
</para>
</informalexample>
<note><para>
La largeur doit <20>tre un entier multiple de 4, c'est une limitation du format AVI RGB brut.
</para></note>
<informalexample>
<para>
Cr<EFBFBD>er un fichier Motion PNG (MPNG) <20> partir de tous les fichiers PNG du r<>p courant:
<screen>
mencoder -mf on:w=800:h=600:fps=25:type=png -ovc copy -o sortie.avi \*.png<!--
--></screen>
</para>
</informalexample>
<informalexample>
<para>
Cr<EFBFBD>er un fichier Motion TGA (MTGA) <20> partir de tous les fichiers TGA du r<>p courant:
<screen>
mencoder -mf on:w=800:h=600:fps=25:type=tga -ovc copy -o sortie.avi \*.tga<!--
--></screen>
</para>
</informalexample>
</para>
</formalpara>
</sect1>
<sect1 id="menc-feat-extractsub">
<title>Extraction des sous-titres DVD dans un fichier Vobsub</title>
<para>
<application>MEncoder</application> est capable d'extraire les sous-titres d'un DVD
dans des fichiers au format VobSub. Ils consistent en une paire de fichiers terminant
par <filename>.idx</filename> et <filename>.sub</filename> et sont g<>n<EFBFBD>ralement compress<73>s
dans une seule archive <filename>.rar</filename>. <application>MPlayer</application>
peut les lire avec les options <option>-vobsub</option> et <option>-vobsubid</option>.
</para>
<para>
Vous sp<73>cifiez le nom de base (c-a-d sans extension <filename>.idx</filename> ou
<filename>.sub</filename>) des fichiers de sortie avec <option>-vobsubout</option>
et l'index pour ces sous-titres dans le fichier final avec <option>-vobsuboutindex</option>.
</para>
<para>
Si l'entr<74>e n'est pas un DVD vous pouvez utiliser <option>-ifo</option> pour indiquer le
fichier <filename>.ifo</filename> requis pour construire le fichier <filename>.idx</filename> final.
</para>
<para>
Si l'entr<74>e n'est pas un DVD et que vous n'avez pas de fichier <filename>.ifo</filename>
vous aurez besoin d'utiliser l'option <option>-vobsubid</option> pour lui permettre de
savoir quel id langue placer dans le fichier <filename>.idx</filename>.
</para>
<para>
Chaque <20>tape ajoutera les sous-titres actifs dans les fichiers <filename>.idx</filename>
et <filename>.sub</filename> d<>j<EFBFBD> existants. Vous devrez donc les enlever avant de commencer.
</para>
<example>
<title>Copier deux sous-titres d'un DVD pendant l'encodage 3-passes</title>
<screen>
rm soustitres.idx soustitres.sub
mencoder dvd://1 -vobsubout soustitres -vobsuboutindex 0 -sid 2 -o frameno.avi -ovc frameno
mencoder dvd://1 -oac copy -ovc divx4 -pass 1
mencoder dvd://1 -oac copy -ovc divx4 -pass 2 -vobsubout soustitres -vobsuboutindex 1 -sid 5<!--
--></screen>
</example>
<example>
<title>Copier les sous-titres fran<61>ais depuis un fichier MPEG</title>
<screen>
rm soustitres.idx soustitres.sub
mencoder film.mpg -ifo film.ifo -vobsubout soustitres -vobsuboutindex 0 -vobsuboutid fr -sid 1<!--
--></screen>
</example>
</sect1>
<sect1 id="aspect">
<title>Pr<EFBFBD>server l'aspect ratio</title>
<para>
Les fichiers des DVDs et des SVCDs (c-a-d MPEG1/2) contiennent une valeur d'aspect
ratio, qui d<>crit comment le lecteur devrait dimensionner le flux vid<69>o, pour que les
humains n'aient pas des "t<>tes d'oeuf" (ex. 480x480 + 4:3 = 640x480). De toute fa<66>on,
quand vous encodez un fichier AVI (DivX), vous devez <20>tre conscients que les ent<6E>tes
AVI ne stockent pas cette valeur. Redimensionner le film est d<>gouttant et co<63>teux en
temps, il doit y avoir une meilleur solution !
</para>
<para>Il y en a une.</para>
<para>
MPEG4 a une fonction unique: le flux vid<69>o peut contenir l'aspect ratio requis. Oui,
tout comme les fichiers MPEG1/2 (DVD, SVCD). Malheureusement, il n'y a
<emphasis role="bold">pas</emphasis> de lecteurs vid<69>o au dehors qui supportent cet
attribut. Except<70> <application>MPlayer</application>.
</para>
<para>
Cette fonction ne peut <20>tre utilis<69> qu'avec le codec <systemitem>mpeg4</systemitem> de
<emphasis role="bold">libavcodec</emphasis>. Gardez <20> l'esprit: bien que
<application>MPlayer</application> lise correctement le fichier cr<63><72>, les autres lecteurs
utiliseront un mauvais aspect ratio.
</para>
<para>
Vous devriez s<>rieusement couper les bandes noires au dessus et en dessous de l'image.
Voir la page de man pour l'utilisation des filtres <systemitem>cropdetect</systemitem>
et <systemitem>crop</systemitem>.
</para>
<formalpara>
<title>Utilisation</title>
<para>
<screen>mencoder echantillon-svcd.mpg -ovc lavc -lavcopts vcodec=mpeg4:autoaspect -vf crop=714:548:0:14 -oac copy -o sortie.avi</screen>
</para>
</formalpara>
</sect1>
<sect1 id="custommatrices"><title>Inter/intra matrices personnalis<69>es</title>
<para>
Avec cette fonction de <link linkend="ffmpeg">libavcodec</link> vous pouvez
initialiser des matrices personnalis<69>es inter (I-frames/trames-cl<63>) et intra
(P-frames/trames pr<70>vues). Elle est support<72>e par de nombreux codecs:
<systemitem>mpeg1video</systemitem> et <systemitem>mpeg2video</systemitem>
fonctionnent.
</para>
<para>
Une utilisation typique de cette fonction est d'initialiser les matrices
recommand<EFBFBD>es par les sp<73>cifications <ulink url="http://www.kvcd.net/">KVCD</ulink>.
</para>
<para>
La <emphasis role="bold">matrice de quantisation &quot;Notch&quot; de KVCD:</emphasis>
</para>
<para>
Intra:
<screen>
8 9 12 22 26 27 29 34
9 10 14 26 27 29 34 37
12 14 18 27 29 34 37 38
22 26 27 31 36 37 38 40
26 27 29 36 39 38 40 48
27 29 34 37 38 40 48 58
29 34 37 38 40 48 58 69
34 37 38 40 48 58 69 79
</screen>
Inter:
<screen>
16 18 20 22 24 26 28 30
18 20 22 24 26 28 30 32
20 22 24 26 28 30 32 34
22 24 26 30 32 32 34 36
24 26 28 32 34 34 36 38
26 28 30 32 34 36 38 40
28 30 32 34 36 38 42 42
30 32 34 36 38 40 42 44
</screen>
</para>
<para>
Utilisation:
<screen>
$ mencoder entree.avi -o sortie.avi -oac copy -ovc lavc -lavcopts inter_matrix=...:intra_matrix=...
</screen>
</para>
<para>
<screen>
$ mencoder entree.avi -ovc lavc -lavcopts
vcodec=mpeg2video:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,
12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40,26,27,29,36,39,38,40,48,27,
29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79
:inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,
28,30,32,34,22,24,26,30,32,32,34,36,24,26,28,32,34,34,36,38,26,28,30,32,34,
36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -oac copy -o svcd.mpg
</screen>
</para>
</sect1>
</chapter>