view DOCS/xml/fr/mencoder.xml @ 10132:c1b56a757f85

sync
author nicolas
date Mon, 19 May 2003 17:18:05 +0000
parents b84118357b83
children f586be782e69
line wrap: on
line source

<?xml version="1.0" encoding="iso-8859-1"?>
<chapter id="mencoder">
<title>Encodage avec MEncoder</title>

<para>
Pour avoir la liste complè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étaillés sur l'utilisation des nombreux paramètres d'encodage, lisez les
<ulink url="../../tech/encoding-tips.txt">encoding-tips</ulink> (en anglais) qui ont
été collecté 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 à propos de tous les aspects et problèmes relatif à 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ée) créé 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éé, en
utilisant les données bitrate des fichiers temporaires. Le fichier résultant aura une
image de bien meilleur qualité. Si c'est la première fois que vous entendez parler de
ç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écédent (il interfè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ée. Cette méthode permet l'estimation du bitrate vidéo recommandé de façon
à tenir sur un CD. De plus, l'audio n'est encodé 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ère passe:</emphasis>

  <screen>mencoder <replaceable>fichier/DVD</replaceable> -ovc frameno -oac mp3lame -lameopts vbr=3 -o frameno.avi</screen>
  
  Un fichier avi en lecture seule sera créé, contenant
  <emphasis role="bold">uniquement</emphasis> le flux audio demandé. N'oubliez pas
  <option>-lameopts</option>, si vous en avez besoin. Si vous encodez un long film,
  <application>MEncoder</application> affiche le bitrate recommandé pour les tailles
  650Mo, 700Mo, et 800Mo, aprè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ère passe de l'encodage vidéo. Éventuellement spécifiez le bitrate
vidéo que MEncoder a affiché à la fin de la passe précédente.
  </para></step>
<step><para>
  <emphasis>Troisiè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éo. Spécifiez le même bitrate vidéo que
celui de la passe précédente à moins que vous ne sachiez réellement ce que vous faites.
Dans cette passe, l'audio de <filename>frameno.avi</filename> sera inséré dans le
fichier de destination.. et c'est tout prê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écédent (il interfè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 movie.avi
mencoder -dvd 2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o movie.avi
</screen>
</para>
</example>
</sect1>

<sect1 id="menc-feat-mpeg">
<title>Encodage au format MPEG</title>
<para>
<application>MEncoder</application> peut cré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é <application>MPlayer</application>
- attendent de la vidé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 ê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">mauvais</emphasis>. Plutôt que faire ça, lisez la
section <link linkend="aspect">Préserver l'aspect ratio</link>.
</para>

<para>
Le processus de zoom est géré par le filtre vidéo <literal>scale</literal> :
<option>-vf scale=<replaceable>largeur</replaceable>:<replaceable>hauteur</replaceable></option>.
Sa qualité peut être réglée avec l'option <option>-sws</option>.
Si elle n'est pas spécifiée, <application>MEncoder</application> utilisera 0: fast bilinear.
</para>

<para>
Usage:
<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ç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éo</emphasis> (option <option>-ovc copy</option>):
  on peut faire des choses sympa :) comme, placer (pas convertir) de la vidéo FLI
  ou VIVO ou MPEG1 dans un fichier AVI. Bien sûr seul <application>MPlayer</application>
  peut lire de tels fichiers :) et ça n'a probablement pas de valeur réelle du tout.
  Concrètement: copier des flux vidéo peut être utile par exemple quand seul le flux
  audio doit être encodé (comme du PCM non-compressé en MP3).
  </para></listitem>
<listitem><para>
  <emphasis role="bold">Flux audio</emphasis> (option <option>-oac copy</option>):
  trè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éparer les fichiers AVIs ayant un index défectueux</title>

<para>
Facile. Nous copions simplement les flux vidéo et audio, et <application>MEncoder</application>
génère l'index. Bien sûr cela ne peut pas réparer les bogues possibles dans les flux
vidéo et/ou audio. Il répare également les fichiers avec un entrelacement endommagé,
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 à 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êmes codecs, résolution, débit, etc. et qu'au moins <filename>1.avi</filename>
ne soit pas endommagé. Vous pouvez avoir besoin de réparer vos fichiers AVI d'entré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 plein de
formats audio et vidéo intéressants (actuellement ses codecs audio ne sont pas
supportés). Vous pouvez encoder avec les codecs suivants:

<informaltable frame="all">
<tgroup cols="2">
<thead>
<row><entry>Codec name</entry><entry>Description</entry></row>
</thead>
<tbody>
<row><entry>mjpeg</entry><entry>
   Motion JPEG
  </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é-standard MPEG-4 de MS, v3 (alias DivX3)
  </entry></row>
<row><entry>msmpeg4v2</entry><entry>
  pré-standard MPEG-4 par MS, v2 (utilisé dans les anciens fichiers asf)
  </entry></row>
  <row><entry>wmv1</entry><entry>
  Windows Media Video, version 1 (alias WMV7)
  </entry></row>
<row><entry>rv10</entry><entry>
  un vieux codec RealVideo
  </entry></row>
<row><entry>mpeg1video</entry><entry>
  MPEG1 video :)
  </entry></row>
<row><entry>huffyuv</entry><entry>
  compression sans perte
  </entry></row>
</tbody>
</tgroup>
</informaltable>

La première colonne contient le nom du codec qui devrait être passé aprè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 à partir de multiples fichiers image (JPEGs, PNGs ou TGAs)</title>

<para>
<application>MEncoder</application> est capable de créer des fichiers à partir de un
ou plusieurs fichiers JPEG, PNG ou TGA. Avec une simple copie de trame il peut cré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écode</emphasis> le(s) image(s)
  d'origine avec <systemitem class="library">libjpeg</systemitem> (pour encoder
  des PNGs, il utilisera <systemitem class="library">libpng</systemitem>).
  </para></listitem>
<listitem><para>
  <application>MEncoder</application> envoie alors l'image décodée au compresseur
  vidéo choisi (DivX4, XviD, ffmpeg msmpeg4, etc.).
  </para></listitem>
</orderedlist>

<formalpara>
<title>Exemples</title>
<para>
Une explication de l'option <option>-mf</option> peut être trouvée dans la page de man.

<informalexample>
<para>
Créer un fichier DivX4 à 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éer un fichier DivX4 à 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éer un fichier Motion JPEG (MJPEG) à 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éer un fichier non-compressé à 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 être un entier multiple de 4, c'est une limitation du format AVI RGB brut.
</para></note>

<informalexample>
<para>
Créer un fichier Motion PNG (MPNG) à 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éer un fichier Motion TGA (MTGA) à 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éralement compressé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é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é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é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 étape ajoutera les sous-titres actifs dans les fichiers <filename>.idx</filename>
et <filename>.sub</filename> déjà 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ç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é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éo, pour que les
humains n'aient pas des "têtes d'oeuf" (ex. 480x480 + 4:3 = 640x480). De toute façon,
quand vous encodez un fichier AVI (DivX), vous devez être conscients que les entêtes
AVI ne stockent pas cette valeur. Redimensionner le film est dégouttant et coû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é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éo au dehors qui supportent cet
attribut. Excepté <application>MPlayer</application>.
</para>

<para>
Cette fonction ne peut être utilisé qu'avec le codec <systemitem>mpeg4</systemitem> de
<emphasis role="bold">libavcodec</emphasis>. Gardez à l'esprit: bien que
<application>MPlayer</application> lise correctement le fichier créé, 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>

</chapter>