1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-22 06:42:03 +00:00
mpv/DOCS/fr/encoding.html

316 lines
15 KiB
HTML
Raw Normal View History

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Encodage - MEncoder - L'encodeur vid<69>o pour Linux</TITLE>
<LINK REL="stylesheet" TYPE="text/css" HREF="../default.css">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
<H1><A NAME="encoding">7. Encodage avec MEncoder</A></H1>
<P>Pour avoir la liste compl<70>te des options disponibles de MEncoder et des exemples,
voir la page de man. Pour une s<>rie d'exemples pratiques et de guides d<>taill<6C>s
sur l'utilisation des nombreux param<61>tres d'encodage, lisez les
<A HREF="../tech/encoding-tips.txt">encoding-tips</A> (en anglais) qui ont
<20>t<EFBFBD> collect<63>s sur de nombreuses threads de la liste de diffusion
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-users">mplayer-users</A>.
Cherchez dans les <A HREF="http://mplayerhq.hu/pipermail/mplayer-users/">archives</A>
pour trouver les discussions <20> propos de tous les aspects et probl<62>mes relatif
<20> l'encodage avec MEncoder.</P>
<H2><A NAME="2pass">7.1 Encodage MPEG-4 (&quot;DivX&quot;) 2 ou 3-passes</A></H2>
<P><U><B>Encodage 2-passes:</B></U> le nom vient du fait que cette m<>thode encode
le fichier <I>deux fois</I>. Le premier encodage (<I>passe</I> doubl<62>e)
cr<63><72> quelques fichiers temporaires (*.log) 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 <20>a, vous devriez consulter les
guides disponibles sur le Net.</P>
<P>Cet exemple montre comment encoder un DVD en AVI MPEG-4 (&quot;DIVX&quot;) AVI 2-passes.
Seules deux commandes sont requises:<BR>
<CODE>&nbsp;&nbsp;&nbsp;&nbsp;rm frameno.avi</CODE> - enlevez ce fichier, qui peut
provenir d'un encodage 3-passes pr<70>c<EFBFBD>dent (il interf<72>re avec l'actuel)<BR>
<CODE>&nbsp;&nbsp;&nbsp;&nbsp;mencoder -dvd 2 -ovc lavc -lavcopts
vcodec=mpeg4:vpass=1 -oac copy -o film.avi<BR>
&nbsp;&nbsp;&nbsp;&nbsp;mencoder -dvd 2 -ovc lavc -lavcopts
vcodec=mpeg4:vpass=2 -oac copy -o film.avi</CODE></P>
<P><U><B>Encodage 3-passes:</B></U> 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 <20> tenir sur un CD. De plus,
l'audio n'est encod<6F> qu'une fois, au contraire du mode 2-passes. Le principe:</P>
<OL>
<LI>Supprimez les fichiers temporaires conflictuels:
<P><CODE>rm frameno.avi</CODE></P></LI>
<LI>Premi<EFBFBD>re passe:
<P><CODE>mencoder &lt;fichier/DVD&gt; -ovc frameno -oac mp3lame -lameopts vbr=3:more_options -o frameno.avi</CODE></P>
<P>Un fichier avi en lecture seule sera cr<63><72>, contenant <B>uniquement</B>
le flux audio demand<6E>. N'oubliez pas <CODE>-lameopts</CODE>,
si vous en avez besoin. Si vous encodez un long film, MEncoder
affiche le bitrate recommand<6E> pour les tailles 650Mo, 700Mo, et 800Mo,
apr<70>s la fin de cette passe.</P></LI>
<LI>Seconde passe:
<P><CODE>mencoder &lt;fichier/DVD&gt; -oac copy
-ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vbitrate=&lt;bitrate&gt;</CODE></P>
<P>Ceci est la premi<6D>re passe de l'encodage vid<69>o.
<20>ventuellement sp<73>cifiez le bitrate vid<69>o que MEncoder <20> affich<63> <20> la
fin de la passe pr<70>c<EFBFBD>dente.</P></LI>
<LI>Troisi<EFBFBD>me passe:
<P><CODE>mencoder &lt;fichier/DVD&gt; -oac copy
-ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vbitrate=&lt;bitrate&gt;</CODE></P>
<P>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 <CODE>frameno.avi</CODE>
sera ins<6E>r<EFBFBD> dans le fichier de destination.. et c'est tout pr<70>t!</P></LI>
</OL>
<H4>Exemple d'encodage 3-passes:</H4>
<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;rm frameno.avi</CODE> - enlevez ce fichier, qui peut
provenir d'un encodage 3-passes pr<70>c<EFBFBD>dent (il interf<72>re avec l'actuel)<BR>
<CODE>&nbsp;&nbsp;&nbsp;&nbsp;mencoder -dvd 2 -ovc frameno
-o frameno.avi -oac mp3lame -lameopts vbr=3<BR>
&nbsp;&nbsp;&nbsp;&nbsp;mencoder -dvd 2 -ovc lavc
-lavcopts vcodec=mpeg4:vpass=1 -oac copy -o film.avi<BR>
&nbsp;&nbsp;&nbsp;&nbsp;mencoder -dvd 2 -ovc lavc
-lavcopts vcodec=mpeg4:vpass=2 -oac copy -o film.avi</CODE></P>
<H2><A NAME="mpeg">7.2 Encodage au format MPEG</A></H2>
<P>MEncoder peut cr<63>er des fichier au format MPEG (MPEG-PS). Ceci n'est probablement
utile qu'avec le codec <I>mpeg1video</I> de libavcodec, car les lecteurs
- except<70> MPlayer - attendent de la vid<69>o MPEG1, et de l'audio MPEG1 layer 2 (MP2)
dans les fichiers MPEG.</P>
<P>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.</P>
<P>Pour changer le format de sortie de MEncoder, utilisez l'option
<CODE>-of mpeg</CODE>.</P>
<P>Exemple:<BR>
&nbsp;&nbsp;<CODE>mencoder -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video
-oac copy &lt;other options&gt; media.avi -o sortie.mpg</CODE></P>
<H2><A NAME="rescaling">7.3 Redimensionnement des films</A></H2>
<P>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. <B>C'est mauvais.</B> Plut<75>t que faire <20>a, lisez la
section <A HREF="#aspect">Pr<EFBFBD>server l'aspect ratio</A>.</P>
<P>Le processus de zoom est g<>r<EFBFBD> par le filtre vid<69>o <I>'scale'</I>:
<CODE>-vf scale=largeur:hauteur</CODE>. Sa qualit<69> peut <20>tre r<>gl<67>e avec l'option
<CODE>-sws</CODE>. Si elle n'est pas sp<73>cifi<66>e, MEncoder utilisera 0:
fast bilinear.</P>
<H4>Utilisation:</H4>
<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;mencoder entree.mpg -ovc lavc -lavcopts
vcodec=mpeg4 -vf scale=640:480 -oac copy -o
sortie.avi</CODE></P>
<H2><A NAME="copying">7.4 Copie de flux</A></H2>
<P>MEncoder peut g<>rer les flux entrant de deux fa<66>ons: les <B>encoder</B>
ou les <B>copier</B>. Cette section parle de la <B>copie</B>.</P>
<UL>
<LI><B>Flux vid<69>o</B> (option <CODE>-ovc copy</CODE>): on peut faire
des choses sympa :)<BR>
Comme, placer (pas convertir) de la vid<69>o FLI ou VIVO ou MPEG1 dans
un fichier AVI. Bien s<>r seul MPlayer 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).</LI>
<LI><B>Flux audio</B> (option <CODE>-oac copy</CODE>): 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 <CODE>-audiofile &lt;nomfichier&gt;</CODE>
pour cela.</LI>
</UL>
<H2><A NAME="fixing">7.5 R<>parer les fichiers AVIs ayant un index d<>fectueux</A></H2>
<P>Facile. Nous copions simplement les flux vid<69>o et audio, et
MEncoder g<>n<EFBFBD>re l'index. Bien s<>r cela ne peut pas r<>parer les bogues possibles
dans les flux vid<69>o et/ou audio. Il r<>pare <20>galement les fichiers avec un
entrelacement endommag<61>, ainsi l'option <CODE>-ni</CODE> ne sera plus requise.</P>
<P>Commande: <CODE>mencoder -idx entree.avi -ovc copy -oac copy -o sortie.avi</CODE></P>
<H3><A NAME="appending">7.5.1 Assembler plusieurs fichiers AVI</A></H3>
<P>Un effet secondaire de la fonction de r<>paration d'AVI permet <20> MEncoder d'assembler
2 (ou plus) fichiers AVI:</P>
<P>Command: <CODE>cat 1.avi 2.avi | mencoder -noidx -ovc copy -oac copy -o sortie.avi -</CODE></P>
<P><B>Note:</B> Cela suppose que <CODE>1.avi</CODE> et <CODE>2.avi</CODE> utilisent
les m<>me codecs, r<>solution, d<>bit, etc et qu'au moins 1.avi ne soit pas endommag<61>.
Vous pouvez avoir besoin de r<>parer vos fichiers AVI d'entr<74>e d'abord, comme d<>crit
<A HREF="#fixing">ci-dessus</A>.</P>
<H2><A NAME="libavcodec">7.6 Encodage avec la famille de codecs libavcodec</A></H2>
<P><A HREF="codecs.html#libavcodec">libavcodec</A> permet un encodage simple dans plein
formats audio et vid<69>o int<6E>ressants (actuellement ses codecs audio ne sont pas
support<72>s). Vous pouvez encoder avec les codecs suivants:</P>
<UL>
<LI>mjpeg - Motion JPEG</LI>
<LI>h263 - H263</LI>
<LI>h263p - H263 Plus</LI>
<LI>mpeg4 - standard ISO (compatible DivX 4/5, OpenDivX, XviD)</LI>
<LI>msmpeg4 - variante pr<70>-standard de MPEG-4 par MS, v3 (alias DivX3)</LI>
<LI>msmpeg4v2 - MPEG-4 pr<70>-standard de MS, v2 (utilis<69> dans les anciens fichiers asf)</LI>
<LI>wmv1 - Windows Media Video, version 1 (alias WMV7)</LI>
<LI>rv10 - un vieux codec RealVideo</LI>
<LI>mpeg1video - MPEG1 video :)</LI>
<LI>huffyuv - compression sans perte</LI>
</UL>
<P>La premi<6D>re colonne contient le nom du codec qui devrait <20>tre pass<73> apr<70>s la
config <CODE>vcodec</CODE>, comme: <CODE>-lavcopts vcodec=msmpeg4</CODE></P>
<P>Un exemple, avec compression MJPEG:<BR>
<CODE>&nbsp;&nbsp;&nbsp;&nbsp;mencoder -dvd 2 -o titre2.avi -ovc lavc
-lavcopts vcodec=mjpeg -oac copy</CODE></P>
<H2><A NAME="image_files">7.7 Encodage <20> partir de multiples fichiers image (JPEGs, PNGs ou TGAs)</A></H2>
<P>MEncoder 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).</P>
Explication du processus:
<OL>
<LI>MEncoder <I>d<EFBFBD>code</I> le(s) image(s) d'origine avec
<CODE>libjpeg</CODE> (pour encoder des PNGs, il utilisera <B>libpng</B>).</LI>
<LI>Mencoder envoie alors l'image d<>cod<6F>e au compresseur vid<69>o choisi
(DivX4, XviD, ffmpeg msmpeg4, etc...).</LI>
</OL>
<H4>Exemples</H4>
<P>Une explication de l'option <CODE>-mf</CODE> peut <20>tre trouv<75>e plus bas dans la section des
<A HREF="#options">options</A> globales et dans la page de man.</P>
<P><I>Cr<EFBFBD>er un fichier DivX4 <20> partir de tous les fichiers JPEG du r<>p courant:</I><BR>
&nbsp;&nbsp;<CODE>mencoder -mf on:w=800:h=600:fps=25 -ovc divx4
-o sortie.avi \*.jpg</CODE></P>
<P><I>Cr<EFBFBD>er un fichier DivX4 <20> partir de quelques fichiers JPEG du r<>p courant:</I><BR>
&nbsp;&nbsp;<CODE>mencoder -mf on:w=800:h=600:fps=25
-ovc divx4 -o sortie.avi trame001.jpg,trame002.jpg</CODE></P>
<P><I>Cr<EFBFBD>er un fichier Motion JPEG (MJPEG) <20> partir de tous les fichiers JPEG du r<>p courant:</I><BR>
&nbsp;&nbsp;<CODE>mencoder -mf on:w=800:h=600:fps=25 -ovc copy
-o sortie.avi \*.jpg</CODE></P>
<P><I>Cr<EFBFBD>er un fichier non-compress<73> <20> partir de tous les fichiers PNG du r<>p courant:</I><BR>
&nbsp;&nbsp;<CODE>mencoder -mf on:w=800:h=600:fps=25:type=png -ovc rawrgb
-o sortie.avi \*.png</CODE></P>
<P><B>Note:</B> La largeur doit <20>tre un entier multiple de 4, c'est une limitation
du format AVI RGB brut.</P>
<P><I>Cr<EFBFBD>er un fichier Motion PNG (MPNG) <20> partir de tous les fichiers PNG du r<>p courant:</I><BR>
&nbsp;&nbsp;<CODE>mencoder -mf on:w=800:h=600:fps=25:type=png -ovc copy
-oac copy -o sortie.avi \*.png</CODE></P>
<P><I>Cr<EFBFBD>er un fichier Motion TGA (MTGA) <20> partir de tous les fichiers TGA du r<>p courant:</I><BR>
&nbsp;&nbsp;<CODE>mencoder -mf on:w=800:h=600:fps=25:type=tga -ovc copy
-o sortie.avi \*.tga</CODE></P>
<H2><A NAME="vobsub">7.8 Extraction des sous-titres DVD dans un fichier Vobsub</A></H2>
<P>MEncoder 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 <CODE>.idx</CODE> et
<CODE>.sub</CODE> et sont g<>n<EFBFBD>ralement compress<73>s dans une seule archive <CODE>.rar</CODE>.
MPlayer peut les lire avec les options <CODE>-vobsub</CODE> et <CODE>-vobsubid</CODE>.</P>
<P>Vous sp<73>cifiez le nom de base (c-a-d sans l'extension <CODE>.idx</CODE> ou
<CODE>.sub</CODE>) des fichiers de sortie avec <CODE>-vobsubout</CODE> et
l'index pour ces sous-titres dans le fichier final avec <CODE>-vobsuboutindex</CODE>.</P>
<P>Si l'entr<74>e n'est pas un DVD vous pouvez utiliser <CODE>-ifo</CODE> pour
indiquer le fichier <CODE>.ifo</CODE> requis pour construire le fichier
<CODE>.idx</CODE> final.</P>
<P>Si l'entr<74>e n'est pas un DVD et que vous n'avez pas de fichier <CODE>.ifo</CODE>
vous aurez besoin d'utiliser l'option <CODE>-vobsubid</CODE> pour lui permettre
de savoir quel id langue placer dans le fichier <CODE>.idx</CODE>.</P>
<P>Chaque <20>tape ajoutera les sous-titres actifs dans les fichiers <CODE>.idx</CODE>
et <CODE>.sub</CODE> dans les fichiers d<>j<EFBFBD> existants. Vous devrez donc les
enlever avant de commencer.</P>
<H4>Exemples</H4>
<P><I>Copier deux sous-titres d'un DVD pendant l'encodage 3-passes</I><BR>
&nbsp;&nbsp;<CODE>rm soustitres.idx soustitres.sub</CODE><BR>
&nbsp;&nbsp;<CODE>mencoder -dvd 1 -vobsubout soustitres -vobsuboutindex 0
-sid 2 -o frameno.avi -ovc frameno -oac mp3lame -lameopts vbr=3</CODE><BR>
&nbsp;&nbsp;<CODE>mencoder -dvd 1 -oac copy -ovc divx4 -divx4opts pass=1</CODE><BR>
&nbsp;&nbsp;<CODE>mencoder -dvd 1 -oac copy -ovc divx4 -divx4opts pass=2 -vobsubout
sous-titres -vobsuboutindex 1 -sid 5</CODE></P>
<P><I>Copier les sous-titres fran<61>ais depuis un fichier MPEG</I><BR>
&nbsp;&nbsp;<CODE>rm soustitres.idx soustitres.sub</CODE><BR>
&nbsp;&nbsp;<CODE>mencoder film.mpg -ifo film.ifo -vobsubout soustitres
-vobsuboutindex 0 -vobsuboutid fr -sid 1</CODE></P>
<H2><A NAME="aspect">7.9 Pr<50>server l'aspect ratio</A></H2>
<P>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 fonction!</P>
<P>Il y en a une.</P>
<P>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 pas
de lecteurs vid<69>o au dehors qui supportent cet attribut. Except<70> MPlayer.</P>
<P>Cette fonction ne peut <20>tre utilis<69> qu'avec le codec <CODE>mpeg4</CODE>
de <B>libavcodec</B>. Gardez <20> l'esprit: bien que MPlayer lise correctement
le fichier cr<63><72>, les autres lecteurs utiliseront un mauvais aspect ratio.</P>
<P>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 <CODE>cropdetect</CODE> et
<CODE>crop</CODE>.</P></P>
<H4>Utilisation:</H4>
<P><CODE>$ mencoder sample-svcd.mpg -ovc lavc -lavcopts
vcodec=mpeg4:aspect=16.0/9.0 -vf crop=714:548:0:14 -oac copy -o sortie.avi</CODE></P>
</BODY>
</HTML>