mirror of
https://github.com/mpv-player/mpv
synced 2024-12-22 06:42:03 +00:00
d7239cbacc
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10203 b3059339-0415-0410-9bf9-f77b7e298cf2
478 lines
17 KiB
XML
478 lines
17 KiB
XML
<?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 ("DivX") 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 ("DIVX") 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 tout est 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 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é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>
|