1
mirror of https://github.com/mpv-player/mpv synced 2024-10-30 04:46:41 +01:00
mpv/DOCS/xml/fr/encoding-guide.xml
gpoirier 62f278543c sync w/r26920, patch by Cedric Dumez-Viou %Cedric P Dumez-Viou A obs-nancay P fr%
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26973 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-06-03 11:48:00 +00:00

5302 lines
218 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r26920 -->
<chapter id="encoding-guide">
<title>L'encodage avec <application>MEncoder</application></title>
<sect1 id="menc-feat-dvd-mpeg4">
<title>Faire un MPEG-4 (&quot;DivX&quot;) de bonne qualité à partir d'un DVD</title>
<para>
Il est fréquemment demandé:"Comment puis-je recopier un DVD avec la meilleure
qualité possible pour une taille donnée ?". Ou encore:"Comment puis-je recopier
un DVD sur mon disque dur avec la meilleure qualité possible ? je m'en fiche de
la taille du fichier, je veux la meilleure qualité."
</para>
<para>
Cette dernière question est peut-être un peu mal posée. Après tout, si vous ne vous
souciez pas de la taille du fichier, pourquoi ne pas simplement copier le
flux MPEG-2 du DVD entier ? Bien sûr, votre AVI finira par faire 5Gb, mais
si vous voulez la meilleure qualité et ne pas vous soucier de la taille,
ceci est probablement votre meilleure option.
</para>
<para>
En fait, la raison pour laquelle vous voulez convertir un DVD en MPEG-4
est que vous tenez <emphasis role="bold">réellement</emphasis> compte
de la taille du fichier.
</para>
<para>
Il est difficile de proposer une recette sur la façon de créer des MPEG-4
de très haute qualité à partir de DVD. Il y a plusieurs facteurs à prendre en compte, et vous
devriez comprendre ces détails ou vous serez déçus par les résultats. Ci-dessous
nous allons examiner quelques-uns de ces problèmes, et voir un exemple. Nous
supposerons que vous utilisez <systemitem class="library">libavcodec</systemitem> pour encoder
la vidéo, bien que la théorie s'applique également à d'autres codecs.
</para>
<para>
Si vous ne vous sentez pas de taille, vous devriez utiliser une des
interfaces graphiques listées sur la page de notre projet dans
<ulink url="http://www.mplayerhq.hu/design7/projects.html#mencoder_frontends">Section
MEncoder</ulink>.
Ainsi, vous devriez être capable de faire de encodages de DVD de haute qualité
sans trop réfléchir, ces outils sont faits pour prendre les bonnes décisions à votre place.
</para>
<sect2 id="menc-feat-dvd-mpeg4-preparing-encode">
<title>Préparer l'encodage : identifier le matériel source et le nombre d'images par secondes</title>
<para>
Avant même de penser à encoder un film, il est nécessaire de passer par quelques étapes
préliminaires.
</para>
<para>
La première et plus importante étape avant l'encodage sera la détermination du
type de contenu utilisé. Si votre matériel source provient d'un DVD ou de la télévision
hertzienne/câble/satellite, il sera stocké sous l'un de ces 2 formats :
NTSC pour l'Amérique du nord et le Japon, et PAL pour l'Europe, etc.
Il est important de réaliser que ceci est uniquement un format adapté pour
la télévision et cela ne correspond souvent <emphasis role="bold">pas</emphasis>
au format original du film.
L'expérience montre que le NTSC est bien plus dur à encoder car il y a plus
d'éléments à identifier dans la source.
Afin de produire un encodage acceptable, vous devez connaître le format original.
Négliger cette étape créera divers défauts dans votre encodage, dont de hideux effets
de peigne et des images dupliquées ou même perdues. De plus, ces artefacts
sont mauvais pour l'efficacité d'encodage : vous obtiendriez une moins bonne qualité
pour le même débit.
</para>
<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-fps">
<title>Identification du nombre d'images par seconde de la source</title>
<para>
Voici une liste de types de matériel source courants, où vous devriez les trouver et
leurs propriétés :
</para>
<itemizedlist>
<listitem><para>
<emphasis role="bold">Film standard</emphasis>: produit pour une diffusion
cinématographique en 24 images par secondes.
</para></listitem>
<listitem><para>
<emphasis role="bold">Vidéo PAL</emphasis>: Enregistrée par une caméra à 50 trames
par secondes. Une trame consiste en l'ensemble des lignes paires (ou impaires) d'une image.
La télévision a été créée de façon à afficher alternativement l'une ou l'autre de ces trames
créant ainsi une forme de compression analogique bon marché.
L'oeil humain est censé compenser cette alternance de trames mais dès lors que vous
comprenez l'entrelacement, vous apprendrez à le voir sur la télévision et vous ne la regarderez
plus de la même façon. Deux trames ne font <emphasis role="bold">pas</emphasis> une image
complète, car elles sont capturées avec un décalage d'1/50e de seconde et donc, à moins
qu'il n'y ait pas de mouvement, elles ne s'alignent pas parfaitement.
</para></listitem>
<listitem><para>
<emphasis role="bold">Vidéo NTSC</emphasis> : Enregistré par une caméra à
60000/1001 trames par secondes, ou 60 trames par secondes dans l'ère noir/blanc.
A part cela, similaire au PAL.
</para></listitem>
<listitem><para>
<emphasis role="bold">Dessins animés</emphasis>: Habituellement dessiné en 24 images par secondes,
peut exister en mélange variés de nombre d'images par secondes.
</para></listitem>
<listitem><para>
<emphasis role="bold">Infographie</emphasis>: peut être de
n'importe quel nombre d'images par secondes mais certains sont plus communs que d'autres;
24 et 30 sont typiques du NTSC et 25 du PAL.
</para></listitem>
<listitem><para>
<emphasis role="bold">Vieux films</emphasis>: nombre d'images par secondes généralement
plus bas.
</para></listitem>
</itemizedlist>
</sect3>
<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-material">
<title>Identification du matériel source</title>
<para>
Les films composés d'images entières sont dits progressifs,
alors que ceux composés de trames indépendantes sont appelés
soit entrelacés soit vidéo - bien que ce dernier terme soit plutôt ambigu.
</para>
<para>
Pour compliquer le tout, certains films sont un mélange des 2.
</para>
<para>
La distinction la plus importante qui doit être faite entre ces formats
est que certains utilisent des images entières alors que d'autres, des trames.
Avant d'être visionnable sur un téléviseur, <emphasis>tout</emphasis> film (DVD inclus) doit être converti dans un
format basé sur des trames. Les diverses méthodes par lesquelles ceci peut être fait
peuvent être rassemblées sous le terme anglais "telecine", parmi lesquels l'infâme
NTSC "3:2 pulldown" en est une variété.
A moins que la vidéo source ne soit déjà basée sur des trames (et avec le bon nombre de trames par seconde),
vous avez un film dans un format autre que celui d'origine.
</para>
<itemizedlist>
<title>Plusieurs variétés communes de pulldown :</title>
<listitem><para>
<emphasis role="bold">Pulldown PAL 2:2 </emphasis>: Le plus joli de tous.
Chaque image est affichée pour la durée de deux trames par extraction des lignes
paires et impaires, puis en les affichant par alternance.
Si l'original est à 24 images par secondes, ce procédé accélère le film de 4%.
</para></listitem>
<listitem><para>
<emphasis role="bold">pulldown PAL 2:2:2:2:2:2:2:2:2:2:2:3</emphasis>:
Toutes les 12 images, une image est affichées pour la durée de 3 trames au lieu de deux. Cela
permet d'éviter le problème de l'accélération de 4% mais rend le processus bien plus
difficile à inverser. Cette technique est généralement utilisée dans les productions
musicales où l'accélération de 4% endommagerait sérieusement la qualité musicale.
</para></listitem>
<listitem><para>
<emphasis role="bold">Téléciné NTSC 3:2</emphasis>: Les images sont alternativement
affichées pendant une durée de 3 ou 2 trames. Cela donne un nombre de trames par seconde
de 2,5 fois le nombre d'images par seconde de l'original.
Le résultat est aussi très légèrement ralenti de 60 trames par secondes à 60000/1001
trames par seconde pour maintenir la vitesse d'affichage NTSC.
</para></listitem>
<listitem><para>
<emphasis role="bold">Pulldown NTSC 2:2</emphasis>: Utilisé pour montrer
du 30 images par secondes sur du NTSC. Joli, comme le pulldown PAL 2:2.
</para></listitem>
</itemizedlist>
<para>
Il y aussi des méthodes de conversion entre vidéos NTSC et PAL
mais cela sort du cadre de ce guide.
Au cas où vous rencontriez un film au format NTSC ou PAL et vouliez l'encodez,
le mieux serait de trouver une copie du film dans le format original.
La conversion entre ces deux formats est hautement destructrice et ne peut
être inversee proprement, votre encodage en souffrirait grandement s'il était
fait à partir d'une source déja convertie (en NTSC ou PAL).
</para>
<para>
Quand des vidéos sont stockées sur un DVD, les paires de trames
consécutives sont rassemblées en une image même si elles ne sont pas censées
être affichées au même moment.
Le standard MPEG-2 utilisé dans les DVDs et la télévision numérique fournit
un moyen à la fois d'encoder les images progressives originales et de stocker le
numéro des trames auxquelles une image doit être montrée dans l'en-tête de cette image.
Si cette méthode est utilisée, on dit que le film est "soft-téléciné"
puisque le procédé impose uniquement au lecteur DVD d'appliquer le pulldown sur le film
plutôt que d'altérer le film lui-même.
Ce cas est de loin préférable puisqu'il peut être facilement inversé
(en fait, ignoré) par l'encodeur et puisqu'il préserve la qualité au maximum.
Malgré cela, beaucoup de studios de production de DVD et d'émission n'utilisent pas
les techniques d'encodage correctes, au lieu de cela, elles produisent des films en "hard telecine"
dans lesquels des trames sont dupliquées dans l'encodage MPEG-2.
</para>
<para>
Les étapes pour gérer correctement ce genre de cas seront évoquées <link
linkend="menc-feat-telecine">plus tard dans ce guide</link>.
Pour l'instant, nous allons vous donner quelques indications pour définir à quel type
source vous avez à faire :
</para>
<itemizedlist>
<title>Régions NTSC:</title>
<listitem><para>
Si <application>MPlayer</application> affiche que le nombre d'image a changé en
24000/1001 quand vous regardez votre film et qu'il ne change plus après cela, c'est
presque certainement un contenu progressif qui a été "soft téléciné".
</para></listitem>
<listitem><para>
Si <application>MPlayer</application> affiche un nombre d'images par seconde alternant
entre 24000/1001 et 30000/1001 et que vous voyez un effet de peigne par moment, alors
il y a plusieurs possibilités.
Les segments en 24000/1001 images par seconde sont très certainement un contenu progressif,
"soft teleciné" mais les parties en 30000/1001 images par secondes peuvent être soit
un contenu en 24000/1001 images par seconde "hard-telecinées", soit une vidéo NTSC en
60000/1001 trames par seconde.
Utilisez les mêmes conseils que ceux pour les deux cas qui suivent pour savoir lequel.
</para></listitem>
<listitem><para>
Si <application>MPlayer</application> montre un nombre d'images par seconde constant
et que chacune des images des scènes de mouvement souffre d'un effet de peigne, alors
votre film est une vidéo NTSC à 60000/1001 trames par seconde.
</para></listitem>
<listitem><para>
Si <application>MPlayer</application> montre un nombre d'images par seconde constant
et que deux images sur cinq souffrent d'un effet de peigne, votre film est "hard téléciné"
en 24000/1001 images par seconde.
</para></listitem>
</itemizedlist>
<itemizedlist>
<title>Régions PAL:</title>
<listitem><para>
Si vous ne voyez jamais d'effet de peigne, le film est en pulldown 2:2.
</para></listitem>
<listitem><para>
Si vous voyez un effet de peigne apparaissant et disparaissant
toutes les demi-secondes, alors le film a subi un pulldown 2:2:2:2:2:2:2:2:2:2:2:3.
</para></listitem>
<listitem><para>
Si vous voyez toujours un effet de peigne dans les scènes de mouvement,
alors le film est en PAL à 50 trames par secondes.
</para></listitem>
</itemizedlist>
<note><title>Astuce:</title>
<para>
<application>MPlayer</application> peut ralentir la lecture d'un film en utilisant
l'option <option>-speed</option> ou le jouer image par image.
Essayer <option>-speed 0.2</option> afin de regarder le film
très lentement ou presser la touche "<keycap>.</keycap>" répététivement pour avancer
image par image et ainsi identifier la "signature" du pulldown si
celle-ci n'est pas visible à vitesse normale.
</para>
</note>
</sect3>
</sect2>
<sect2 id="menc-feat-dvd-mpeg4-2pass">
<title>Quantificateur constant contre multipasse</title>
<para>
Il est possible d'encoder votre film à de très différentes qualités.
Avec un encodeurs vidéo modernes et quelques compression pré-codec
(antibruit et redimensionnement) il est possible d'obtenir une
trés bonne qualité pour un film grand écran de 90-110 minutes sur 700Mb.
De plus, à part les plus longs, tous les films peuvent être encodés
à une qualité presque parfaite sur 1400Mb.
</para>
<para>
Il y a trois approches possibles pour encoder une vidéo: débit constant
(CBR), quantification constante, et multipasse (ABR pour average bitrate
ou débit moyen).
</para>
<para>
La complexité des images d'un film et donc le nombre de bits requis pour
les compresser peut varier grandement d'une scène à l'autre.
Les encodeurs vidéos modernes peuvent s'ajuster à ces besoins en faisant
varier le débit.
Cependant, dans des modes simples comme le CBR, le compresseur ne connaît
pas le besoin en débit pour les scènes à venir et ne peut donc pas excéder
le débit moyen requis pour de longues portions du film.
Des modes plus avancés, comme l'encodage multipasse peuvent prendre
en compte les statistiques des passes précédentes, ce qui règle le
problème ci-dessus.
</para>
<note><title>Note:</title>
<para>
La plupart des codecs qui supportent la compression ABR supportent seulement deux
passages alors que d'autres comme le <systemitem class="library">x264</systemitem>,
le <systemitem class="library">Xvid</systemitem> et le
<systemitem class="library">libavcodec</systemitem> supportent le multipasse
ce qui améliore légèrement la qualité à chaque passe même si ces améliorations
ne sont plus visibles ou mesurables après environ la quatrième passe.
Ainsi, dans cette section, deux passes et multipasse seront utilisés indifféremment.
</para>
</note>
<para>
Dans chacun de ces modes, le codec vidéo (tel que
<systemitem class="library">libavcodec</systemitem>)
sépare les images vidéo en macroblocs de 16x16 pixels et applique ensuite
un quantificateur sur chaque macrobloc. Plus le quantificateur est bas, meilleure
est la qualité et plus le débit est grand. La méthode utilisée par
l'encodeur pour déterminer quel quantificateur utiliser pour un macrobloc donné
varie et est très configurable. (ceci est une simplification
à l'extrême du processus, mais il est utile de comprendre le principe de base).
</para>
<!-- FIXME -->
<para>
Lorsque vous spécifiez un débit constant, le codec vidéo encode la vidéo
en excluant les détails autant qu'il le faut et aussi peu que possible
de façon à rester en dessous du débit spécifié.
Si la taille du fichier vous est vraiment égale, vous pourriez aussi bien
fixer un débit constant infini (en pratique, dela signifie une valeur assez
haute pour ne pas poser de limites, tel que 10000Kbit). Sans réelle
restriction de débit, le codec utilisera le plus
bas quantificateur possible pour chaque macrobloc (tel que spécifié par
<option>vqmin</option> pour <systemitem class="library">libavcodec</systemitem>,
qui vaut 2 par défaut). Dès que vous spécifiez un débit suffisament bas pour
que le codec soit forcé d'utiliser un quantificateur plus grand, vous ruinez
très certainement la qualité votre vidéo. Pour éviter ça, vous devriez probablement
réduire la résolution de votre vidéo en suivant la méthode décrite plus tard
dans ce guide.En général, vous devriez éviter le CBR si vous vous souciez de
la qualité.
</para>
<para>
Avec un quantificateur constant, le codec utilise
le même quantificateur (spécifié par l'option <option>vqscale</option> pour
<systemitem class="library">libavcodec</systemitem>) sur chaque macrobloc.
Si vous voulez un encodage de la meilleure qualité possible, cette fois encore
en ignorant le débit, vous pouvez utiliser <option>vqscale=2</option>. Cela
donnera le même débit et le même PSNR (Peak Signal-to-Noise Ratio, rapport signal
sur bruit de crête) que le CBR avec <option>vbitrate</option>=infini et la valeur
par défaut de <option>vqmin</option> : 2.
</para>
<para>
Le problème avec la quantification constante est que cela utilise le quantificateur
spécifié que le macrobloc en ait besoin ou non. En fait, il doit être possible
d'utiliser un quantificateur plus haut sur un macrobloc sans sacrifier la
qualité visuelle. Pourquoi gaspiller les bits avec un quantificateur inutilement
bas ? Votre microprocesseur a assez de ressources car il a le temps, mais votre
disque lui a une taille limitée.
</para>
<para>
Avec l'encodage deux passes, la première passe va encoder le film comme
en CBR, mais va garder un journal des propriétés de chaque image. Ces données
sont ensuite utilisées pendant la seconde passe de façon à choisir intelligemment
quels quantificateurs utiliser. Lors des scènes d'action rapide ou celles ayant
beaucoup de détails, des quantificateurs plus élevés seront probablement utilisés.
Pendant les scènes avec peu de mouvements ou avec peu de détails, ce seront
des quantificateurs plus bas. Normalement, la quantité de mouvement est bien plus
importante que la quantité de détail.
</para>
<para>
Si vous utilisez <option>vqscale=2</option>, alors vous gaspillez des bits.
Si vous utilisez <option>vqscale=3</option>, vous n'avez pas la meilleure
qualité d'encodage. Supposez que vous encodez un DVD avec
<option>vqscale=3</option>, et que le résultat est 1800Kbit/s. Si vous faites
un encodage en deux passes avec <option>vbitrate=1800</option>, la vidéo produite
aura une <emphasis role="bold">meilleure qualité</emphasis> pour le
<emphasis role="bold">même débit</emphasis>.
</para>
<para>
Maintenant que vous êtes convaincu que l'encodage deux passes est la bonne méthode,
la vraie question est maintenant de savoir quel débit utiliser. Il n'y a pas de
réponse toute faite. Idéalement, vous devriez choisir un débit offrant un compromis
entre qualité et taille de fichier. Cette valeur varie selon la vidéo source.
</para>
<para>
Si la taille ne compte pas, un bon point de départ pour un encodage de très haute
qualité est environ 2000kbit/s plus ou moins 200kbit/s.
Pour les vidéos comportant beaucoup d'actions ou de détails ou si vous avez
de très bon yeux, vous pouvez choisir 2400 ou 2600.
Pour certains DVDs, vous pourriez ne pas voir de différence à 1400kbps. C'est une
bonne idée que d'essayer sur des scènes avec différents débits pour se rendre
compte.
</para>
<para>
Si vous avez fixé une taille limite, alors il faudra d'une certaine façon calculer
le débit. Mais avant cela, il faudra définir l'espace que
vous réservez aux piste(s) audio et vous devrez <link linkend="menc-feat-dvd-mpeg4-audio">
les encoder</link> en premier.
Vous pourrez alors calculer le débit souhaité avec l'équation suivante :
<systemitem>Débit = (taille_fichier_final_en_Mo - taille_fichier_son_en_Mo) *
1024 * 1024 / durée_en_secondes * 8 / 1000</systemitem>
Par exemple, pour ramener deux heures de films sur un CD de 702Mo avec une piste
son de 60Mo, le débit vidéo sera alors de :
<systemitem>(702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000 = 740kbit/s</systemitem>
</para>
</sect2>
<sect2 id="menc-feat-dvd-mpeg4-constraints">
<title>Contraintes pour une compression efficace</title>
<para>
De par la nature intrinsèque de la compression MPEG, de nombreux
paramètres entrent en jeu afin d'obtenir une qualité maximale.
Le MPEG découpe la vidéo en carré de 16x16 appelé macroblocs. Chacun
d'entre eux est composé de 4 petits (8x8) blocs contenant des informations sur
la luminosité (intensité) ainsi que de 2 blocs (donc à résolution moitié)
contenant des informations chromatiques (pour les teintes rouge-cyan et bleu-jaune).
Même si la longueur et la largeur du film ne sont pas des multiples de 16,
l'encodeur utilisera des macroblocs de 16x16 pour couvrir l'image entière,
l'espace restant sera alors perdu.
Si votre intérêt est de conserver une très bonne qualité, utiliser des résolutions
non multiples de 16 n'est pas une bonne idée.
</para>
<para>
La plupart des DVDs ont aussi des bandes noires sur les bords. Négliger
ces parties peut <emphasis role="bold">grandement</emphasis> altérer la qualité de plusieurs manières.
</para>
<orderedlist>
<listitem>
<para>
La compression MPEG est aussi dépendante du domaine de transformation des
fréquences, en particulier du "Discrete Cosine Transform (DCT)" (similaire à une
transformée de Fourier). Ce type d'encodage est efficace pour les
formes et les transitions douces, mais fonctionne moins bien avec les contours
acérés. Afin d'encoder correctement, il demandera plus de bits, sinon des
artefacts de compression apparaîtront, aussi connus sous le nom de "ringing".
</para>
<para>
La transformation en fréquence (DCT) prend place séparément dans chaque
macrobloc (en fait, dans chaque bloc), donc le problème n'apparaîtra
que si un bord franc se situe dans ce bloc. Si vos bordures noires commencent
exactement sur un multiple de 16, ce ne sera pas un problème. En pratique,
les bordures ne sont jamais bien alignées, et il sera certainement
nécessaire de les couper pour éviter ces défauts.
</para>
</listitem>
</orderedlist>
<para>
En plus des transformations au niveau des fréquences, la compression MPEG
utilise des vecteurs de mouvements représentant les changements d'une image
à la suivante. Ces vecteurs de mouvements voient leur utilité grandement
réduite quand la prochaine image à un contenu totalement différent. Quand
il y a un mouvement qui sort de la région encodée, cela ne pose pas de problème
aux vecteurs. En revanche, cela peut poser des problèmes avec les bandes noires:
</para>
<orderedlist continuation="continues">
<listitem>
<para>
Pour chaque macrobloc, la compression MPEG stocke un vecteur identifiant
quelle partie de l'image précédente devrait être copiée dans les macroblocs
de l'image suivante. Seules les différences devront alors être encodées.
Si le macrobloc s'étend et prend en compte une des bordures noire de l'image,
alors le vecteur de mouvement écrasera la bordure noire. Cela veut dire que de
nombreux bits sont gaspillés pour re-noircir la bande noire ou alors (plus probable) que le vecteur
de mouvement ne sera pas du tout utilisé et que tout le macrobloc
devra alors être ré-encodé. Dans tous les cas, l'efficacité de l'encodage en est
grandement améliorée.
</para>
<para>
Une fois encore, ce problème n'existe que si les lignes des bordures noires
ne sont pas un multiple de 16.
</para>
</listitem>
<listitem>
<para>
Enfin, supposons que l'on ait un macrobloc à l'intérieur d'une image et qu'un
objet se déplace dans ce bloc proche d'un bord de l'image. Malheureusement, le
MPEG ne sait pas faire "copier juste la partie qui dans l'image et laisser tomber
la partie noire". Donc la partie noire sera alors aussi copiée, ce qui fait encore gaspiller
beaucoup de bits pour compresser un morceau d'image qui n'est pas sensé être là.
</para>
<para>
Si l'objet en mouvement parcourt depuis le bord noir jusque dans la zone encodée,
le MPEG dispose d'optimisation spéciales pour copier en répétition des pixels
depuis le bord de l'image lorsque celui vient de l'extérieur de la partie encodée.
Ces optimisations deviennent inutiles quand le film à des bandes noires. Contrairement
aux problèmes 1 et 2, même les bordures noires multiples de 16 n'aident pas dans ce cas.
</para>
</listitem>
<listitem>
<para>
Malgré le fait que les bordures soient entièrement noires et quelles ne changent jamais,
elles impliquent un léger surplus dû au plus grand nombre macroblocs à coder.
</para>
</listitem>
</orderedlist>
<para>
Pour toutes ces raisons, il est préférable de couper entièrement ces bandes
noires. Dans la même optique, s'il y a une partie contenant du bruit ou de la
distorsion d'image près d'une bordure, la coupure l'enlèvera et permettra d'avoir
une amélioration significative de la qualité de l'encodage. Les puristes parmi les vidéophiles
souhaiteront préserver l'encodage le plus proche possible de
l'original, à moins qu'ils n'encodent avec un quantificateur constant, la qualité
gagnée après la suppression des bandes noires améliorera grandement la qualité
finale de l'encodage au regard des quelques informations perdues.
</para>
</sect2>
<sect2 id="menc-feat-dvd-mpeg4-crop">
<title>Découpage et Redimensionnement</title>
<para>
Vous vous souvenez de la section précédente que les dimensions (à la fois largeur et hauteur)
de l'image finale doivent être des
multiples de 16. Cela peut être réalisé par recadrage (découpe),
redimensionnement ou une combinaison des deux.
</para>
<para>
Lors du recadrage, il y a quelques règles qui doivent être respectées pour éviter
d'endommager votre film.
Le format YUV normal, 4:2:0, stocke la chrominance (la couleur) de manière
sous-échantillonnée, c'est à dire que la chrominance est échantillonée moitié moins
souvent que la luminance (intensité). Sur le schéma suivant, L indique l'échantillonage en luminance et C en chrominance.
</para>
<informaltable>
<?dbhtml table-width="40%" ?>
<?dbfo table-width="40%" ?>
<tgroup cols="8" align="center">
<colspec colnum="1" colname="col1"/>
<colspec colnum="2" colname="col2"/>
<colspec colnum="3" colname="col3"/>
<colspec colnum="4" colname="col4"/>
<colspec colnum="5" colname="col5"/>
<colspec colnum="6" colname="col6"/>
<colspec colnum="7" colname="col7"/>
<colspec colnum="8" colname="col8"/>
<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
<tbody>
<row>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
</row>
<row>
<entry spanname="spa1-2">C</entry>
<entry spanname="spa3-4">C</entry>
<entry spanname="spa5-6">C</entry>
<entry spanname="spa7-8">C</entry>
</row>
<row>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
</row>
<row>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
</row>
<row>
<entry spanname="spa1-2">C</entry>
<entry spanname="spa3-4">C</entry>
<entry spanname="spa5-6">C</entry>
<entry spanname="spa7-8">C</entry>
</row>
<row>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
Comme vous pouvez le voir, les lignes et colonnes de l'image viennent naturellement par deux.
Ainsi, les dimensions de votre recadrage ainsi que ses distances au bords d'origine
<emphasis>doivent</emphasis> être paires. Si elles ne
l'étaient pas, les chrominances et luminances ne seraient plus alignées.
En théorie, il est possible d'avoir des dimensions impaires, mais cela
requière un nouvel échantillonage de la chrominance, ce qui
engendre potentiellement des pertes d'information et n'est pas supporté par
le filtre de recadrage.
</para>
<para>
Ensuite, la vidéo entrelacée est échantillonée de la façon suivante:
</para>
<informaltable>
<?dbhtml table-width="80%" ?>
<?dbfo table-width="80%" ?>
<tgroup cols="16" align="center">
<colspec colnum="1" colname="col1"/>
<colspec colnum="2" colname="col2"/>
<colspec colnum="3" colname="col3"/>
<colspec colnum="4" colname="col4"/>
<colspec colnum="5" colname="col5"/>
<colspec colnum="6" colname="col6"/>
<colspec colnum="7" colname="col7"/>
<colspec colnum="8" colname="col8"/>
<colspec colnum="9" colname="col9"/>
<colspec colnum="10" colname="col10"/>
<colspec colnum="11" colname="col11"/>
<colspec colnum="12" colname="col12"/>
<colspec colnum="13" colname="col13"/>
<colspec colnum="14" colname="col14"/>
<colspec colnum="15" colname="col15"/>
<colspec colnum="16" colname="col16"/>
<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
<spanspec spanname="spa9-10" namest="col9" nameend="col10"/>
<spanspec spanname="spa11-12" namest="col11" nameend="col12"/>
<spanspec spanname="spa13-14" namest="col13" nameend="col14"/>
<spanspec spanname="spa15-16" namest="col15" nameend="col16"/>
<tbody>
<row>
<entry namest="col1" nameend="col8">Top field</entry>
<entry namest="col9" nameend="col16">Bottom field</entry>
</row>
<row>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry spanname="spa1-2">C</entry>
<entry spanname="spa3-4">C</entry>
<entry spanname="spa5-6">C</entry>
<entry spanname="spa7-8">C</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
</row>
<row>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry spanname="spa9-10">C</entry>
<entry spanname="spa11-12">C</entry>
<entry spanname="spa13-14">C</entry>
<entry spanname="spa15-16">C</entry>
</row>
<row>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
</row>
<row>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry spanname="spa1-2">C</entry>
<entry spanname="spa3-4">C</entry>
<entry spanname="spa5-6">C</entry>
<entry spanname="spa7-8">C</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
</row>
<row>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry spanname="spa9-10">C</entry>
<entry spanname="spa11-12">C</entry>
<entry spanname="spa13-14">C</entry>
<entry spanname="spa15-16">C</entry>
</row>
<row>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
<entry>L</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
Comme vous pouvez le voir, le plus petit motif à se répéter est sur 4 lignes.
Donc, pour la vidéo entrelacée, la hauteur de votre recadrage et sa distance
verticale aux bords doivent être des multiples de 4.
</para>
<para>
La résolution native pour un DVD NTSC est 720x480 et 720x576 pour un
PAL, mais il y a un indicateur d'aspect qui spécifie que le mode est
plein-écran (full-screen 4:3) ou bien écran large (wide-screen 16:9).
Un grand nombre de DVDs (pas tous) en wide-screen ne respecte pas
strictement le format 16:9, mais est plutôt en 1,85:1 ou 2,35:1 (cinémascope).
Ceci signifie qu'il y aura des bandes noires à enlever sur la vidéo.
</para>
<para>
<application>MPlayer</application> fournit un filtre de détection
qui détermine le rectangle de recadrage (<option>-vf cropdetect</option>).
Lancer l'application <application>MPlayer</application> avec l'option
<option>-vf cropdetect</option> et il affichera les options de recadrage pour enlever les bandes.
Vous devez laisser tourner le film suffisamment longtemps pour que toute la zone de l'image soit vue
de façon à obtenir des valeurs précises.
</para>
<para>
Ensuite, testez les valeurs obtenues avec <application>MPlayer</application> en utilisant
la ligne de commande fournie par <option>cropdetect</option>,
et éventuellement ajustez le rectangle de recadrage.
Ce filtre <option>rectangle</option> offre la possibilité de le positionner
de façon interactive pendant le film. N'oubliez pas de suivre les
recommandations précédentes sur la divisibilité des dimensions de l'image afin de ne pas
désaligner les plans de chrominance.
</para>
<para>
Dans certain cas, le redimensionnement n'est pas souhaitable. Il est délicat
dans le sens vertical avec des vidéos entrelacées, si vous désirez
conserver l'entrelacement, vous devrez vous abstenir de redimensionner.
Sans redimensionner, pour utiliser des dimensions multiples de 16,
il vous faudra recadrer plus petit que l'image. Ne pas recadrer plus grand que l'image
parce que les bandes noires sont nuisibles à la compression.
</para>
<para>
Le MPEG-4 utilisant des macroblocs de 16x16, assurez-vous que les dimensions
de la vidéo que vous encodez sont des multiples de 16, sinon vous dégraderez la
qualité, surtout à de faibles débits. Pour ce faire, vous pouvez
arrondir les dimensions du rectangle de recadrage au multiple de 16 inférieur.
Comme expliqué plus haut, durant le recadrage, vous devrez augmenter le
décalage en Y de la moitié de la différence entre l'ancienne et la nouvelle
hauteur pour que l'image résultante se situe au milieu de l'ancienne. Et à cause
de la façon dont les vidéos DVD sont échantillonées, assurez-vous que ce décalage en Y
est un nombre pair. (En fait, c'est une règle: n'utilisez jamais une valeur impaire lors d'un recadrage ou
d'un redimensionnement de vidéo). Si vous ne vous faites pas à l'idée de vous débarrasser de quelques
pixels, vous préférerez sans doute redimensionner la vidéo. Nous allons voir cela
dans notre exemple ci-dessous.
En fait, vous pouvez laisser le filtre <option>cropdetect</option> faire
tout cela pour vous: il a un paramètre optionnel d'arrondi <option>round</option> qui vaut
16 par défaut.
</para>
<para>
Faites aussi attention aux pixels à "demi-noir" sur les bords. Assurez-vous qu'ils sont
en dehors de votre recadrage, autrement, vous gâcherez des bits qui seraient mieux utilisés ailleurs.
</para>
<para>
Après tout ceci, vous obtiendrez une vidéo qui n'est pas tout à fait au format
1,85:1 ou 2,35:1, mais quelque chose d'assez proche. Vous pourriez alors
calculer le nouveau format à la main mais <application>MEncoder</application> propose
une option appelée <option>autoaspect</option> pour <systemitem class="library">libavcodec</systemitem>
qui fera cela pour vous. N'agrandissez surtout pas cette vidéo pour
obtenir les dimensions standards à moins que vous n'aimiez gâcher votre espace disque.
Ce changement d'échelle se fait à la lecture, le lecteur utilisera les données
stockées dans le fichier AVI pour effectuer le bon rendu.
Malheureusement, tous les lecteurs vidéos n'appliquent pas ce redimensionnement
automatique, c'est peut-être pour cela que vous voudrez quand même procéder à ce redimensionnement.
</para>
</sect2>
<sect2 id="menc-feat-dvd-mpeg4-resolution-bitrate">
<title>Choix de la résolution et du débit</title>
<para>
Si vous n'encodez pas dans un mode à quantificateur constant, vous
devez sélectionner un débit.
Le concept de débit (bitrate) est assez simple.
C'est un nombre (moyen) de bits par seconde qui sera utilisé pour stocker votre film.
Normalement, le débit est mesuré en kilobits (1000bits) par seconde.
La taille de votre film sur le disque dur correspond au débit multiplié par sa
durée plus une petite quantité pour l'"en-tête" (surcoût, voir par exemple la section sur
<link linkend="menc-feat-dvd-mpeg4-muxing-avi-limitations">les conteneurs AVI</link>).
D'autres paramètres comme le redimensionnement, le recadrage, etc. ne modifieront
<emphasis role="bold">pas</emphasis> la taille du fichier sauf si vous y
changez aussi le débit.
</para>
<para>
Le débit n'est <emphasis role="bold">pas</emphasis> proportionnel
à la résolution. Ce qui veut dire qu'un fichier en 320x240 à 200kbit/sec
n'aura pas la même qualité que le même film en 640x480 à 800kbit/sec ! A cela, deux raisons:
<orderedlist>
<listitem><para>
<emphasis role="bold">Visuelle</emphasis> : Les artefacts de compression MPEG se
remarquent plus facilement à une plus grande échelle. Les artefacts apparaissent
à l'échelle des blocs (8x8). L'oeil humain ne voit pas les erreurs dans 4800 petits
blocs aussi facilement que qu'il les voit dans 1200 grands blocs (en supposant
une visualisation en plein écran dans les deux cas).
</para></listitem>
<listitem><para>
<emphasis role="bold">Théorique</emphasis> : quand vous réduisez la taille d'une image
mais que vous continuez à utiliser les mêmes tailles de bloc (8x8) pour la transformation
dans l'espace des fréquences, vous déplacez plus de données vers les hautes
fréquences. Grossièrement dit: chaque pixel contient plus de détails qu'avant.
Donc, même si votre image de taille réduite ne contient plus qu'un quart de l'information
dans le domaine spatial, elle peut toujours contenir une grande part de l'information dans
l'espace des fréquences (en supposant que les hautes fréquences étaient sous-utilisées dans
votre originale en 640x480).
</para></listitem>
</orderedlist>
</para>
<para>
Les anciens guides recommandaient de choisir un débit et une résolution basés
sur "1 bit par pixel", mais ce n'est que peu justifié avec les raisons évoquées ci-dessus.
Une meilleure estimation reste que le débit augmente proportionnellement à la
racine carrée de la résolution, donc une image 320x240 à 400kbit/sec
sera comparable à une en 640x480 à 800 kbit/sec.
Cela n'a pas été strictement vérifié par la théorie ou une quelconque méthode.
De plus, pour un film donné, le résultat variera en fonction du bruit, des détails,
du degré de mouvement, etc.. Il est futile de donner des recommandations générales
du style: un nombre de bits par longueur de diagonale (similaire au bit par pixel,
en utilisant la racine carrée).
</para>
<para>
Jusqu'à maintenant, nous avons discuté de la difficulté de choisir le débit et la résolution.
</para>
<sect3 id="menc-feat-dvd-mpeg4-resolution-bitrate-compute">
<title>Calcul de la résolution</title>
<para>
Les étapes qui suivent vous guideront dans le calcul de la résolution de votre
encodage sans trop distordre la vidéo, en prenant en compte les différents types
d'information sur la source vidéo.
En premier lieu, il faut calculer le format de l'encodage:
<systemitem>ARc = (Wc x (ARa / PRdvd )) / Hc</systemitem>
<itemizedlist>
<title>Où :</title>
<listitem><para>
Wc et Hc sont la largeur et la hauteur de la vidéo recadrée,
</para></listitem>
<listitem><para>
ARa est le format affiché, généralement 4/3 ou 16/9,
</para></listitem>
<listitem><para>
PRdvd est le ratio des pixels du DVD qui normalement est égal à 1,25 (=720/576)
pour le PAL et 1,5(=720/480) pour le NTSC,
</para></listitem>
</itemizedlist>
</para>
<para>
Ensuite, vous pouvez calculer la résolution X et Y en tenant compte du facteur
de Qualité de Compression (CQ):
<systemitem>ResY = INT(SQRT( 1000*Bitrate/25/ARc/CQ )/16) * 16</systemitem>
et
<systemitem>ResX = INT( ResY * ARc / 16) * 16</systemitem>
</para>
<para>
D'accord, mais c'est quoi ce CQ ?
le CQ représente le nombre de bit par pixel et par image encodée. Grosso modo,
plus le CQ est grand, moins il y aura de chances de voir apparaître des artefacts
de compression. En tout cas, si vous avez une limite de taille pour votre film
(1 ou 2 CDs par exemple), il y a donc une limite au nombre de bits total que vous
pouvez lui allouer et il est donc nécessaire de trouver le bon compromis entre
compressibilité et la qualité.
</para>
<para>
Le CQ dépend du débit, de l'efficacité du codec vidéo et de la résolution
du film.
Une manière d'augmenter le CQ, c'est de réduire la résolution du film puisque le
débit est calculé en fonction de la taille finale désirée et la longueur du film qui sont constant.
Avec les codecs ASP MPEG-4 comme le <systemitem class="library">Xvid</systemitem> ou le
<systemitem class="library">libavcodec</systemitem>, un CQ en dessous de 0,18 donne
généralement une image type mosaïque car il n'y pas assez de bits pour coder
les informations de chaque macrobloc (le MPEG-4, comme les autres codecs, groupe
les pixels compressés par blocs pour compresser l'image, s'il n'y a pas assez
de bits, les bords de ce macrobloc deviennent alors visibles).
Donc il est raisonnable de prendre un CQ entre 0,20 et 0,22 pour une copie tenant
sur 1 CD, et entre 0,26 et 0,28 pour une copie sur 2 CDs avec des options d'encodage
standard.
Des options d'encodage plus avancées telles que celles listées ici pour le
<link linkend="menc-feat-mpeg4-lavc-example-settings"><systemitem class="library">libavcodec</systemitem></link> et le
<link linkend="menc-feat-xvid-example-settings"><systemitem class="library">Xvid</systemitem></link>
devraient permettre d'obtenir la même qualité avec un CQ se situant entre
0,18 et 0,20 pour une copie sur 1 CD et 0,24 à 0,26 pour une copie sur 2 CDs.
Avec les codecs ASP MPEG-4 comme le <systemitem class="library">x264</systemitem>,
vous pouvez utiliser un CQ se situant entre 0,14 et 0,16 avec des options standards
d'encodage, et même descendre entre 0,10 et 0,12 avec des
<link linkend="menc-feat-x264-example-settings">options avancées <systemitem class="library">x264</systemitem></link>.
</para>
<para>
Veuillez noter que le CQ n'est qu'un indicateur, il dépend directement
du contenu encodé, un CQ de 0,18 pourrait sembler parfait pour un film de Bergman, mais
trop petit pour un film comme Matrix contenant beaucoup de scènes d'actions.
A l'opposé, il est inutile d'aller au delà de 0,30 pour le CQ, vous ne feriez que gâcher
de l'espace disque sans gain notable en qualité.
Notez aussi, comme cela a été dit plus haut que les vidéos en
plus petites résolutions auront besoin d'un plus grand CQ (comparé à la résolution
d'un DVD par exemple) pour un rendu correct.
</para>
</sect3>
</sect2>
<sect2 id="menc-feat-dvd-mpeg4-filtering">
<title>Les filtres</title>
<para>
Apprendre à utiliser les filtres vidéos de <application>MEncoder</application>
est essentiel pour créer des fichiers bien encodés.
Toutes les transformations vidéos sont exécutées au travers de filtres, comme le recadrage (découpe),
le redimensionnement, l'ajustement de couleur, la suppression du bruit, l'ajustement
de la netteté, le dés-entrelacement, le téléciné, le téléciné inverse, ou l'effacement
des macroblocs trop visible, pour n'en nommer que quelques un.
Avec le grand nombre de formats d'entrée supporté, la variété des
filtres disponibles dans <application>MEncoder</application> est l'un de ses principaux
avantages sur d'autres programmes similaires.
</para>
<para>
Les filtres sont chargés dans la chaîne grâce à l'option -vf :
<screen>-vf filtre1=options,filtre2=options,...</screen>
La plupart des filtres acceptent plusieurs options numériques séparées par des double-points (:), mais
la syntaxe varie d'un filtre à l'autre, aussi lisez la page manuel pour avoir les détails sur les filtres
que vous souhaitez utiliser.
</para>
<para>
Les filtres agissent sur la vidéo dans l'ordre de leur chargement. Par exemple,
la chaîne suivante :
<screen>-vf crop=688:464:12:4,scale=640:464</screen>
recadrera d'abord une zone de 688x464 depuis le bord haut gauche mais avec un
décalage de (12;4), puis redimensionnera la vidéo pour obtenir du 640x464.
</para>
<para>
Certains filtres ont besoin d'être chargés au début (ou proche du début) de la chaîne pour
profiter d'informations du décodeur vidéo qui seraient perdues ou invalidées par d'autres filtres.
Les principaux exemples sont <option>pp</option> (postprocessing, seulement
dans le cas d'un estompage des macroblocs ou des enlèvements des artefacts de
compression), le <option>spp</option> (un autre post processus pour enlever les
artefacts MPEG), le <option>pullup</option> (téléciné inverse), et <option>
softpulldown</option> (conversion du soft téléciné en hard
telecine).
</para>
<para>
En général, il vaut mieux utiliser le moins de filtres possibles afin de conserver
l'encodage le plus proche possible du DVD source. Le recadrage est souvent
nécessaire (comme expliqué plus haut), mais évitez de redimensionner l'image.
Bien qu'il soit parfois préférable de réduire la taille de l'image plutôt que d'utiliser
un quantificateur plus élevé, nous voulons éviter tout ceci. Souvenez-vous que
nous avons décidé au départ d'échanger des bits pour de la qualité.
</para>
<para>
Aussi, n'ajustez pas le gamma, le contraste, la luminosité, etc. Ces réglages
peuvent être bons chez vous mais pas sur un autre écran. Ils doivent être
appliqués lors de la lecture uniquement.
</para>
<para>
Une chose que vous pouvez vouloir faire est de passer la vidéo à travers un filtre trés léger
antibruit, comme par exemple <option>-vf hqdn3d=2:1:2</option>.
Il s'agit encore une fois d'optimiser l'utilisation de l'espace disque:
pourquoi le gaspiller à encoder du bruit alors qu'il sera là de toutes façons à la lecture?
Augmenter les paramètres de <option>hqdn3d</option> améliorera encore la compressibilité, mais
si vous les augmentez trop, vous risquez de dégrader l'image. Les valeurs suggérées
ci-dessus (<option>2:1:2</option>) sont plutôt conservatrices, n'hésitez pas à
les augmenter et à regarder le résultat par vous-même.
</para>
</sect2>
<sect2 id="menc-feat-dvd-mpeg4-interlacing">
<title>Entrelacement et Téléciné</title>
<para>
Presque tous les films sont tournés en 24 images par seconde. Puisque le NTSC est en 30000/1001 images par seconde,
certains traitements doivent être appliqués pour l'adapter au débit NTSC.
Ce procédé est appelé 3:2 pulldown, plus communément appelé téléciné (car
le pulldown est souvent appliqué durant la phase de conversion en téléciné),
et de façon simpliste, il fonctionne en ralentissant le film à 24000/1001 images par seconde,
et en répétant une image sur 4.
</para>
<para>
Aucun traitement spécifique n'est cependant appliqué à la vidéo des DVDs
PAL, qui fonctionnent à 25 images par seconde (techniquement, PAL peut être téléciné, ce qui est
appelé 2:2 pulldown, mais ceci n'est pas un problème en pratique). Le film
en 24 images par seconde est simplement lu en 25 images par seconde. Le résultat est que la vidéo tourne
légèrement plus vite, mais à moins d'être un extra-terrestre, vous ne verrez probablement pas la
différence. Le son de la plupart des DVDs PAL a été corrigé de façon à sonner correctement
quand il est lu à 25 images par seconde, même si la piste
audio (et donc le film entier) a une durée 4% plus courte que les DVDs NTSC.
</para>
<para>
Puisque la vidéo d'un DVD PAL n'a pas été modifiée, vous n'avez pas à vous soucier
de la cadence de défilement des images. La source est en 25 images par seconde, et votre copie sera en 25 images par seconde. Cependant,
si vous recopier un film d'un DVD NTSC, vous pourrez avoir besoin d'appliquer
du téléciné inverse.
</para>
<para>
Pour les films tournés en 24 images par seconde, la vidéo du DVD NTSC est soit en 30000/1001
téléciné, soit en 24000/1001 progressif et prévu pour être téléciné à la volée
par le lecteur DVD. D'un autre coté, les séries TV sont généralement
seulement entrelacées, pas télécinées. Ce n'est pas une règle absolue: certaines
séries TV sont entrelacées (comme 'Buffy contre les vampires') alors que d'autres
sont un mélange de progressif et d'entrelacé (comme 'Dark Angel', ou '24 heures
chrono').
</para>
<para>
Il est fortement recommandé de lire la section <link linkend="menc-feat-telecine">
Comment gérer le téléciné et le dés-entrelacement avec les DVDs NTSC</link>
pour apprendre à gérer les différentes possibilités.
</para>
<para>
De toutes façons, si vous copiez principalement des films, vous rencontrerez de
la vidéo 24 images par seconde progressive ou télécinée, et dans ce cas vous pouvez
utiliser le filtre <option>pullup</option> <option>-vf pullup,softskip</option>.
</para>
</sect2>
<sect2 id="menc-feat-dvd-mpeg4-encoding-interlaced">
<title>Encodage de vidéos entrelacées</title>
<para>
Si la vidéo que vous désirez encoder est entrelacée (NTSC ou PAL), vous devez décider
si vous voulez la dés-entrelacer ou non.
Si le dés-entrelaçage rend votre film visionable sur des appareils à balayage progressif
tels que les écrans d'ordinateur ou les projecteurs, cela a un coût: le taux de 50 ou
60 000/1001 trames par secondes passera à 25 ou 30 000/1001 et en gros, la moitié de
l'information de votre film sera perdue pendant les scènes avec beaucoup de mouvement.
</para>
<para>
Ainsi, si votre encodage a pour but l'archivage de haute qualité, il est recommandé
de ne pas dés-entrelacer.
Le film pourra toujours être dés-entrelacé lors de sa lecture sur un appareil à
balayage progressif.
La puissance des ordinateurs actuels oblige les lecteurs à utiliser pour ce
faire des filtres de désentrelaçage qui offrent un rendu final imparfait.
Mais les lecteurs du futur seront capables de mimer l'affichage entrelacé des
téléviseurs.
</para>
<para>
Des précautions particulières doivent être prises lors d'un travail sur vidéo entrelacée:
</para>
<orderedlist>
<listitem><para>
La hauteur de recadrage et son décalage vertical doivent être des multiples de 4.
</para></listitem>
<listitem><para>
Tout redimensionnement vertical doit être effectué en mode entrelacé.
</para></listitem>
<listitem><para>
Les filtres de post-traitement et d'antibruit peuvent ne pas marcher comme
souhaité si vous ne prenez pas soin de ne travailler que sur une trame
à la fois et ils peuvent détériorerla video s'ils sont utilisés incorrectement.
</para></listitem>
</orderedlist>
<para>
En tenant compte de ces recommandations, voici notre premier exemple :
</para>
<screen>
mencoder <replaceable>capture.avi</replaceable> -mc 0 -oac lavc -ovc lavc -lavcopts \
vcodec=mpeg2video:vbitrate=6000:ilme:ildct:acodec=mp2:abitrate=224
</screen>
<para>
Notez l'usage des options <option>ilme</option> et <option>ildct</option>.
</para>
</sect2>
<sect2 id="menc-feat-dvd-mpeg4-av-sync">
<title>Remarques sur la synchronisation Audio/Vidéo</title>
<para>
Le système de synchronisation audio/vidéo de <application>MEncoder</application>
a été créé dans le but de pouvoir lire et restaurer même des fichiers dont la synchronisation
est faussée ou été mal faite, ou des fichiers corrompus.
Cependant, dans certains cas, ils peuvent créer des duplications ou des sauts
d'image non désirés et peut-être une légère désynchronisation lorsqu'ils sont utilisés sur
des fichiers sources propres (bien sûr, les questions de synchronisation A/V ne se posent
que si vous encodez ou copiez la bande son en même temps que vous encodez la video, ce qui
est fortement encouragé).
Ainsi, vous devez peut-être passer à la synchronisation A/V basique
grâce à l'option <option>-mc 0</option>.
Vous pouvez la mettre dans votre fichier de configuration
<systemitem>~/.mplayer/mencoder</systemitem> tant que vous ne travaillez
que sur des fichiers sources propres (DVD, capture Télé, encodage MPEG-4
de haute qualité, etc) et des fichiers ASF/RM/MOV non-détériorés.
</para>
<para>
Si vous désirez vous protéger encore plus contre les sauts et les duplications
étranges d'images, vous pouvez utiliser à la fois <option>-mc 0</option> et
<option>-noskip</option>.
Cela empêche <emphasis>toute</emphasis> synchronisation A/V et copie les
images une à une.
Vous ne pouvez donc pas l'utiliser avec des filtres qui ajoutent ou enlèvent
des image de façon imprévisible ou si votre fichier source a un nombre d'images
par seconde variable!
L'option <option>-noskip</option> n'est donc généralement pas recommandée.
</para>
<para>
Il a été signalé que l'encodage audio nommé "3 passes" que <application>MEncoder</application>
supporte provoquait des désynchronisations A/V.
Cela arrive en tout cas quand il est utilisé en même temps que certains
filtres, donc, il est maintenant recommandé de <emphasis>ne pas</emphasis>
utiliser le mode audio "3 passes".
Cette possibilité n'est conservé que pour des raisons de compatibilité
et pour les utilisateurs experts qui savent quand l'utiliser.
</para>
<para>
Il a été signalé des désynchronisations A/V lors d'encodage à partir de
l'entrée standard
avec <application>MEncoder</application>. Ne faites pas ça ! Utilisez toujours
un fichier ou un CD/DVD/etc comme source.
</para>
</sect2>
<sect2 id="menc-feat-dvd-mpeg4-codec">
<title>Choisir le codec video</title>
<para>
Le choix du meilleur codec video dépend de plusieurs facteurs comme
la taille, la qualité, la lecture en transit (streamability), la
facilité d'utilisation, la popularité qui, pour certains d'entre
eux dépendent de préférences personnelles et de contraintes techniques.
</para>
<itemizedlist>
<listitem><para>
<emphasis role="bold">L'efficacité de la compression</emphasis>:
Il est assez évident que les codec des toutes dernières générations
sont faits pour augmenter la qualité et la compression.
Donc, les auteurs de ce guide et de nombreuses autres personnes
pensent que vous ne pouvez pas vous tromper
<footnote id='fn-menc-feat-dvd-mpeg4-codec-cpu'>
<para>Attention tout de même: décoder une video MPEG-4 AVC de la
resolution d'un DVD nécessite une machine puissante (i.e. un
Pentium 4 à plus de 1.5GHz ou un Pentium M à plus de 1GHz).
</para></footnote>
si vous choisissez un codec MPEG-4 AVC comme le
<systemitem class="library">x264</systemitem> au lieu de codecs MPEG-4 ASP
tels que le <systemitem class="library">libavcodec</systemitem> MPEG-4 ou le
<systemitem class="library">Xvid</systemitem>.
(Les développeurs de codec peuvent être intéressés par la lecture de l'avis
de Michael Niedermayer's sur
"<ulink url="http://guru.multimedia.cx/?p=10">why MPEG4-ASP sucks</ulink>".)
De la même manière, vous devriez obtenir une meilleure qualité en utilisant
un codec MPEG-4 ASP plutôt que MPEG-2.
</para>
<para>
Néanmoins, les nouveaux codecs qui sont en développement peuvent souffrir
de bugs qui n'ont pas encore été repérés et qui peuvent saboter un encodage.
Ceci est malheureusement parfois le prix à payer pour l'utilisation de
technologies de pointe.
</para>
<para>
De plus, commencer à utiliser un nouveau codec impose que vous passiez
du temps pour vous habituer à ses options de façon à ce que vous
sachiez quoi ajuster pour parvenir à la qualité désirée.
</para></listitem>
<listitem><para>
<emphasis role="bold">Compatibilité du matériel</emphasis>:
Cela prend habituellement beaucoup de temps pour que les lecteurs vidéos
de salon se mettent à supporter les derniers codecs vidéos.
Ainsi, la plupart ne supportent que le MPEG-1 (comme les VCD, XVCD et KVCD),
le MPEG-2 (comme les DVD, SVCD and KVCD) et le MPEG-4 ASP (comme les
DivX, LMP4 <systemitem class="library">libavcodec</systemitem> et
<systemitem class="library">Xvid</systemitem>)
(attention: toutes les fonctionnalités MPEG-4 ASP ne sont généralement
pas supportées).
Référez-vous aux spécifications techniques de votre lecteur (si elles
existent), ou surfez sur le net pour plus d'infos.
</para></listitem>
<listitem><para>
<emphasis role="bold">La meilleure qualité par temps d'encodage</emphasis>:
Les codecs qui sont sortis depuis un certain temps (comme l'encodeur MPEG-4
de <systemitem class="library">libavcodec</systemitem> et
<systemitem class="library">Xvid</systemitem>) sont habituellement
largement optimisés avec toutes sortes d'algorithmes astucieux et des
routines optimisées en assembleur SIMD.
C'est pourquoi ils tendent à fournir la meilleure qualité par temps
d'encodage.
Par contre, ils peuvent avoir des options très avancées qui, si elles
sont enclenchées, rendent l'encodage très lent pour des gains limités.
</para>
<para>
Si vous recherchez la vitesse, vous devriez conserver à peu près les
réglages par défaut du codec vidéo (bien que vous deviez quand même essayer
les autres options qui sont mentionnées dans d'autres sections de ce guide).
</para>
<para>
Vous pouvez aussi vouloir choisir un codec multi-threadé, bien que ce
ne soit utile que pour les utilisateurs de machines avec plusieurs
processeurs.
Le codec MPEG-4 de <systemitem class="library">libavcodec</systemitem>
le permet mais les gains en temps sont limités et cela procure une
légère baisse de qualité d'image.
L'encodage multi-threadé du codec
<systemitem class="library">Xvid</systemitem>, activé par l'option
<option>threads</option>, peut être utilisé pour améliorer la vitesse
d'encodage &mdash; de typiquement 40-60% &mdash; avec très peu voire aucune
détérioration de l'image.
Le codec <systemitem class="library">x264</systemitem> permet aussi
l'encodage multi-threadé ce qui l'accélère pour le moment de 94% par CPU
avec une baisse de PSNR comprise entre 0.005dB et 0.01dB avec un réglage classique.
</para></listitem>
<listitem><para>
<emphasis role="bold">Les préférences personnelles</emphasis>:
Là les choses deviennent presque irrationnelles: pour la même raison pour
laquelle certains s'accrochaient encore à DivX&nbsp;3 alors que d'autres
codecs plus modernes faisaient des merveilles depuis des années,
certaines personnes préfèrent <systemitem class="library">Xvid</systemitem>
ou le codec MPEG-4 de <systemitem class="library">libavcodec</systemitem>
par rapport à <systemitem class="library">x264</systemitem>.
</para>
<para>
Vous devriez vous faire votre propre opinion.
Ne croyez pas ceux qui ne jurent que par un seul codec.
Prenez quelques échantillons de sources brutes et comparez les
différentes options et codecs pour en trouver un qui vous convienne
le mieux.
Le meilleur codec est celui que vous maîtrisez et qui vous semble
le plus joli à vos yeux
<footnote id='fn-menc-feat-dvd-mpeg4-codec-playback'>
<para>Le même encodage peut apparaître différement sur le moniteur de
quelqu'un d'autre ou lorsqu'il est lu par un autre décodeur, donc armez
vos encodages pour le futur en les lisant sur différentes machines.
</para></footnote>!
</para></listitem>
</itemizedlist>
<para>
Référez-vous à la section
<link linkend="menc-feat-selecting-codec">Sélection des codecs et du format du conteneur</link>
pour avoir une liste des codecs supportés.
</para>
</sect2>
<sect2 id="menc-feat-dvd-mpeg4-audio">
<title>Le son</title>
<para>
Le son est un problème bien plus simple à résoudre : si la qualité vous intéresse,
laissez le flux audio tel quel.
Même les flux AC-3 5.1 utilisent au plus 448Kbit/s, et tous ces bits sont utiles.
Vous pourriez être tenté de convertir le son en Ogg Vorbis de haute qualité,
mais le fait que vous n'ayez pas d'entrée AC-3 (dolby digital) sur votre chaîne HIFI
aujourd'hui ne signifie pas que vous n'en n'aurez pas demain.
Pensez au futur en conservant le flux AC-3.
Vous pouvez le garder en le copiant directement dans le flux vidéo
<link linkend="menc-feat-mpeg4">pendant l'encodage</link>. Vous pouvez aussi l'extraire
avec l'intention de l'inclure dans des conteneurs tels que NUT ou Matroska.
<screen>mplayer <replaceable>fichier_source.vob</replaceable> -aid 129 -dumpaudio
-dumpfile <replaceable>son.ac3</replaceable></screen>
mettra dans le fichier <replaceable>son.ac3</replaceable> la piste audio
129 du fichier <replaceable>fichier_source.vob</replaceable> (NB : les fichiers
VOB des DVD utilisent normalement un système de numérotation différent pour les pistes audio,
ainsi la piste numéro 129 est la deuxième piste du fichier).
</para>
<para>
Mais parfois vous n'aurez d'autres choix que de re-compresser le son afin de laisser
plus de place à la vidéo.
La plupart des gens optent alors pour le codec MP3 ou le Vorbis.
Bien que ce dernier soit très efficace, le MP3 est bien mieux accepté par les
lecteurs de salon même si cette tendance évolue.
</para>
<para>
N'utilisez <emphasis>pas</emphasis> l'option <option>-nosound</option>
si vous avez l'intention d'ajouter du son à votre encodage vidéo, même plus tard.
En effet, même s'il est probable que tout fonctionne correctement, l'utilisation de
l'option <option>-nosound</option> peut cacher certains problèmes dans la ligne de
commande de votre encodage. En d'autres mots, avoir une bande son pendant l'encodage
vous certifie que vous pourrez avoir une synchronisation propre (en supposant que
vous ne receviez pas de messages comme <quote>Trop de paquets audio dans la mémoire tampon
</quote>)
</para>
<para>
Vous aurez besoin que <application>MEncoder</application> traite le son.
Vous pouvez par exemple copier la bande son originale pendant l'encodage avec l'option
<option>-oac copy</option> ou la convertir en "léger" 4kHz mono WAV PCM
avec l'option <option>-oac pcm -channels 1 -srate 4000</option>.
Autrement, dans certains cas, cela générera un fichier vidéo qui ne se synchronisera pas avec l'audio.
Cela arrive quand le nombre de trames vidéos dans le fichier source ne correspond
pas exactement à la longueur totale des trames audio ou lorsqu'il y a une
discontinuité ou des frames audio en trop ou manquantes. La bonne
façon de gérer ce type de problèmes est d'insérer un silence ou bien de couper l'audio
à ces emplacements.
Cependant, <application>MPlayer</application> ne sait pas le faire, donc si vous
dé-multiplexez l'AC-3 et l'encodez avec une autre application (ou le sortez en PCM
avec <application>MPlayer</application>), les discontinuités subsistent et la seule
façon de les corriger est de supprimer ou de rajouter des trames.
Tant que <application>MEncoder</application> voit la piste son pendant qu'il
encode la vidéo, il peut faire ces suppressions/rajouts (ce qui fonctionne habituellement
car cela se produit lorsque l'image est totalement noire ou lors de changement de scènes) mais si
<application>MEncoder</application> ne voit pas la piste son, il encodera
toutes les trames telles quelles et elles ne correspondront pas au fichier
audio final, quand, par exemple, vous multiplexerez la piste vidéo et la piste
son dans un fichier Matroska.
</para>
<para>
Dans un premier temps, il faudra convertir le son du DVD en fichier WAV que
le codec audio peut utiliser en entrée.
Par exemple :
<screen>mplayer <replaceable>fichier_source.vob</replaceable> -ao pcm:file=<replaceable>fichier_destination_son.wav</replaceable>
-vc dummy -aid 1 -vo null</screen>
aura pour effet de prendre la seconde piste audio du fichier <replaceable>fichier_source.vob</replaceable>
pour la placer dans le fichier <replaceable>fichier_destination_son.wav</replaceable>.
Vous voudrez ensuite peut-être normaliser le son avant l'encodage, car les pistes
audio des DVDs sont généralement enregistrées à un faible volume.
Vous pouvez par exemple utiliser l'outil <application>normalize</application> qui est
normalement disponible sur la plupart des distributions.
Si vous utilisez Windows, un outil comme <application>BeSweet</application>
fera le même travail.
Vous le compresserez ensuite en Vorbis ou MP3.
Par exemple :
<screen>oggenc -q1 <replaceable>fichier_destination_son.wav</replaceable></screen>
encodera <replaceable>fichier_destination_son.wav</replaceable> avec une qualité de 1,
ce qui est équivaut à environ 80Kb/s, soit le minimum si vous voulez de la qualité.
Notez que <application>MEncoder</application> ne sait actuellement pas
multiplexer les pistes audio Vorbis dans le fichier final car il ne supporte que les conteneurs
AVI ou MPEG en sortie, chacun pouvant mener à des problèmes de synchronisation A/V avec certains lecteurs
quand le fichier AVI contient des flux audio VBR comme Vorbis. Ne vous inquiétez pas, ce
document vous montrera comment y arriver avec un programme tiers.
</para>
</sect2>
<sect2 id="menc-feat-dvd-mpeg4-muxing">
<title>Le multiplexage</title>
<para>
Maintenant que vous avez encodé votre vidéo, vous désirez très certainement
la multiplexer avec une ou plusieurs pistes audio vers un conteneur comme l'AVI,
le MPEG, le Matroska ou le NUT.
<application>MEncoder</application> ne supporte nativement que des conteneurs
AVI ou MPEG.
Par exemple :
<screen>mencoder -oac copy -ovc copy -o <replaceable>sortie_film.avi</replaceable>
-audiofile <replaceable>entrée_audio.mp2</replaceable> <replaceable>entrée_video.avi</replaceable></screen>
Cela aura pour effet de fusionner le fichier vidéo <replaceable>entrée_video.avi</replaceable>
et le fichier audio <replaceable>entrée_audio.mp2</replaceable> vers un seul fichier AVI
<replaceable>sortie_film.avi</replaceable>.
Cette commande marche avec le MPEG-1 layer I, II, ou III (plus connu sous le nom
de MP3), WAV et aussi quelques autres formats audio.
</para>
<para>
Une des caractéristiques expérimentales de <application>MEncoder</application>
est le support de <systemitem class="library">libavformat</systemitem>,
une bibliothèque issue du projet FFmpeg qui supporte le multiplexage et dé-multiplexage
vers une grande variété de conteneurs.
Par exemple :
<screen>mencoder -oac copy -ovc copy -o <replaceable>sortie_film.asf</replaceable>
-audiofile <replaceable>entrée_audio.mp2</replaceable> <replaceable>entrée_video.avi</replaceable>
-of lavf -lavfopts format=asf</screen>
Cela fera strictement la même chose que pour l'exemple précédent, sauf que le conteneur
de sortie sera l'ASF.
Souvenez-vous que ce support est encore très expérimental (mais il s'améliore de jour en jour),
et ne marchera que si vous compilez <application>MPlayer</application> avec l'option
activée <systemitem class="library">libavformat</systemitem> (ce qui veut dire que
les packets binaires ne marcheront peut-être pas).
</para>
<sect3 id="menc-feat-dvd-mpeg4-muxing-filter-issues">
<title>Améliorer la fiabilité du multiplexage et de la synchronisation Audio/Video</title>
<para>
Vous avez peut-être fait l'expérience de sérieux problèmes de synchronisation A/V
en essayant de multiplexer votre video avec la bande son, où, quelque soit
le décalage audio, vous n'arrivez pas à obtenir une synchronisation correcte.
Ceci peut arriver quand vous utilisez des filtres video qui dupliquent ou enlèvent des images,
comme le filtre téléciné inverse. Il est vivement conseillé d'utiliser le
filtre vidéo <option>harddup</option> à la fin de votre chaîne de filtres pour éviter
ce type de problème.
</para>
<para>
Sans l'option <option>harddup</option>, si <application>MEncoder</application>
veut dupliquer une image, il s'en remet au multiplexeur pour mettre une marque
dans le conteneur de façon à ce que la dernière image soit affichée 2 fois
pour maintenir la synchronisation sans avoir à écrire une nouvelle image.
Avec l'option <option>harddup</option>, <application>MEncoder</application>
va simplement passer une deuxième fois la dernière image dans la chaîne de filtres.
Ce qui veut dire que l'encodeur recevra <emphasis>exactement</emphasis> la même
image 2 fois, puis les compressera. Il en résultera un fichier légèrement plus grand,
mais cela ne posera plus de problèmes quand vous démultiplexerez ou remultiplexerez vers un autre conteneur.
</para>
<para>
Il se peut aussi que vous n'ayiez pas d'autres choix que d'utiliser l'option <option>harddup</option>
avec certains conteneurs peu liés à <application>MEncoder</application> comme ceux
supportés par <systemitem class="library">libavformat</systemitem>, qui peuvent ne pas supporter
la duplication d'image au niveau du conteneur.
</para>
</sect3>
<sect3 id="menc-feat-dvd-mpeg4-muxing-avi-limitations">
<title>Limitations du conteneur AVI</title>
<para>
Bien que ce soit le format de conteneur le plus largement supporté après le MPEG-1, l'AVI a
des inconvénients majeurs. Le plus évident d'entre eux est peut-être l'entête.
Pour chaque morceau (chunk) du fichier AVI, 24 octets sont gâchés en entête et index.
Ce qui se traduit par environ 5Mo par heure, soit entre 1 et 2,5% du volume du fichier pour un film
de 700Mo. Cela peut ne pas sembler important, mais cela peut représenter la différence entre
pouvoir utiliser un débit de 700 kbits/sec au lieu de 714 kbits/sec pour une même video.
Et pour la qualité, chaque bit compte.
</para>
<para>
En plus de cette grosse inefficacité, l'AVI a aussi d'autres limitations majeures:
</para>
<orderedlist>
<listitem>
<para>
Seuls les contenus à nombre d'images par seconde constant peuvent être stockés. Ceci est particulièrement
limitant si vous voulez stocker des fichiers aux contenus hétérogènes (par
exemple un mélange de vidéo NTSC et de films sur pellicule).
En fait, il existe des astuces qui permettent de stocker des contenus à nombre d'images par seconde variable
dans un AVI, mais cela multiplie par au moins 5 la taille (déjà énorme) des entêtes et ce n'est donc
pas réellement applicable.
</para>
</listitem>
<listitem>
<para>
L'audio dans un fichier AVI doit soit avoir un débit constant (CBR), soit une
taille de trame constante (i.e. toutes les trames décodent le même
nombre d'échantillons).
Malheureusement, le codec le plus efficace, Vorbis, ne satisfait aucun de ces critères.
Donc, si vous envisagez de stocker un fichier en AVI, vous devrez utiliser un
codec moins performant comme le MP3 ou l'AC-3.
</para>
</listitem>
</orderedlist>
<para>
Ceci dit, <application>MEncoder</application> ne supporte actuellement pas
l'encodage à images par seconde variable ou le Vorbis;
Donc vous n'allez peut-être pas considérer les 2 points précédents commes des limitations
si vous n'utilisez que <application>MEncoder</application> pour encoder.
Pourtant, il est possible d'utiliser <application>MEncoder</application> uniquement pour
l'encodage vidéo, puis d'utiliser des outils externes pour l'encodage de l'audio et
multiplexer le tout vers un conteneur différent.
</para>
</sect3>
<sect3 id="menc-feat-dvd-mpeg4-muxing-matroska">
<title>Le multiplexage dans le conteneur Matroska</title>
<para>
Matroska est un conteneur libre, ouvert, qui vise à offrir de nombreuses fonctionnalités avancées
que des conteneurs plus anciens comme l'AVI ne peut gérer.
Par exemple, le Matroska supporte le débit vidéo variable (VBR), un framerate
variable (VFR), chapitres, attachement de fichiers, code de détection d'erreur
(EDC) et des codecs A/V modernes comme le "Advanced Audio Coding" (AAC), le
"Vorbis" ou le "MPEG-4 AVC" (H.264), presque tous n'étant pas supportés par l'AVI.
</para>
<para>
Les outils nécessaires à la création de fichier Matroska sont appelés collectivement <application>mkvtoolnix</application>,
et sont disponibles pour la plupart des systèmes Unix mais aussi pour <application>Windows</application>.
Puisque Matroska est un standard ouvert, vous trouverez peut-être d'autres outils
qui vous conviendront mieux, mais comme mkvtoolnix est le plus connu, et
qu'il est supporté par Matroska lui même, nous allons parler de son utilisation.
</para>
<para>
La façon la plus simple de démarrer avec Matroska, c'est probablement d'utiliser
<application>MMG</application>, l'interface graphique livrée avec <application>mkvtoolnix</application>,
et de suivre le <ulink url="http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html"> guide de l'interface graphique de mkvmerge (mmg)</ulink>.
</para>
<para>
Vous pouvez aussi multiplexer des fichiers vidéo et audio en utilisant la ligne de commande :
<screen>mkvmerge -o <replaceable>sortie.mkv</replaceable> <replaceable>entree_video.avi</replaceable>
<replaceable>entree_audio1.mp3</replaceable> <replaceable>entree_audio2.ac3</replaceable></screen>
Ceci aura pour effet de multiplexer le fichier vidéo <replaceable>entree_video.avi</replaceable>
avec les deux fichiers audio <replaceable>entre_audio1.mp3</replaceable> et <replaceable>entree_audio2.ac3</replaceable>
dans un fichier Matroska <replaceable>sortie.mkv</replaceable>.
Matroska, comme mentionné ci-dessus, est capable de faire bien plus que ça, comme plusieurs
pistes audio (avec un réglage précis de la synchronisation audio/video), chapitres,
sous titres, coupures, etc... Merci de bien vouloir vous reporter à la documentation
de cette application pour plus d'informations.
</para>
</sect3>
</sect2>
</sect1>
<sect1 id="menc-feat-telecine">
<title>Comment gérer le téléciné et l'entrelacement des DVDs NTSC</title>
<sect2 id="menc-feat-telecine-intro">
<title>Introduction</title>
<formalpara>
<title>Qu'est ce que le téléciné ?</title>
<para>
Si vous ne comprenez pas grand-chose à ce qui est écrit dans le document présent,
je vous suggère de visiter cette page (en anglais):
<ulink url="http://en.wikipedia.org/wiki/Telecine">http://en.wikipedia.org/wiki/Telecine</ulink>
Ce lien pointe vers une documentation relativement claire et compréhensible sur ce qu'est le téléciné.
</para></formalpara>
<formalpara>
<title>Une note à propos des nombres</title>
<para>
Beaucoup de documents, incluant l'article pointé par le lien précédent, renvoient à un
nombre de trames par secondes pour la vidéo NTSC de 59.94 ce qui correspond à
29.97 images complètes par secondes (pour le télécine et l'entrelacé) et à 23.976 (pour
le progressif). Pour simplifier, certains documents arrondissent même à 60, 30 et 24.
</para></formalpara>
<para>
En toute rigueur, tous ces nombres sont des approximations. Les vidéos NTSC en noir et blanc
avaient exactement 60 trames par secondes, mais 60000/1001 a été choisi par la suite
pour s'accomoder de la couleur en conservant la compatibilité avec les téléviseurs noir et blanc de l'époque.
La vidéo numérique NTSC (par exemple sur un DVD) est aussi en 60000/1001 trames
par seconde. A partir de là, la vidéo entrelacée et télécinée est faite pour être
en 30000/1001 images par seconde; les vidéos progressives en 24000/1001 images par secondes.
</para>
<para>
De plus anciennes versions de la documentation <application>MEncoder</application>
et plusieurs e-mails archivés de liste de diffusion font référence à
59.94, 29.97, et 23.976.
Toute la documentation de <application>MEncoder</application> a été mise à jour
pour utiliser les valeurs fractionnaires, et vous devriez aussi les utiliser.
</para>
<para>
<option>-ofps 23.976</option> est incorrect.
<option>-ofps 24000/1001</option> doit être utilisé à la place.
</para>
<formalpara>
<title>Comment le téléciné est-il utilisé?</title>
<para>
Toutes les vidéos qui sont censées être affichées sur des téléviseurs NTSC
doivent être en 60000/1001 trames par secondes. Les téléfilms sont souvent
filmés directement en 60000/1001 trames par secondes, alors que la majorité des
films pour le cinéma est en 24000/1001 images par seconde. Quand les DVD
contenant des films faits pour le cinéma sont masterisés, la vidéo est alors convertie pour la
télévision par un processus appelé le téléciné.
</para></formalpara>
<para>
Sur un DVD, la vidéo n'est jamais vraiment stockée à 60000/1001 trames par seconde.
Si la vidéo est d'origine en 60000/1001, chaque paire de trames est alors combinée
pour former une image, ce qui donne 30000/1001 images par seconde. Les lecteurs de
DVD de salon lisent alors les drapeaux incorporés au flux vidéo pour déterminer
si la première ligne à afficher doit être paire ou impaire.
</para>
<para>
Normalement, les contenus à 24000/1001 images par seconde restent comme cela
lorsqu'ils sont encodés pour un DVD, et le lecteur DVD doit alors faire
la conversion du téléciné à la volée. Parfois, la vidéo est télécinée <emphasis>avant</emphasis>
d'être stockée sur le DVD, même si c'était originalement du 24000/1001 images
par seconde, cela devient du 60000/1001 trames par seconde. Quand elles sont stockées
sur le DVD, les trames sont combinées par paires pour former 30000/1001 images
par seconde.
</para>
<para>
Quand on regarde les images formées individuellement à partir de la vidéo en
60000/1001 trames par seconde, téléciné ou autre, l'entrelacement est
clairement visible et ce, qu'il y ait un mouvement ou non car l'une des trames (disons
les lignes impaires) représente un moment dans le temps 1/(60000/1001) seconde
plus tard que les autres. Regarder une vidéo entrelacée sur un ordinateur semble
laid parce que l'écran a une résolution plus élevée et
parce que la vidéo est affichée image après image au lieu de trame après trame.
</para>
<itemizedlist>
<title>Notes :</title>
<listitem><para>
Cette section ne s'appliquent qu'aux DVDs NTSC, pas au PAL.
</para></listitem>
<listitem><para>
Les lignes de commande <application>MEncoder</application> données en exemple au long de ce
document ne sont <emphasis role="bold">pas</emphasis> à utiliser tel quels.
Elles représentent juste le minimum requis pour encoder la vidéo qui s'y rapportent.
La meilleure méthode pour faire un bon encodage de DVD ou procéder à des réglages avancés de
<systemitem class="library">libavcodec</systemitem> pour atteindre une qualité optimum sont des
questions en dehors des propos de cette section.
Référez-vous aux autres sections contenues dans
<link linkend="encoding-guide">L'encodage avec <application>MPlayer</application></link>.
</para></listitem>
<listitem><para>
Il y a quelques notes en bas de page spécifiques à ce guide, elles sont liées comme ceci :
<link linkend="menc-feat-telecine-footnotes">[1]</link>
</para></listitem>
</itemizedlist>
</sect2>
<sect2 id="menc-feat-telecine-ident">
<title>Comment savoir quel type de vidéo vous avez ?</title>
<sect3 id="menc-feat-telecine-ident-progressive">
<title>Progressive</title>
<para>
Les vidéos progressives ont été filmées initialement à 24000/1001 images par seconde et stockées
sur le DVD sans altération.
</para>
<para>
Quand vous lisez un DVD en progressif dans <application>MPlayer</application>,
la ligne suivante sera affichée dès le début de la lecture :
<screen> demux_mpg: 24000/1001 images par seconde progressive NTSC content detected, switching framerate.</screen>
Dorénavent, demux_mpg ne devrait jamais dire qu'il trouve
&quot;une vidéo NTSC à 30000/1001 images par secondes.&quot;
</para>
<para>
Quand vous regardez une vidéo progressive, vous ne devriez jamais voir d'entrelacement.
Mais soyez attentif, il arrive parfois qu'un peu de téléciné se glisse sans prévenir.
Il m'est arrivé de tomber sur des émissions de télévisions en DVD avec une
seconde de téléciné à chaque changement de scène ou à d'autres emplacements au hasard.
Une autre fois, la première moitié du DVD était en progressif
et la seconde en téléciné. Si vous voulez en être <emphasis>vraiment</emphasis> sûr,
vous pouvez scanner le film entier :
<screen>mplayer dvd://1 -nosound -vo null -benchmark</screen>
L'utilisation de l'option <option>-benchmark</option> fait lire <application>MPlayer</application>
aussi vite qu'il le peut - en fonction du matériel, cela peut prendre un certain
temps. Chaque fois que demux_mpg signale un changement, la ligne immédiatement au dessus
vous donnera le temps auquel ce changement est arrivé.
</para>
<para>
Parfois, la vidéo progressive sur les DVDs est signalée en tant que &quot;soft-telecine&quot;
parce qu'elle est censée être télécinée par le lecteur DVD.
</para>
</sect3>
<sect3 id="menc-feat-telecine-ident-telecined">
<title>Téléciné</title>
<para>
Les vidéos télécinées ont été filmées en 24000/1001 et sont télécinées
<emphasis>avant</emphasis> d'être gravées sur DVD.
</para>
<para>
<application>MPlayer</application> ne signale jamais une variation d'images par secondes
quand il lit une vidéo télécinée.
</para>
<para>
Au visionnage d'une vidéo télécinée, vous verrez des artefacts d'entrelacement
qui semblent &quot;clignoter&quot;: ils apparaissent et disparaissent répététivement.
Vous pouvez le voir plus précisément en suivant les indications ci-dessous:
<orderedlist>
<listitem>
<screen>mplayer dvd://1</screen>
</listitem>
<listitem><para>
Chercher une scène avec beaucoup de mouvements.
</para></listitem>
<listitem><para>
Utiliser la touche <keycap>.</keycap> pour avancer image par image.
</para></listitem>
<listitem><para>
Observer le schéma de répétition des images entrelacées et progressives. Si vous obtenez
PPPII, PPPII, PPPII,... alors la vidéo est
télécinée. Si vous observez d'autres schémas de répétition, alors la vidéo a peut-être été
télécinée avec une méthode non-standard; <application>MEncoder</application> ne sait pas convertir un téléciné
non-standard en progressif sans dégradation. Si aucun schéma n'est visible, c'est
alors sûrement une vidéo entrelacée.
</para></listitem>
</orderedlist>
</para>
<para>
Parfois, la vidéo progressive sur les DVDs est signalée en tant que &quot;soft-telecine&quot;
parce qu'elle est censée être télécinée par le lecteur DVD.
Parfois, la vidéo télécinée sur les DVDs est signalée &quot;hard-telecine&quot;. Le hard-teleciné
étant à 60000/1001 images par seconde, le lecteur DVD lit la vidéo sans manipulation.
</para>
<para>
Une autre façon de savoir si la source est télécinée ou non, est de la lire avec
l'option <option>-vf pullup</option> et <option>-v</option> depuis une ligne de commande
et de voir comment l'option <option>pullup</option> combine les trames.
Si la source est télécinée, vous devriez voir sur la console un schéma de répétition 3:2 avec des
alternances de <systemitem>0+.1.+2</systemitem> et <systemitem>0++1</systemitem>.
L'avantage de cette technique est que vous n'avez pas besoin de visionner la
source pour l'identifier, ce qui peut être utile pour automatiser la procédure d'encodage, ou
pour effectuer cette procédure à distance à travers une connexion lente.
</para>
</sect3>
<sect3 id="menc-feat-telecine-ident-interlaced">
<title>Entrelacée</title>
<para>
Les vidéos entrelacées ont été filmées en 60000/1001 trames par seconde,
puis stockées sur le DVD en tant que 30000/1001 images par seconde. L'effet
est le résultat de la combinaison de paires
de trames dans une image. Chaque trame est censée être décalée de 1/(60000/1001)
de seconde les unes des autres. Quand elles sont affichées simultanément, la différence devient
visible.
</para>
<para>
Comme pour la vidéo télécinée, <application>MPlayer</application> ne signale
jamais une variation d'images par secondes quand il lit une vidéo entrelacée.
</para>
<para>
Si vous regardez attentivement une vidéo entrelacée image par image avec la
touche <keycap>.</keycap>, vous verrez l'entrelacement de chaque trame.
</para>
</sect3>
<sect3 id="menc-feat-telecine-ident-mixedpt">
<title>Mélange de progressive et télécinée</title>
<para>
Toutes les vidéos qui mélangent progressif et téléciné ont été filmées en 24000/1001
images par seconde, puis certaines parties ont été converties en téléciné.
</para>
<para>
Quand <application>MPlayer</application> lit ce type de fichier, il doit jongler
(souvent répététivement) entre &quot;le 30000/1001 images par seconde NTSC&quot; et
&quot;le 24000/1001 images par secondes NTSC progressif&quot;.
Regardez les messages de <application>MPlayer</application> pour voir ces messages.
</para>
<para>
Vous devriez aller voir la section &quot;30000/1001 images par seconde NTSC&quot; afin d'être
sûr que c'est vraiment du téléciné, et pas seulement de l'entrelacé.
</para>
</sect3>
<sect3 id="menc-feat-telecine-ident-mixedpi">
<title>Mélange de vidéo progressive et entrelacée</title>
<para>
Dans les vidéos qui mélangent le progressif et le téléciné, les flux vidéos
progressifs et entrelacés sont combinés l'un à l'autre.
</para>
<para>
Cette catégorie ressemble au &quot;mélange de progressive et télécinée&quot; jusqu'à
ce que vous examiniez la partie en 30000/1001 images par seconde et que vous vous aperceviez
qu'il n'y a pas de trace de téléciné.
</para>
</sect3>
</sect2>
<sect2 id="menc-feat-telecine-encode">
<title>Comment encoder chaque catégorie ?</title>
<para>
Comme évoqué au départ, les exemples de lignes de commande
<application>MEncoder</application> ne doivent <emphasis role="bold">pas</emphasis> être utilisés tels quels;
ils fournissent uniquement les paramètres minimum pour encoder chaque catégorie.
</para>
<sect3 id="menc-feat-telecine-encode-progressive">
<title>Progressive</title>
<para>
La vidéo progressive ne nécessite pas de filtrage particulier pour l'encodage.
Le seul paramètre qui ne doit pas être omis est: <option>-ofps 24000/1001</option>. Sinon,
<application>MEncoder</application> essayera d'encoder en 30000/1001 images par seconde
et dupliquera certaines images.
</para>
<para>
<screen>mencoder dvd://1 -oac copy -ovc lavc -ofps 24000/1001</screen>
</para>
<para>
Il n'est pas rare de se trouver avec une vidéo qui semble progressive mais qui
contient en fait quelques courts passages en téléciné. A moins d'être vraiment
sûr l'état de la vidéo, il est préférable de traiter la vidéo comme un
<link linkend="menc-feat-telecine-encode-mixedpt">mélange de progressive et télécinée</link>.
La perte en performance est faible <link linkend="menc-feat-telecine-footnotes">[3]</link>.
</para>
</sect3>
<sect3 id="menc-feat-telecine-encode-telecined">
<title>Téléciné</title>
<para>
A partir d'une video télécinée, il est possible de retrouver le format original en 24000/1001 avec
un processus appelé téléciné-inverse. Plusieurs filtres de
<application>MPlayer</application> permettent ce processus;
le meilleur d'entre eux, <option>pullup</option>, est décrit à la section
<link linkend="menc-feat-telecine-encode-mixedpt">Mélange de progressif et téléciné</link>.
</para>
</sect3>
<sect3 id="menc-feat-telecine-encode-interlaced">
<title>Entrelacée</title>
<para>
Dans la plupart des cas pratiques, il n'est pas possible de récupérer complètement une
vidéo progressive depuis une entrelacée. Pour ce faire, la seule manière sans
perdre la moitié de la résolution verticale est de doubler le nombre d'images par seconde et
d'essayer de &quot;deviner&quot; ce que devraient être les lignes manquantes pour chacune des trames
(ce qui a des inconvénients, voir méthode 3).
</para>
<orderedlist>
<listitem><para>
Encodez la vidéo sous forme entrelacée. Normalement, l'entrelacement
ruine la capacité de compression de l'encodeur, mais <systemitem class="library">libavcodec</systemitem>
possède deux paramètres spécialement définis pour gérer le stockage de la vidéo entrelacée de manière
plus satisfaisante: <option>ildct</option> et <option>ilme</option>. Aussi,
l'utilisation de <option>mbd=2</option> est-elle fortement recommandée <link linkend="menc-feat-telecine-footnotes">[2] </link>
car cela encodera les macroblocs non-entrelacés à des endroits où il n'y
a pas de mouvements. Notez que <option>-ofps</option> n'est <emphasis>pas</emphasis> nécessaire ici.
<screen>mencoder dvd://1 -oac copy -ovc lavc -lavcopts ildct:ilme:mbd=2</screen>
</para></listitem>
<listitem><para>
Utilisez un filtre de désentrelacement avant l'encodage. Plusieurs de
ces filtres sont disponibles, chacun avec ses avantages et inconvénients.
Consultez <option>mplayer -pphelp</option> pour voir lesquels sont
disponibles (selectionnez les lignes contenant &quot;deint&quot; avec grep),
lisez <ulink url="http://guru.multimedia.cx/deinterlacing-filters/">comparaison des filtres de désentrelacement</ulink>
de Michael Niedermayer,
et fouillez dans les
<ulink url="http://www.mplayerhq.hu/design7/info.html#mailing_lists">
listes de diffusion MPlayer</ulink>, vous trouverez nombres de discussions sur les
différents filtres.
Encore une fois, le nombre d'images par seconde ne change pas, donc l'option
<option>-ofps</option> n'est pas nécessaire. Une dernière chose: le désentrelacement
doit être fait après recadrage <link linkend="menc-feat-telecine-footnotes">[1]</link>
et avant redimensionnement.
<screen>mencoder dvd://1 -oac copy -vf pp=lb -ovc lavc</screen>
</para></listitem>
<listitem><para>
Malheureusement, cette option est boguée dans
<application>MEncoder</application> ; cela devrait bien marcher avec
<application>MEncoder G2</application>, mais on n'en est pas encore là. Vous
risquez de subir des plantages. Peu importe, l'option <option>-vf tfields</option>
est de créer une image complète à partir de chaque trame, ce qui
donne le débit de 60000/1001 images par seconde. L'avantage de cette approche est qu'aucune
donnée n'est jamais perdue. Cependant, vu que chaque image vient avec seulement
une trame, les lignes manquantes doivent être interpolées d'une façon ou d'une autre.
Il n'y a pas de très bonne méthode générant les données manquantes, et donc le
résultat sera un peu similaire à celui obtenu en utilisant des filtres de désentrelacement.
Générer les lignes manquantes crée aussi d'autres problèmes,
simplement parce que la quantité de données double. Ainsi, de plus haut débit (en kbit/s)
d'encodage sont nécessaires pour conserver la qualité, et plus de puissance CPU est
utilisée pour l'encodage et le décodage. <option>tfields</option> a plusieurs
options pour gérer la création des lignes manquantes de chaque image. Si vous
utilisez cette méthode, alors regardez le manuel, et prenez
l'option qui semble la meilleure pour votre matériel. Notez que lors de l'utilisation de
<option>tfields</option> vous
<emphasis role="bold">devez</emphasis> définir les deux options <option>-fps</option>
et <option>-ofps</option> à deux fois le nombre d'image par seconde de votre source originale.
<screen>mencoder dvd://1 -oac copy -vf tfields=2 -ovc lavc \
-fps 60000/1001 -ofps 60000/1001</screen>
</para></listitem>
<listitem><para>
Si vous avez prévu de beaucoup réduire la taille, vous pouvez
n'extraire et n'encoder qu'une des deux trames. Bien sûr, vous perdrez la
moitié de la résolution verticale, mais si vous avez prévu la réduire au moins de
moitié par rapport à l'original, cette perte n'aura que peu d'importance. Le résultat
sera un fichier progressif à 30000/1001 images par seconde. La procédure est
d'utiliser l'option <option>-vf field</option>, puis de recadrer
<link linkend="menc-feat-telecine-footnotes">[1]</link> et de redimensionner
de manière appropriée. Souvenez-vous que vous devrez ajuster la dimension pour
compenser la réduction de moitié de la résolution verticale.
<screen>mencoder dvd://1 -oac copy -vf field=0 -ovc lavc</screen>
</para></listitem>
</orderedlist>
</sect3>
<sect3 id="menc-feat-telecine-encode-mixedpt">
<title>Mélange de progressive et télécinée</title>
<para>
Afin de convertir une vidéo composée de passages progressifs et de télécinés en vidéo entièrement
progressive, les parties en téléciné doivent être télécinées-inverse. Il y a trois
moyens d'accomplir cela, comme décrit ci-dessous. Notez que vous devez
<emphasis role="bold">toujours</emphasis> téléciner-inverse avant tout
redimensionnement et aussi (sauf si vous savez vraiment ce que vous faites)
avant tout découpage <link linkend="menc-feat-telecine-footnotes">[1]</link>.
L'option <option>-ofps 24000/1001</option> est nécessaire ici parce que la sortie vidéo
sera en 24000/1001 images par seconde.
</para>
<itemizedlist>
<listitem><para>
L'option <option>-vf pullup</option> est faite pour téléciner-inverse la source vidéo
télécinée tandis que les données progressives sont laissées intactes. Afin
de fonctionner correctement, <option>pullup</option> <emphasis role="bold">doit</emphasis>
être suivi par le filtre <option>softskip</option> ou <application>MEncoder</application> plantera.
<option>pullup</option> est, cependant, la méthode la plus propre et la plus précise
disponible pour encoder le téléciné et le &quot;Mélange de progressive et télécinée&quot;.
<screen>mencoder dvd://1 -oac copy -vf pullup,softskip -ovc lavc -ofps 24000/1001</screen>
</para></listitem>
<listitem><para>
<option>-vf filmdint</option> est similaire à
<option>-vf pullup</option> : les deux filtres tentent d'appairer deux
demi-trames pour construire une trame complète.
Néanmoins, <option>filmdint</option> desentrelacera les demi-trames
orphelines tandis que <option>pullup</option> les éliminera.
De plus, les deux filtres ont des codes de détection différents et
<option>filmdint</option> peut avoir tendence à faire correspondre les
demi-trames un peu moins souvent.
Le contenu video à traiter et votre sensibilité personnelle fera qu'un
filtre fonctionnera mieux qu'un autre.
Sentez-vous libre d'ajuster les options des filtres si vous rencontrez
des problèmes avec l'un d'eux (consultez le manuel pour plus de
détails).
Pour la plupart des supports vidéo de qualité, les deux filtres
fonctionnent plutôt bien : débuter avec l'un ou l'autre ne fera pas
grande différence.
<screen>
mencoder dvd://1 -oac copy -vf filmdint -ovc lavc -ofps 24000/1001<!--
--></screen>
</para></listitem>
<listitem><para>
Une méthode plus ancienne consiste à, au lieu de téléciner-inverse les passages télécinés,
téléciner les parties non-télécinées
et ensuite téléciner-inverse la vidéo entière.
Cela semble confus? softpulldown est un filtre qui parcours une vidéo
et rend téléciné le fichier entier. Si nous faisons suivre softpulldown par
soit <option>detc</option> ou soit <option>ivtc</option>, le résultat final
sera entièrement progressif. L'option <option>-ofps 24000/1001</option> est nécessaire.
<screen>mencoder dvd://1 -oac copy -vf softpulldown,ivtc=1 -ovc lavc -ofps 24000/1001</screen>
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3 id="menc-feat-telecine-encode-mixedpi">
<title>Mélange de progressive et d'entrelacée</title>
<para>
Il y a deux façons de gérer cette catégorie, chacune étant un
compromis. Vous devez faire votre choix en vous basant sur la durée/localisation
de chaque type.
</para>
<itemizedlist>
<listitem><para>
Traitez-le comme une vidéo progressive. Les parties entrelacées sembleront entrelacées,
et certaines des trames entrelacées devront être jetées, ayant pour résultat un
peu de sautillement irrégulier. Vous pouvez utiliser un filtre de post-traitement si
vous le voulez, mais cela peut sensiblement dégrader les parties progressives.
</para>
<para>
Cette option ne devrait surtout pas être utilisée si vous prévoyez
afficher la vidéo finale sur un appareil entrelacé (avec une carte TV,
par exemple). Si vous avez des images entrelacées dans une vidéo en 24000/1001
images par seconde, elles seront télécinées en même temps que les images progressives.
La moitié des "images" entrelacées sera affichée pour une durée de trois trames
(3/(60000/1001) secondes), ce qui a pour résultat un effet pichenette de
&quot;retour en arrière&quot; ce qui est du plus mauvais effet. Si vous tentez
quand même ceci, vous <emphasis role="bold">devez</emphasis> utiliser un filtre
désentrelaçant comme <option>lb</option> ou <option>l5</option>.
</para>
<para>
Cela peut aussi être une mauvaise idée pour l'affichage progressif.
Cela laissera tomber des paires de trames entrelacées consécutives,
résultant en une discontinuité qui peut être plus visible qu'avec la seconde méthode,
ce qui affichera certaines images progressives en double. Une vidéo entrelacée à
30000/1001 images par seconde est déjà un peu hachée parce qu'elle devrait en
réalité être projetée à 60000/1001 trames par seconde, pour que les images dupliquées
ne se voient pas trop.
</para>
<para>
De toutes façons, il vaut mieux analyser votre contenu et voir comment
vous voulez l'afficher. Si votre vidéo est à 90% progressive et que vous ne
pensez pas la regarder sur une TV, vous devriez favoriser une approche progressive.
Si elle est seulement à moitié progressive, vous voudrez probablement l'encoder
comme si elle était entièrement entrelacée.
</para>
</listitem>
<listitem><para>
Traitez-le comme entrelacée. Certaines images des parties progressives auront
besoin d'être dupliquées, ce qui entraînera un sautillement irrégulier. Encore une
fois, les filtres désentrelaçant peuvent légèrement dégrader les parties
progressives.
</para></listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="menc-feat-telecine-footnotes">
<title>Notes de bas de pages</title>
<orderedlist>
<listitem><formalpara>
<title>A propos de recadrage:</title>
<para>
Les données vidéo d'un DVD sont stockées dans un format appelé YUV 4:2:0. Dans
la vidéo YUV, la luminance (&quot;luminosité&quot;) et la chrominance (&quot;couleur&quot;)
sont stockés séparément. Parce que l'oeil humain est d'une certaine façon moins sensible
à la couleur qu'à la luminosité, dans une image YUV 4:2:0 il n'y a
qu'un pixel de chrominance pour 4 pixels de luminance. Dans une image progressive,
chaque carré de quatre pixels de luminance (deux de chaque coté) a un pixel de
chrominance commun. Vous devez recadrer le YUV 4:2:0 progressif à des résolutions paires,
et utiliser un décalage pair. Par exemple,
<option>crop=716:380:2:26</option> est correct mais
<option>crop=716:380:3:26 </option> ne l'est pas.
</para>
</formalpara>
<para>
Quand vous avez à faire à un YUV 4:2:0 entrelacé, la situation devient un peu plus
compliquée. Au lieu d'avoir chaque série de quatre pixels de luminance se partager un pixel
de chrominance dans une <emphasis>image</emphasis>, chaque série de quatre pixels de luminance
dans chaque <emphasis>champs</emphasis> se partage un pixel de chrominance. Quand les
trames sont entrelacées pour former une image, chaque ligne de scan fait un
pixel de haut. Maintenant, au lieu d'avoir la série de quatre pixels de luminance
dans un carré, il y a deux pixels côte à côte sur une ligne et les deux autres pixels
de la série sont côte à côte deux lignes de scan plus bas. Les deux pixels de luminance dans la
ligne de scan intermédiaire appartiennent à une autre trame, et donc partage un
pixel de chrominance différent avec deux pixels de luminance deux lignes de scan plus loin.
Toute cette confusion rend nécessaire d'avoir des dimensions de recadrage
et de décalage verticales multiples de quatre. Dans le sens horizontal, il suffit que les
dimensions restent paires.
</para>
<para>
Pour la vidéo télécinée, il est recommandé que le recadrage se fasse après le
téléciné-inverse. Une fois que la vidéo est progressive, il vous suffit de recadrer par
nombres pairs. Si vous voulez accélérer légèrement la vitesse d'encodage, en jouant sur les
dimensions de recadrage, vous devez recadrer verticalement par multiples de quatre
ou bien le filtre de téléciné-inverse n'aura pas les données adéquates.
</para>
<para>
Pour la vidéo entrelacée (pas télécinée), vous devez toujours recadrer verticalement
par multiples de quatre à moins que vous n'utilisiez l'option <option>-vf field</option> avant.
</para>
</listitem>
<listitem><formalpara>
<title>A propos des paramètres d'encodage et de la qualité:</title>
<para>
Le fait que l'option <option>mbd=2</option> soit recommandée ici ne veut pas dire
qu'elle ne devrait pas être utilisée autre part. Avec <option>trell</option>,
<option>mbd=2</option> est l'une des deux options de <systemitem class="library">libavcodec</systemitem>
qui augmente le plus la qualité, et vous devriez toujours les utiliser
à moins que la baisse de vitesse d'encodage ne soit prohibitive
(ex: encodage en temps réel). Il y a bien d'autres options de
<systemitem class="library">libavcodec</systemitem> qui augmentent la qualité d'encodage
(et réduisent sa rapidité) mais ceci est au delà du propos de ce document.
</para>
</formalpara>
</listitem>
<listitem><formalpara>
<title>A propos de la performance de pullup:</title>
<para>
Utiliser l'option <option>pullup</option> (avec <option>softskip</option>)
sur une vidéo progressive est sans danger, et c'est généralement une bonne idée à moins qu'il
soit certain que la source est entièrement progressive.
La perte de performance est faible dans la plupart des cas. Sur un encodage minimal,
<option>pullup</option> ralentit <application>MEncoder</application> de 50%.
L'ajout du traitement du son et d'options avancées de <option>lavcopts</option> masquent cette
différence, en limitant la perte de performance due à l'utilisation de <option>pullup</option> à 2%.
</para>
</formalpara>
</listitem>
</orderedlist>
</sect2>
</sect1>
<sect1 id="menc-feat-enc-libavcodec">
<title>Encodage avec la famille de codec <systemitem class="library">libavcodec</systemitem></title>
<para>
<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>
fournit un encodage simple pour plusieurs formats vidéos et audio intéressants.
Vous pouvez encoder vers les codecs suivant (la liste suivante est plus ou moins à jour):
</para>
<sect2 id="menc-feat-enc-libavcodec-video-codecs">
<title>Codecs vidéo de <systemitem class="library">libavcodec</systemitem></title>
<para>
<informaltable frame="all">
<tgroup cols="2">
<thead>
<row><entry>Nom du codec vidéo</entry><entry>Description</entry></row>
</thead>
<tbody>
<row><entry>mjpeg</entry><entry>
Motion JPEG
</entry></row>
<row><entry>ljpeg</entry><entry>
JPEG sans perte
</entry></row>
<row>
<entry>jpegls</entry>
<entry>JPEG LS</entry>
</row>
<row>
<entry>targa</entry>
<entry>image Targa</entry>
</row>
<row>
<entry>gif</entry>
<entry>image GIF</entry>
</row>
<row>
<entry>bmp</entry>
<entry>image BMP</entry>
</row>
<row>
<entry>png</entry>
<entry>image PNG</entry>
</row>
<row><entry>h261</entry><entry>
H.261
</entry></row>
<row><entry>h263</entry><entry>
H.263
</entry></row>
<row><entry>h263p</entry><entry>
H.263+
</entry></row>
<row><entry>mpeg4</entry><entry>
ISO standard MPEG-4 (DivX, compatible Xvid)
</entry></row>
<row><entry>msmpeg4</entry><entry>
pre-standard MPEG-4 variant par MS, v3 (AKA DivX3)
</entry></row>
<row><entry>msmpeg4v2</entry><entry>
pre-standard MPEG-4 by MS, v2 (utilisé dans les vieux fichiers ASF)
</entry></row>
<row><entry>wmv1</entry><entry>
Windows Media Vidéo, version 1 (AKA WMV7)
</entry></row>
<row><entry>wmv2</entry><entry>
Windows Media Vidéo, version 2 (AKA WMV8)
</entry></row>
<row><entry>rv10</entry><entry>
RealVidéo 1.0
</entry></row>
<row><entry>rv20</entry><entry>
RealVidéo 2.0
</entry></row>
<row><entry>mpeg1vidéo</entry><entry>
MPEG-1 vidéo
</entry></row>
<row><entry>mpeg2vidéo</entry><entry>
MPEG-2 vidéo
</entry></row>
<row><entry>huffyuv</entry><entry>
compression sans perte
</entry></row>
<row>
<entry>ffvhuff</entry>
<entry>FFmpeg huffyuv sans perte modifié</entry>
</row>
<row><entry>asv1</entry><entry>
ASUS Vidéo v1
</entry></row>
<row><entry>asv2</entry><entry>
ASUS Vidéo v2
</entry></row>
<row><entry>ffv1</entry><entry>
codec vidéo sans perte de FFmpeg
</entry></row>
<row><entry>svq1</entry><entry>
Sorenson vidéo 1
</entry></row>
<row><entry>flv</entry><entry>
Sorenson H.263 utilisé dans Vidéo Flash
</entry></row>
<row>
<entry>flashsv</entry>
<entry>Flash Screen Video</entry>
</row>
<row><entry>dvvideo</entry><entry>
Vidéo Numérique Sony
</entry></row>
<row><entry>snow</entry><entry>
codec basé sur l'ondelette expérimentale de FFmpeg
</entry></row>
<row>
<entry>zmbv</entry>
<entry>Zip Motion Blocks Video</entry>
</row>
<row>
<entry>dnxhd</entry>
<entry>AVID DNxHD</entry>
</row>
</tbody>
</tgroup>
</informaltable>
La première colonne contient les noms de codec qui doivent être donnés après la
configuration de <literal>vcodec</literal>, par exemple comme ceci: <option>-lavcopts vcodec=msmpeg4</option>
</para>
<informalexample>
<para>
Un exemple avec la compression MJPEG:
<screen>mencoder dvd://2 -o <replaceable>title2.avi</replaceable> -ovc lavc -lavcopts vcodec=mjpeg -oac copy</screen>
</para>
</informalexample>
</sect2>
<sect2 id="menc-feat-enc-libavcodec-audio-codecs">
<title>Codecs audio de <systemitem class="library">libavcodec</systemitem>=</title>
<para>
<informaltable frame="all">
<tgroup cols="2">
<thead>
<row><entry>Nom de codec audio</entry><entry>Description</entry></row>
</thead>
<tbody>
<row>
<entry>ac3</entry>
<entry>AC-3, AKA Dolby Digital</entry>
</row>
<row>
<entry>adpcm_*</entry>
<entry>formats PCM adaptatif - se reporter au tableau complémentaire</entry>
</row>
<row>
<entry>flac</entry>
<entry>Free Lossless Audio Codec (FLAC)</entry>
</row>
<row>
<entry>g726</entry>
<entry>G.726 ADPCM</entry>
</row>
<row>
<entry>libamr_nb</entry>
<entry>3GPP Adaptive Multi-Rate (AMR) narrow-band</entry>
</row>
<row>
<entry>libamr_wb</entry>
<entry>3GPP Adaptive Multi-Rate (AMR) wide-band</entry>
</row>
<row>
<entry>libfaac</entry>
<entry>Advanced Audio Coding (AAC) - utilisant FAAC</entry>
</row>
<row>
<entry>libgsm</entry>
<entry>ETSI GSM 06.10 full rate</entry>
</row>
<row>
<entry>libgsm_ms</entry>
<entry>Microsoft GSM</entry>
</row>
<row>
<entry>libmp3lame</entry>
<entry>MPEG-1 audio layer 3 (MP3) - utilisant LAME</entry>
</row>
<row>
<entry>mp2</entry>
<entry>MPEG-1 audio Layer 2(MP2)</entry>
</row>
<row>
<entry>pcm_*</entry>
<entry>formats PCM - se reporter au tableau complémentaire</entry>
</row>
<row>
<entry>roq_dpcm</entry>
<entry>Id Software RoQ DPCM</entry>
</row>
<row>
<entry>sonic</entry>
<entry>codec avec perte expérimental FFmpeg</entry>
</row>
<row>
<entry>sonicls</entry>
<entry>codec sans perte expérimental FFmpeg</entry>
</row>
<row>
<entry>vorbis</entry>
<entry>Vorbis</entry>
</row>
<row>
<entry>wmav1</entry>
<entry>Windows Media Audio v1</entry>
</row>
<row>
<entry>wmav2</entry>
<entry>Windows Media Audio v2</entry>
</row>
</tbody>
</tgroup>
</informaltable>
La première colonne contient les noms de codec qui doivent être donnés après l'option
<literal>acodec</literal>, par exemple comme ceci: <option>-lavcopts acodec=ac3</option>
</para>
<informalexample>
<para>
Un exemple avec compression AC-3:
<screen>mencoder dvd://2 -o <replaceable>title2.avi</replaceable> -oac lavc -lavcopts acodec=ac3 -ovc copy</screen>
</para>
</informalexample>
<para>
Contrairement aux codecs vidéo de <systemitem class="library">libavcodec</systemitem>,
ses codecs audio ne font pas un usage avisé des bits qu'ils consomment
car ils leur manquent certains modèles psycho-acoustiques minimaux (quand ils en ont)
ce que la plupart des autres implémentations de codecs possèdent.
Cependant, notez que tous ces codecs audio sont très rapides et sont disponibles
à partir du moment où <application>MEncoder</application> a été
compilé avec <systemitem class="library">libavcodec</systemitem> (ce qui est le
cas la plupart du temps), et ne dépend pas de bibliothèques externes.
</para>
<sect3 id="menc-feat-enc-libavcodec-audio-codecs-pcmadpcm">
<title>tableau complémentaire des formats PCM/ADPCM</title>
<para>
<informaltable frame="all">
<tgroup cols="2">
<thead>
<row><entry>nom du codec PCM/ADPCM</entry><entry>Description</entry></row>
</thead>
<tbody>
<row>
<entry>pcm_s32le</entry>
<entry>signed 32-bit little-endian</entry>
</row>
<row>
<entry>pcm_s32be</entry>
<entry>signed 32-bit big-endian</entry>
</row>
<row>
<entry>pcm_u32le</entry>
<entry>unsigned 32-bit little-endian</entry>
</row>
<row>
<entry>pcm_u32be</entry>
<entry>unsigned 32-bit big-endian</entry>
</row>
<row>
<entry>pcm_s24le</entry>
<entry>signed 24-bit little-endian</entry>
</row>
<row>
<entry>pcm_s24be</entry>
<entry>signed 24-bit big-endian</entry>
</row>
<row>
<entry>pcm_u24le</entry>
<entry>unsigned 24-bit little-endian</entry>
</row>
<row>
<entry>pcm_u24be</entry>
<entry>unsigned 24-bit big-endian</entry>
</row>
<row>
<entry>pcm_s16le</entry>
<entry>signed 16-bit little-endian</entry>
</row>
<row>
<entry>pcm_s16be</entry>
<entry>signed 16-bit big-endian</entry>
</row>
<row>
<entry>pcm_u16le</entry>
<entry>unsigned 16-bit little-endian</entry>
</row>
<row>
<entry>pcm_u16be</entry>
<entry>unsigned 16-bit big-endian</entry>
</row>
<row>
<entry>pcm_s8</entry>
<entry>signed 8-bit</entry>
</row>
<row>
<entry>pcm_u8</entry>
<entry>unsigned 8-bit</entry>
</row>
<row>
<entry>pcm_alaw</entry>
<entry>G.711 A-LAW </entry>
</row>
<row>
<entry>pcm_mulaw</entry>
<entry>G.711 &mu;-LAW</entry>
</row>
<row>
<entry>pcm_s24daud</entry>
<entry>signed 24-bit D-Cinema Audio format</entry>
</row>
<row>
<entry>pcm_zork</entry>
<entry>Activision Zork Nemesis</entry>
</row>
<row>
<entry>adpcm_ima_qt</entry>
<entry>Apple QuickTime</entry>
</row>
<row>
<entry>adpcm_ima_wav</entry>
<entry>Microsoft/IBM WAVE</entry>
</row>
<row>
<entry>adpcm_ima_dk3</entry>
<entry>Duck DK3</entry>
</row>
<row>
<entry>adpcm_ima_dk4</entry>
<entry>Duck DK4</entry>
</row>
<row>
<entry>adpcm_ima_ws</entry>
<entry>Westwood Studios</entry>
</row>
<row>
<entry>adpcm_ima_smjpeg</entry>
<entry>SDL Motion JPEG</entry>
</row>
<row>
<entry>adpcm_ms</entry>
<entry>Microsoft</entry>
</row>
<row>
<entry>adpcm_4xm</entry>
<entry>4X Technologies</entry>
</row>
<row>
<entry>adpcm_xa</entry>
<entry>Phillips Yellow Book CD-ROM eXtended Architecture</entry>
</row>
<row>
<entry>adpcm_ea</entry>
<entry>Electronic Arts</entry>
</row>
<row>
<entry>adpcm_ct</entry>
<entry>Creative 16->4-bit</entry>
</row>
<row>
<entry>adpcm_swf</entry>
<entry>Adobe Shockwave Flash</entry>
</row>
<row>
<entry>adpcm_yamaha</entry>
<entry>Yamaha</entry>
</row>
<row>
<entry>adpcm_sbpro_4</entry>
<entry>Creative VOC SoundBlaster Pro 8->4-bit</entry>
</row>
<row>
<entry>adpcm_sbpro_3</entry>
<entry>Creative VOC SoundBlaster Pro 8->2.6-bit</entry>
</row>
<row>
<entry>adpcm_sbpro_2</entry>
<entry>Creative VOC SoundBlaster Pro 8->2-bit</entry>
</row>
<row>
<entry>adpcm_thp</entry>
<entry>Nintendo GameCube FMV THP</entry>
</row>
<row>
<entry>adpcm_adx</entry>
<entry>Sega/CRI ADX</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</sect3>
</sect2>
<sect2 id="menc-feat-dvd-mpeg4-lavc-encoding-options">
<title>Options d'encodage de libavcodec</title>
<para>
Idéalement, vous voudriez probablement juste dire à mencoder de passer en
mode "haute qualité" et passer à autre chose.
Ce serait sûrement sympa, mais c'est malheureusement difficile à implémenter car les
différentes options d'encodage donnent des résultats de qualité différents
en fonction du matériel source.
Ceci vient du fait que la compression dépend des propriétés visuelles
de la vidéo en question.
Par exemple, un film d'animation et un film d'action ont des propriétés très
différentes et nécessitent des options différentes pour obtenir un encodage
optimal.
La bonne nouvelle, c'est que certaines options ne devraient jamais être omises,
comme <option>mbd=2</option>, <option>trell</option>, et <option>v4mv</option>.
Voir ci-dessous pour une description détaillée des options d'encodage les plus communes.
</para>
<itemizedlist>
<title>Options à régler:</title>
<listitem><para>
<emphasis role="bold">vmax_b_frames</emphasis>: 1 ou 2 est bon selon
le film.
Notez que si vous avez besoin d'avoir votre encodage décodable par DivX5, vous
aurez besoin d'activer le support "closed GOP", en utilisant l'option <option>cgop</option> de
<systemitem class="library">libavcodec</systemitem>, mais vous aurez besoin de désactiver
la détection de scène, ce qui n'est pas une bonne idée étant donné que cela
affectera un peu l'efficacité d'encodage.
</para></listitem>
<listitem><para>
<emphasis role="bold">vb_strategy=1</emphasis>: aide pour les scènes avec beaucoup de
mouvement. Sur certaines vidéos, l'option vmax_b_frames peut affecter la qualité, mais
utiliser vmax_b_frames=2 avec vb_strategy=1 aide.
</para></listitem>
<listitem><para>
<emphasis role="bold">dia</emphasis>: portée de la passe de recherche de mouvement.
Plus la valeur de cette option est élevée, meilleure sera la qualité et plus l'encodage sera lent.
Les valeurs négatives représentent une échelle complètement différente.
De bonnes valeurs sont -1 pour un encodage rapide, ou 2-4 pour un plus lent.
</para></listitem>
<listitem><para>
<emphasis role="bold">predia</emphasis>: portée de recherche de mouvement en pré-passe.
Pas aussi important que dia. De bonnes valeurs vont de 1 (par défaut) à 4. Cela
requière preme=2 pour être réellement utile.
</para></listitem>
<listitem><para>
<emphasis role="bold">cmp, subcmp, precmp</emphasis>: Fonction de comparaison
pour l'estimation de mouvement.
Testez avec les valeurs 0 (défaut), 2 (hadamard), 3 (dct), et 6 (taux de
distorsion).
0 est le plus rapide, et suffisant pour precmp.
Pour cmp et subcmp, 2 est bon pour les animations, et 3 est bon pour les
films d'action.
6 peut être (ou non) un peu meilleur, mais est lent.
</para></listitem>
<listitem><para>
<emphasis role="bold">last_pred</emphasis>: Nombre de prédicteurs de mouvement
à prendre depuis l'image précédente.
1-3 (ou dans ces eaux) améliore la qualité pratiquement sans perte en vitesse.
De plus hautes valeurs ralentiront l'encodage sans réel gain.
</para></listitem>
<listitem><para>
<emphasis role="bold">cbp, mv0</emphasis>: Contrôle la sélection de macroblocs.
Un petit coût en vitesse pour un petit gain en qualité.
</para></listitem>
<listitem><para>
<emphasis role="bold">qprd</emphasis>: quantification adaptative basée sur la
complexité des macroblocs.
Peut aider ou gêner selon la vidéo et les autres options.
Cela peut causer des artefacts à moins que vous ne paramétriez vqmax à des
valeurs raisonnablement petites (6 c'est bien, voire peut-être 4);
vqmin=1 devrait aussi aider.
</para></listitem>
<listitem><para>
<emphasis role="bold">qns</emphasis>: très lente, spécialement quand combinée
avec qprd. Avec cette option, l'encodeur minimise le bruit dû aux artefacts de compression
au lieu de faire correspondre strictement la vidéo encodée à la source.
Ne l'utilisez pas à moins d'avoir déjà peaufiné tout le reste et que les
résultats ne soient pas encore assez bons.
</para></listitem>
<listitem><para>
<emphasis role="bold">vqcomp</emphasis>: mise au point du contrôle de débit.
La nature du film définiera quelles sont les bonnes valeurs à appliquer
Vous pouvez sans problème laisser cette option de côté si vous voulez.
Réduire vqcomp met plus de bits sur les scènes de basse complexité, l'augmenter
les met sur les scènes de haute complexité (défaut: 0.5, portée: 0-1. recommandé: 0.5-0.7).
</para></listitem>
<listitem><para>
<emphasis role="bold">vlelim, vcelim</emphasis>: Définit le coefficient du seuil d'élimination pour
la luminance et les plans de chrominance.
Ils sont encodés séparément dans tous les algorithmes de style MPEG.
L'idée derrière tout ceci est d'utiliser de bonnes heuristiques
pour déterminer quand le changement dans un bloc est inférieur au seuil que
vous avez spécifié, et dans ce cas, de simplement encoder le bloc comme étant
"sans changement".
Cela économise des bits et accélére peut-être l'encodage. vlelim=-4 et
vcelim=9 semblent être de bonnes valeurs pour les films de "scènes réelles", mais
semblent ne pas aider avec les films d'animation; quand vous voudrez encoder une animation,
vous devriez probablement les laisser tel quel.
</para></listitem>
<listitem><para>
<emphasis role="bold">qpel</emphasis>: Estimation de mouvement de quart de pixel.
MPEG-4 utilise une précision d'un demi pixel pour sa recherche de mouvement
par défaut, donc cette option augmente la quantité d'information qui est
stockée dans le fichier encodé. Le gain ou la perte en terme de compression
dépend du film, mais ce n'est habituellement pas très efficace pour les animations.
qpel induit toujours un surcoût significatif en temps de décodage (+25% en pratique).
</para></listitem>
<listitem><para>
<emphasis role="bold">psnr</emphasis>: n'affecte pas l'encodage
mais écrit un fichier journal donnant le type/taille/qualité de chaque image, et
imprime un résumé du PSNR (rapport signal sur bruit) à la fin.
</para></listitem>
</itemizedlist>
<itemizedlist>
<title>Options qu'il n'est pas recommandé de changer:</title>
<listitem><para>
<emphasis role="bold">vme</emphasis>: La valeur par défaut est la meilleure.
</para></listitem>
<listitem><para>
<emphasis role="bold">lumi_mask, dark_mask</emphasis>: Quantification adaptative
pyscho-visuelle. Vous ne voulez pas jouer avec ces options si vous tenez à la qualité.
Des valeurs raisonnables peuvent être efficaces dans votre cas, mais soyez prévenu,
ceci reste très subjectif.
</para></listitem>
<listitem><para>
<emphasis role="bold">scplx_mask</emphasis>: Essaie d'empêcher l'apparition d'artefacts
dûs aux blocs, mais le post-traitement est plus efficace.
</para></listitem>
</itemizedlist>
</sect2>
<sect2 id="menc-feat-mpeg4-lavc-example-settings">
<title>Exemples de paramètres d'encodage</title>
<para>
Les paramètrages suivants sont des exemples de différentes combinaisons d'options
d'encodage qui affectent le compromis vitesse / qualité pour un débit donné.
</para>
<para>
Tous les paramètrages d'encodage ont été testés sur un échantillon vidéo de résolution
720x448 à 30000/1001 images par seconde, le débit cible était de 900kbit/s, et la machine était un
AMD-64 3400+ à 2400 MHz en mode 64 bits.
Chaque exemple d'encodage est donné avec la vitesse d'encodage mesurée (en
images par seconde) et la perte en PSNR (en dB) par rapport au réglage de "très
haute qualité". Sachez que selon votre video source, votre machine et les derniers développements,
vous pourrez obtenir des résultats très différents.
</para>
<para>
<informaltable frame="all">
<tgroup cols="4">
<thead>
<row><entry>Description</entry><entry>Options d'encodage</entry><entry>vitesse (en images/s)</entry><entry>perte relative de PSNR (en dB)</entry></row>
</thead>
<tbody>
<row>
<entry>Très haute qualité</entry>
<entry><option>vcodec=mpeg4:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vmax_b_frames=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:qns=2</option></entry>
<entry>6im/s</entry>
<entry>0dB</entry>
</row>
<row>
<entry>Haute qualité</entry>
<entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:last_pred=2:dia=-1:vmax_b_frames=2:vb_strategy=1:cmp=3:subcmp=3:precmp=0:vqcomp=0.6:turbo</option></entry>
<entry>15im/s</entry>
<entry>-0.5dB</entry>
</row>
<row>
<entry>Rapide</entry>
<entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:turbo</option></entry>
<entry>42im/s</entry>
<entry>-0.74dB</entry>
</row>
<row>
<entry>Temps réel</entry>
<entry><option>vcodec=mpeg4:mbd=2:turbo</option></entry>
<entry>54im/s</entry>
<entry>-1.21dB</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</sect2>
<sect2 id="custommatrices"><title>Matrices inter/intra personnalisées</title>
<para>
Grâce à cette fonctionnalité de
<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>
vous pouvez rentrer des matrices personnalisées inter (image I ou images clé) et intra
(image P ou image prédite). De nombreux codecs le supportent - on rapporte que
<systemitem>mpeg1video</systemitem> et <systemitem>mpeg2video</systemitem> fonctionnent avec.
</para>
<para>
Cette fonctionnalité est utilisée habituellement pour régler les matrices utilisées
par les spécifications <ulink url="http://www.kvcd.net/">KVCD</ulink>.
</para>
<para>
La <emphasis role="bold">Matrice de Quantification KVCD &quot;Notch&quot; :</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 <replaceable>entree.avi</replaceable> -o <replaceable>sortie.avi</replaceable> -oac copy -ovc lavc -lavcopts inter_matrix=...:intra_matrix=...
</screen>
</para>
<para>
<screen>
$ mencoder <replaceable>input.avi</replaceable> -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>
</sect2>
<sect2 id="menc-feat-dvd-mpeg4-example">
<title>Exemple</title>
<para>
Voilà, vous venez tout juste d'acheter votre exemplaire de 'Harry Potter et la
Chambre des Secrets' (édition panoramique, bien sûr), et vous voulez copier ce
DVD afin de pouvoir l'ajouter à votre PC Home Cinéma. C'est un DVD de
région 1, donc en NTSC. L'exemple ci-dessous peut quand même être adapté au PAL,
si ce n'est que vous devrez retirer l'option <option>-ofps 24000/1001</option> (parce que le
le nombre d'images par seconde en sortie est le même que celui en entrée), et bien sûr les dimensions
de recadrage seront différentes.
</para>
<para>
Après avoir lancé <option>mplayer dvd://1</option>, nous suivons le processus
détaillé dans la section <link linkend="menc-feat-telecine">Comment gérer le
téléciné et l'entrelacement dans les DVDs NTSC</link> et découvrons que c'est une
vidéo progressive à 24000/1001 images par seconde, ce qui signifie que nous n'avons pas besoin
d'utiliser de filtre téléciné-inverse, comme <option>pullup</option> ou <option>filmdint</option>.
</para>
<para>
Ensuite, nous voulons déterminer le rectangle de recadrage approprié, donc
nous utilisons le filtre <option>cropdetect</option>:
<screen>mplayer dvd://1 -vf cropdetect</screen>
Assurez-vous que vous visualisez une image complètement remplie (comme une scène
lumineuse), et vous verrez dans la console de sortie de <application>MPlayer</application>:
<screen>crop area: X: 0..719 Y: 57..419 (-vf crop=720:362:0:58)</screen>
Revisionnons ensuite le film avec le filtre pour tester le résultat:
<screen>mplayer dvd://1 -vf crop=720:362:0:58</screen>
Et nous nous apercevons que tout a l'air parfait. Ensuite, nous nous assurons que
la hauteur et la largeur sont des multiples de 16. La largeur est bonne,
cependant la hauteur ne l'est pas. Vu que nous avons quelques notions minimales
de maths, nous savons que le plus proche multiple de 16 inférieur à 362
est 352.
</para>
<para>
Nous pourrions juste utiliser <option>crop=720:352:0:58</option>, mais il
serait mieux d'enlever un peu du haut et un peu du bas afin de garder
la partie centrale. Nous avons rétréci la hauteur de 10 pixels, mais nous ne voulons
pas augmenter le décalage de 5 pixels vu que c'est un nombre impair et que
cela affectera défavorablement la qualité. A la place, nous augmentons le
décalage vertical de 4 pixels:
<screen>mplayer dvd://1 -vf crop=720:352:0:62</screen>
Une autre raison pour retirer les pixels du haut et du bas est que nous nous
assurons que nous avons éliminé tous les pixels à moitié noir s'ils
existent. Si votre vidéo est télécinée, assurez-vous que le filtre
<option>pullup</option> (ou n'importe quel autre filtre téléciné-inverse que vous
avez décidé d'utiliser) apparaissent dans la chaîne de filtres avant que vous ne
recadriez. Si il est entrelacé, désentrelacez-le avant le recadrage.
(Si vous choisissez de préserver la vidéo entrelacée, alors assurez-vous que
votre décalage vertical de recadrage est un multiple de 4.)
</para>
<para>
Si la perte de ces 10 pixels vous peine réellement, vous pouvez préférez réduire
les dimensions au plus proche multiple de 16.
La chaîne de filtres ressemblerait à ceci:
<screen>-vf crop=720:362:0:58,scale=720:352</screen>
Réduire la taille de la vidéo comme cela signifie qu'une petite quantité de détails est perdu
bien que cela ne soit probablement pas perceptible. Augmenter la taille
entraînera une qualité inférieure (à moins que vous n'augmentiez le débit).
Le recadrage enlève quand à lui complétement les pixels à l'extérieur du
nouveau cadrage. C'est un compromis dont vous devrez tenir compte
selon les circonstances. Par exemple, si une vidéo DVD a été
faite pour la télévision, vous pourriez vouloir éviter le
redimensionnement vertical, étant donné que l'échantillon de lignes correspond
à la manière avec laquelle le contenu a été enregistré.
</para>
<para>
En inspectant le film, nous voyons qu'il contient une bonne quantité d'action et beaucoup de
détails, donc nous choisissons un débit de 2400Kb/s.
</para>
<para>
Nous sommes maintenant prêts à faire l'encodage deux passes. Première passe:
<screen>mencoder dvd://1 -ofps 24000/1001 -oac copy -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2 -ovc lavc \
-lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=1 \
-o Harry_Potter_2.avi</screen>
La seconde passe est la même, si ce n'est que nous spécifions <option>vpass=2</option>:
<screen>mencoder dvd://1 -ofps 24000/1001 -oac copy -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2 -ovc lavc \
-lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=2 \
-o Harry_Potter_2.avi</screen>
</para>
<para>
Les options <option>v4mv:mbd=2:trell</option> augmenteront considérablement la
qualité au prix d'une plus longue durée d'encodage. Il y a peu de raison de ne pas
utiliser ces options quand le but premier est la qualité. Les options
<option>cmp=3:subcmp=3:mbcmp=3</option> sélectionne une fonction de comparaison
qui donne une meilleure qualité que celle par défaut. Vous pouvez essayer de faire varier
ces paramètres (reportez-vous à la page man pour les valeurs possibles)
étant donné que différentes fonctions peuvent avoir un impact important sur la
qualité selon le matériel source. Par exemple, si vous trouvez que
<systemitem class="library">libavcodec</systemitem> produit trop d'artefacts
de blocs, vous pouvez essayer de choisir la fonction de comparaison expérimentale NSSE
via <option>*cmp=10</option>.
</para>
<para>
Pour ce film, le AVI résultant durera 138 minutes et pèsera à peu près 3GB.
Et puisque vous disiez que la taille du fichier ne comptait pas, cette taille
est parfaitement acceptable. Cependant, si vous l'aviez voulu plus petite,
vous pourriez essayer un débit inférieur. L'augmentation du débit améliore la qualité,
mais de moins en moins, ainsi, tandis que nous pourrions clairement voir une
amélioration de 1800Kb/s à 2000Kb/s, cela peut ne pas être notable
au-dessus de 2000Kb/s. Libre à vous d'expérimenter jusqu'à totale satisfaction.
</para>
<para>
Parce que nous avons passé la source vidéo au travers d'un filtre antibruit,
vous pourriez vouloir en rajouter un peu pendant la lecture. Ceci, avec le filtre de
post-traitement <option>spp</option>, améliore de façon radicale la perception
de qualité et aide à éliminer les artefacts de bloc de la vidéo.
Avec l'option <option>autoq</option> de <application>MPlayer</application>,
vous pouvez faire varier le montant de post-traitement effectué par le filtre spp
en fonction de la disponibilté de votre processeur. Aussi, arrivé à ce point, vous pourriez
vouloir appliquer une correction gamma et/ou couleur pour convenir au mieux à
votre écran.
Par exemple:
<screen>mplayer Harry_Potter_2.avi -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3</screen>
</para>
</sect2>
</sect1>
<sect1 id="menc-feat-xvid">
<title>Encodage avec le codec <systemitem class="library">Xvid</systemitem></title>
<para>
<systemitem class="library">Xvid</systemitem> est une bibliothèque libre pour
encoder les flux vidéo MPEG-4 ASP.
Avant de commencer à encoder, vous avez besoin de <link linkend="xvid">
paramétrer <application>MEncoder</application> pour qu'il la supporte.</link>.
</para>
<para>
Ce guide a pour principal objectif de fournir le même genre d'information que
le guide d'encodage avec x264. Par conséquent, commencez par lire
<link linkend="menc-feat-x264-encoding-options-intro">la première partie</link>
de ce guide.
</para>
<sect2 id="menc-feat-xvid-intro">
<title>Quelles options devrais-je utiliser pour avoir les meilleurs résultats?</title>
<para>
Commencez par passer en revue la section <systemitem class="library">Xvid</systemitem>
de la page man de <application>MPlayer</application>.
Cette section est prévue pour être un supplément de la page man.
</para>
<para>
Les paramètrages par défaut de Xvid donnent déjà un bon compromis entre
vitesse et qualité, vous pouvez donc sans risque vous en contenter
si la section suivante vous laisse perplexe.
</para>
</sect2>
<sect2 id="menc-feat-xvid-encoding-options">
<title>Options d'encodage de <systemitem class="library">Xvid</systemitem></title>
<itemizedlist>
<listitem><para>
<emphasis role="bold">vhq</emphasis>
Ce paramètre affecte l'algorithme de choix de macrobloc, plus la valeur
du paramètre est élevée, meilleure sera la décision.
Le paramètrage par défaut peut être utilisé de façon sûre pour tous les encodages,
alors que des valeurs plus élevées améliorent toujours le PSNR mais rendent l'encodage significativement
plus lent.
Veuillez noter qu'un meilleur PSNR ne veut pas forcément dire que l'image
sera meilleure, mais vous informe qu'elle est plus proche de l'originale.
Désactiver l'option accélére de façon notable l'encodage; si la vitesse est un point
critique pour vous, cela peut valoir le coup.
</para></listitem>
<listitem><para>
<emphasis role="bold">bvhq</emphasis>
Cela a le même effet que vhq, mais agit sur les images B.
L'impact sur la vitesse est négligeable et la qualité est légèrement améliorée
(environ +0.1dB PSNR).
</para></listitem>
<listitem><para>
<emphasis role="bold">max_bframes</emphasis>
Permettre un plus grand nombre d'images B consécutives améliore habituellement
la compressibilité bien que cela puisse également entraîner plus d'artefacts de blocs.
Le paramétrage par défaut est un bon compromis entre compressibilité et qualité,
mais vous pouvez l'augmenter jusqu'à 3 si vous êtes obnubilé par le débit.
Vous pouvez aussi le réduire à 1 ou 0 si vous aspirez à la perfection, même si dans
ce cas vous deviez vous assurer que le débit cible est suffisament élevé pour que
l'encodeur n'ait pas à augmenter les quantificateurs pour l'atteindre.
</para></listitem>
<listitem><para>
<emphasis role="bold">bf_threshold</emphasis>
Ceci contrôle la sensibilité de l'encodeur pour les images B, où une plus haute
valeur amène à ce que plus d'images B soient utilisées (et vice versa).
Ce paramètre est fait pour être utilisé avec <option>max_bframes</option>;
si vous êtes obnubilé par le débit, vous devez augmenter à la fois <option>max_bframes</option>
et <option>bf_threshold</option>, tandis que vous pouvez augmenter <option>max_bframes</option>
et baisser <option>bf_threshold</option> de façon à ce que l'encodeur puisse utiliser plus d'images B
uniquement aux endroits qui en ont <emphasis role="bold">vraiment</emphasis> besoin.
Un faible nombre de <option>max_bframes</option> et une valeur élevée de <option>bf_threshold</option>
n'est probablement pas un choix avisé vu qu'il obligera l'encodeur à mettre
des images B en des endroits qui n'en tireront pas de bénéfice et donc réduiront la qualité visuelle.
Cependant, si vous avez besoin d'être compatible avec des lecteurs qui
supportent seulement de vieilles versions DivX (qui ne supportent pas plusieurs images B consécutives),
ce serait votre seul possibilité pour augmenter la compressibilité en utilisant les images B.
</para></listitem>
<listitem><para>
<emphasis role="bold">trellis</emphasis>
Optimise la procédure de quantification pour obtenir un compromis optimal
entre le PSNR et le débit, ce qui permet une économie significative de bits.
Ces bits seront en retour utilisés autre part dans la vidéo, augmentant
la qualité visuelle globale.
Vous devriez toujours l'utiliser étant donné son énorme impact sur la qualité.
Même si vous recherchez de la vitesse, ne le désactivez pas avant d'avoir
réduit <option>vhq</option> et toutes les autres options plus gourmandes
en ressource à leur minimum.
</para></listitem>
<listitem><para>
<emphasis role="bold">hq_ac</emphasis>
Active une meilleure méthode d'estimation des coefficients AC, ce qui réduit
légèrement la taille de fichier d'environ 0.15 à 0.19% (ce qui correspond
à moins de 0.01dB PSNR d'augmentation), tandis qu'elle a un impact négligeable
sur la vitesse. Il est donc recommandé de toujours la laisser activée.
</para></listitem>
<listitem><para>
<emphasis role="bold">cartoon</emphasis>
Faite pour un meilleur encodage des dessins animés, n'a pas d'impact
sur la vitesse étant donné qu'elle règle juste les heuristiques de décision
pour ce type de contenu.
</para></listitem>
<listitem><para>
<emphasis role="bold">me_quality</emphasis>
Ce paramètre contrôle la précision de l'estimation de mouvement.
Plus <option>me_quality</option> est élevé, plus
l'estimation du mouvement d'origine est précise et donc mieux l'encodage final
rendra le mouvement d'origine.
</para>
<para>
Le paramètrage par défaut est le meilleur dans tous les cas; ainsi il est
recommandé de ne pas le désactiver à moins que vous ne recherchiez vraiment
la rapidité, vu que tout les bits économisés par une bonne estimation du
mouvement seraient dépensés autre part, augmentant la qualité générale.
Donc, n'allez pas plus bas que 5, et encore, seulement en dernier recours.
</para></listitem>
<listitem><para>
<emphasis role="bold">chroma_me</emphasis>
Améliore l'estimation de mouvement en prenant aussi en compte l'information
de la chrominance (couleur), alors que <option>me_quality</option> seule
utilise uniquement la luminance (niveaux de gris).
Cela ralentit l'encodage de 5-10% mais améliore sensiblement la qualité visuelle
en réduisant les effets de bloc et cela réduit aussi la taille des fichiers d'environ 1.3%.
Si vous cherchez de la vitesse, vous devriez désactiver cette option avant de
penser à la réduction de <option>me_quality</option>.
</para></listitem>
<listitem><para>
<emphasis role="bold">chroma_opt</emphasis>
A pour objectif d'améliorer la qualité de la chrominance de l'image à proximité
des bords totalement blancs ou noirs, plutôt que d'améliorer la compression.
Ceci peut aider à réduire l'effet "d'escalier rouge".
</para></listitem>
<listitem><para>
<emphasis role="bold">lumi_mask</emphasis>
Tente de donner moins de débit à une partie de l'image que l'oeil humain
ne peut pas très bien voir, ce qui devrait permettre à l'encodeur de dépenser
les bits économisés sur des parties plus importantes de l'image.
La qualité de l'encodage liée à cette option dépend grandement des
préférences personnelles et du type de moniteur ainsi que de son réglage
(typiquement, cela ne semblera pas si bien si le réglage est lumineux
ou si c'est un moniteur TFT).
</para></listitem>
<listitem><para>
<emphasis role="bold">qpel</emphasis>
Augmente le nombre de vecteurs de mouvement candidats en augmentant la
précision de l'estimation de mouvement de halfpel (demi-pixel) à quarterpel (quart de pixel).
L'idée est de trouver de meilleurs vecteurs de mouvement pour
réduire le débit (donc augmenter la qualité à débit constant).
Cependant, les vecteurs de mouvement avec une précision quarterpel requièrent
quelques bits en plus à coder et les vecteurs candidats ne donnent pas
toujours de résultats (vraiment) meilleurs.
Assez souvent, le codec dépense des bits pour une plus grande précision,
mais en retour il n'y a que peu ou pas d'amélioration de la qualité.
Malheureusement, il n'y a aucun moyen de prédire les possibles avantages de
<option>qpel</option>, donc en fait, vous devez l'encoder avec
et sans pour en être sûr.
</para><para>
<option>qpel</option> peut quasiment doubler la durée d'encodage, et
nécessiter jusqu'à 25% de puissance processeur en plus pour le décodage.
Il n'est pas supporté par tous les lecteurs.
</para></listitem>
<listitem><para>
<emphasis role="bold">gmc</emphasis>
Essaye d'économiser des bits sur des scènes panoramiques en employant un
unique vecteur de mouvement pour l'image entière.
Cela augmente presque toujours le PSNR, mais ralentit l'encodage
significativement (ainsi que le décodage).
Par conséquent, vous devriez seulement l'employer si vous avez
réglé <option>vhq</option> au maximum.
Le GMC de <systemitem class="library">Xvid</systemitem> est plus sophistiqué
que celui de DivX, mais il est seulement supporté par quelques lecteurs.
</para></listitem>
</itemizedlist>
</sect2>
<sect2 id="menc-feat-xvid-encoding-profiles">
<title>Profils d'encodage</title>
<para>
Xvid supporte des profils d'encodage via l'option <option>profile</option>,
ce qui est utilisé pour imposer des restrictions sur les propriétés du flux
vidéo Xvid pour qu'il puisse être relu sur tout ce qui supporte le profil
choisi.
Les restrictions sont en rapport avec les résolutions, les débits et certaines
fonctionnalités MPEG-4.
La table suivante montre ce que chaque profil supporte.
</para>
<informaltable>
<tgroup cols="16" align="center">
<colspec colnum="1" colname="col1"/>
<colspec colnum="2" colname="col2"/>
<colspec colnum="3" colname="col3"/>
<colspec colnum="4" colname="col4"/>
<colspec colnum="5" colname="col5"/>
<colspec colnum="6" colname="col6"/>
<colspec colnum="7" colname="col7"/>
<colspec colnum="8" colname="col8"/>
<colspec colnum="9" colname="col9"/>
<colspec colnum="10" colname="col10"/>
<colspec colnum="11" colname="col11"/>
<colspec colnum="12" colname="col12"/>
<colspec colnum="13" colname="col13"/>
<colspec colnum="14" colname="col14"/>
<colspec colnum="15" colname="col15"/>
<colspec colnum="16" colname="col16"/>
<colspec colnum="17" colname="col17"/>
<spanspec spanname="spa2-5" namest="col2" nameend="col5"/>
<spanspec spanname="spa6-11" namest="col6" nameend="col11"/>
<spanspec spanname="spa12-17" namest="col12" nameend="col17"/>
<tbody>
<row>
<entry></entry>
<entry spanname="spa2-5">Simple</entry>
<entry spanname="spa6-11">Simple avancé</entry>
<entry spanname="spa12-17">DivX</entry>
</row>
<row>
<entry>Nom de profil</entry>
<entry>0</entry>
<entry>1</entry>
<entry>2</entry>
<entry>3</entry>
<entry>0</entry>
<entry>1</entry>
<entry>2</entry>
<entry>3</entry>
<entry>4</entry>
<entry>5</entry>
<entry>De poche</entry>
<entry>NTSC Portable</entry>
<entry>PAL Portable</entry>
<entry>NTSC Home Cinéma</entry>
<entry>PAL Home Cinéma</entry>
<entry>TV Haute Définition</entry>
</row>
<row>
<entry>Largeur [pixels]</entry>
<entry>176</entry>
<entry>176</entry>
<entry>352</entry>
<entry>352</entry>
<entry>176</entry>
<entry>176</entry>
<entry>352</entry>
<entry>352</entry>
<entry>352</entry>
<entry>720</entry>
<entry>176</entry>
<entry>352</entry>
<entry>352</entry>
<entry>720</entry>
<entry>720</entry>
<entry>1280</entry>
</row>
<row>
<entry>Hauteur [pixels]</entry>
<entry>144</entry>
<entry>144</entry>
<entry>288</entry>
<entry>288</entry>
<entry>144</entry>
<entry>144</entry>
<entry>288</entry>
<entry>288</entry>
<entry>576</entry>
<entry>576</entry>
<entry>144</entry>
<entry>240</entry>
<entry>288</entry>
<entry>480</entry>
<entry>576</entry>
<entry>720</entry>
</row>
<row>
<entry>Images par seconde</entry>
<entry>15</entry>
<entry>15</entry>
<entry>15</entry>
<entry>15</entry>
<entry>30</entry>
<entry>30</entry>
<entry>15</entry>
<entry>30</entry>
<entry>30</entry>
<entry>30</entry>
<entry>15</entry>
<entry>30</entry>
<entry>25</entry>
<entry>30</entry>
<entry>25</entry>
<entry>30</entry>
</row>
<row>
<entry>Débit moyen max [kbit/s]</entry>
<entry>64</entry>
<entry>64</entry>
<entry>128</entry>
<entry>384</entry>
<entry>128</entry>
<entry>128</entry>
<entry>384</entry>
<entry>768</entry>
<entry>3000</entry>
<entry>8000</entry>
<entry>537.6</entry>
<entry>4854</entry>
<entry>4854</entry>
<entry>4854</entry>
<entry>4854</entry>
<entry>9708.4</entry>
</row>
<row>
<entry>Débit moyen maximal au delà de 3 secs [kbit/s]</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry>800</entry>
<entry>8000</entry>
<entry>8000</entry>
<entry>8000</entry>
<entry>8000</entry>
<entry>16000</entry>
</row>
<row>
<entry>Images B maxi</entry>
<entry>0</entry>
<entry>0</entry>
<entry>0</entry>
<entry>0</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry>0</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1</entry>
<entry>1</entry>
<entry>2</entry>
</row>
<row>
<entry>Quantification MPEG</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>Quantification adaptative</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
</row>
<row>
<entry>Encodage entrelacé</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
</row>
<row>
<entry>Quaterpixel</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
<row>
<entry>Compensation globale du mouvement</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry>X</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
<sect2 id="menc-feat-xvid-example-settings">
<title>Exemples de paramètres d'encodage</title>
<para>
Les paramètres suivant sont des exemples de différentes combinaisons
d'option d'encodage qui affectent le compromis entre la vitesse et
la qualité pour le même débit cible.
</para>
<para>
Tous les paramètrages d'encodage ont été testés sur un échantillon vidéo en
720x448 à 30000/1001 images par seconde, le débit cible était de 900kbit/s, et la machine était un
AMD-64 3400+ à 2400 MHz en mode 64 bits.
Chaque exemple d'encodage est donné avec la vitesse d'encodage mesurée (en
images par seconde) et la perte en PSNR (en dB) par rapport au réglage de "très
haute qualité". Sachez que selon votre video source, votre machine et les derniers développements,
vous pourrez obtenir des résultats très différents.
</para>
<para>
<informaltable frame="all">
<tgroup cols="4">
<thead>
<row><entry>Description</entry><entry>Options d'encodage</entry><entry>vitesse (en images par secondes)</entry><entry>Perte PSNR relative (en dB)</entry></row>
</thead>
<tbody>
<row>
<entry>Très haute qualité</entry>
<entry><option>chroma_opt:vhq=4:bvhq=1:quant_type=mpeg</option></entry>
<entry>16</entry>
<entry>0dB</entry>
</row>
<row>
<entry>Haute qualité</entry>
<entry><option>vhq=2:bvhq=1:chroma_opt:quant_type=mpeg</option></entry>
<entry>18</entry>
<entry>-0.1dB</entry>
</row>
<row>
<entry>Rapide</entry>
<entry><option>turbo:vhq=0</option></entry>
<entry>28</entry>
<entry>-0.69dB</entry>
</row>
<row>
<entry>Temps réel</entry>
<entry><option>turbo:nochroma_me:notrellis:max_bframes=0:vhq=0</option></entry>
<entry>38</entry>
<entry>-1.48dB</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</sect2>
</sect1>
<sect1 id="menc-feat-x264">
<title>Encodage avec le codec <systemitem class="library">x264</systemitem></title>
<para>
<systemitem class="library">x264</systemitem> est une librairie libre pour
encoder des flux vidéo H.264/AVC.
Avant de commencer à encoder, vous avez besoin de <link linkend="codec-x264-encode">
paramétrer <application>MEncoder</application> pour qu'il le supporte</link>.
</para>
<sect2 id="menc-feat-x264-encoding-options">
<title>Les options d'encodage de x264</title>
<para>
Veuillez commencer par passer en revue la section
<systemitem class="library">x264</systemitem> de la page man
de <application>MPlayer</application>.
Cette section est prévue pour être un complément à la page man.
Ici, vous trouverez des conseils sur les options qui sont
le plus susceptible d'intéresser la plupart des gens. La page man
est plus laconique mais aussi plus exhaustive et offre
parfois de bien meilleurs détails techniques.
</para>
<sect3 id="menc-feat-x264-encoding-options-intro">
<title>Introduction</title>
<para>Ce guide considère deux principales catégories d'options d'encodage:</para>
<orderedlist>
<listitem><para>Les options qui traitent principalement du compromis entre la durée d'encodage et la qualité
</para></listitem>
<listitem><para>Les options susceptibles de satisfaire diverses préférences personnelles
et exigences spéciales</para></listitem>
</orderedlist>
<para>
Finalement, seul vous pouvez décider quelles sont les meilleures options en fonction de vos objectifs.
La décision pour la première catégorie d'options est la plus simple:
vous devez seulement décider si les différences de qualité
justifient les différences de vitesse. Pour la deuxième catégorie d'options,
les préférences peuvent être bien plus subjectives, et plus de facteurs
peuvent être impliqués. Notez que certaines des options de type
"préférences personnelles et exigences spéciales" peuvent aussi avoir
un impact important sur la vitesse ou la qualité, mais ce n'est pas là leur
utilité première. Quelques unes des options de "préférences
personnelles" peuvent même avoir des effets jugés bénéfiques par certaines personnes
mais néfastes par d'autres.
</para>
<para>
Avant de continuer, il vous est important que vous sachiez que ce guide utilise une unique
mesure de qualité: le PSNR global.
Pour une brève explication du PSNR, voir
<ulink url="http://fr.wikipedia.org/wiki/PSNR">l'article Wikipedia sur le PSNR</ulink>.
Le PSNR global est le dernier nombre PSNR donné quand vous incluez l'option
<option>psnr</option> dans <option>x264encopts</option>.
Pour toutes les assertions faites sur le PSNR, il sera supposé un débit constant.
</para>
<para>
Pratiquement tous les commentaires de ce guide supposent que vous effectuez
un encodage en deux passes.
Lors de la comparaison d'options, il y a deux raisons principales pour
l'utilisation d'un encodage en deux passes.
Premièrement, l'utilisation de deux passes permet souvent de gagner environ 1dB
en PSNR, ce qui est une très grande différence.
Deuxièmement, tester les options en faisant des comparaisons directes de
qualité avec un encodage en une passe introduit un facteur de confusion important:
le débit varie souvent de façon significative avec chaque encodage.
Il n'est pas toujours facile de dire si les changements de qualité sont
principalement dûs aux changements d'options, ou si ils
reflètent essentiellement des différences aléatoires dans le débit atteint.
</para>
</sect3>
<sect3 id="menc-feat-x264-encoding-options-speedvquality">
<title>Options qui affectent principalement la vitesse et la qualité</title>
<itemizedlist>
<listitem><para>
<emphasis role="bold">subq</emphasis>:
Des options qui vous permettent de jouer sur le compromis vitesse-qualité,
<option>subq</option> et <option>frameref</option> (voir ci-dessous) sont
habituellement de loin les plus importantes.
Si vous êtes intéressés par le bidouillage soit de la vitesse soit de la
qualité, ces options sont les premières que vous devriez prendre en
considération.
Sur la vitesse, les options <option>frameref</option>
et <option>subq</option> interagissent entre elles assez fortement.
L'expérience montre que, avec une image de référence,
<option>subq=5</option> (le réglage par défaut) est environ 35% plus lent que
<option>subq=1</option>.
Avec 6 images de référence, la pénalité passe au dessus des 60%.
L'effet de <option>subq</option> sur le PSNR semble assez constant
indépendamment du nombre d'images de référence.
Typiquement, <option>subq=5</option> résulte en un PSNR global supérieur de
0.2-0.5 dB par rapport à <option>subq=1</option>.
C'est habituellement assez pour être visible.
</para>
<para>
<option>subq=6</option> est le mode le plus lent et le plus élevé en qualité.
Par rapport à <option>subq=5</option>, il gagne habituellement
de 0.1-0.4 dB en PSNR avec des coûts en vitesse variant de 25% à 100%.
A la différence des autres niveaux de <option>subq</option>, le comportement
de <option>subq=6</option> ne dépend pas beaucoup de <option>frameref</option>
et <option>me</option>. Au lieu de cela, l'efficacité de <option>subq=6</option>
dépend principalement du nombre d'images B utilisées. Lors d'une utilisation
normale, cela signifie que <option>subq=6</option> a un grand impact sur la
vitesse et la qualité dans le cas de scènes d'action complexes,
mais il peut ne pas avoir beaucoup d'effets sur les scènes avec peu de mouvements.
Notez qu'il est recommandé de toujours régler <option>bframes</option>
à des valeurs autres que zéro (voir ci-dessous).
</para>
<para>
<option>subq=7</option> est le mode le plus lent, offrant la meilleure qualité.
En comparaison de <option>subq=6</option>, il permet de gagner 0.01-0.05 dB en PSNR
global avec un ralentissement de la vitesse d'encodage variant de 15 à 33%.
Comme le compromis temps d'encodage/qualité est plutôt faible, il vaut mieux l'utiliser
lorsque vous voulez sauver le maximum de bits et que le temps d'encodage ne vous pose pas de
problème.
</para>
</listitem>
<listitem><para>
<emphasis role="bold">frameref</emphasis>:
<option>frameref</option> est réglé à 1 par défaut, mais il ne faut pas penser que cela implique
qu'il est raisonnable de le laisser à 1.
Augmenter simplement <option>frameref</option> à 2 permet un gain de PSNR d'environ
0.15dB, avec une pénalité de 5-10% sur la vitesse; cela semble être
un bon compromis.
<option>frameref=3</option> gagne environ 0.25dB de PSNR par rapport à
<option>frameref=1</option>, ce qui devrait être une différence visible.
<option>frameref=3</option> est environ 15% plus lent que <option>frameref=1</option>.
Malheureusement, les gains diminuent rapidement.
<option>frameref=6</option> peut entraîner un gain de seulement 0.05-0.1 dB
par rapport à <option>frameref=3</option> avec une pénalité de
15% sur la vitesse.
Au delà de <option>frameref=6</option>, les gains en qualité sont
habituellement très faible (bien que vous deviez garder à l'esprit
à travers toute cette discussion que cela peut varier fortement selon la source vidéo utilisée).
Dans un cas raisonnablement typique, <option>frameref=12</option> améliorera le PSNR
global d'un minuscule 0.02dB par rapport à <option>frameref=6</option>,
avec un surcoût sur la vitesse de 15%-20%.
Avec des valeurs aussi élevées de <option>frameref</option>, la seule vraie bonne
chose qui puisse être dite est que de l'augmenter même au delà ne
<emphasis role="bold">nuira</emphasis> presque certainement jamais au PSNR,
mais les bénéfices sur la qualité sont à peine mesurables, et encore
moins perceptibles.
</para>
<note><title>Note:</title>
<para>
Augmenter <option>frameref</option> à des valeurs inutilement élevées
<emphasis role="bold">peut affecter</emphasis> et <emphasis role="bold">habituellement affecte</emphasis>
l'efficacité d'encodage si vous désactivez le CABAC.
Avec le CABAC activé (comportement par défaut), la possibilité de régler
<option>frameref</option> "trop haut" semble trop éloignée pour s'en inquiéter,
et dans le futur, il est possible que des optimisations l'élimine complètement.
</para>
</note>
<para>
Si la vitesse vous intéresse, un compromis raisonnable est
d'utiliser des valeurs de <option>subq</option> et <option>frameref</option> basses
pour la première passe, et de les augmenter ensuite sur pour la seconde passe.
Typiquement, cela a un effet négatif négligeable sur la qualité finale:
vous perdrez probablement bien moins de 0.1dB en PSNR, ce qui devrait
être une différence beaucoup trop faible pour être visible.
Cependant, des valeurs différentes de <option>frameref</option> peuvent
parfois affecter le choix du type de frame.
Ce sont très probablement des cas périphériques rares, mais si vous voulez
en être complètement certain, regardez si votre vidéo a soit des motifs
plein écran, clignotants et répétitifs, soit de très
grandes occlusions provisoires qui pourraient nécessiter une image I1.
Ajustez le <option>frameref</option> de la première passe pour qu'il soit assez
grand pour contenir la durée du cycle de clignotement (ou d'occlusion).
Par exemple, si la scène fait clignoter deux images
sur une durée de trois images, réglez le <option>frameref</option> de la
première passe à 3 ou plus.
Ce problème est probablement extrêmement rare sur des vidéos de type
action, mais cela arrive quelquefois dans des captures de jeu vidéo.
</para></listitem>
<listitem><para>
<emphasis role="bold">me</emphasis>:
Cette option sert pour le choix de la méthode de recherche d'estimation de mouvement.
Cette option modifie de manière directe le compromis entre qualité et vitesse.
<option>me=dia</option> n'est plus rapide que de quelques pourcents par rapport à
la recherche par défaut et entraîne une diminution du PSNR global inférieure à 0.1dB. Le
paramètre par défaut (<option>me=hex</option>) est un compromis raisonnable
entre vitesse et qualité. <option>me=umh</option> améliore de moins de 0.1dB le
PSNR global avec une pénalité sur la vitesse variant en fonction
de <option>frameref</option>. Pour de hautes valeurs de <option>frameref</option>
(par exemple 12 ou plus), <option>me=umh</option> est environ 40% plus lent que le
<option>me=2</option> par défaut. Avec <option>frameref=3</option>,
la pénalité sur la vitesse chute à 25%-30%.
</para>
<para>
<option>me=esa</option> utilise une recherche exhaustive qui est trop lente pour
une utilisation pratique.
</para>
</listitem>
<listitem><para>
<emphasis role="bold">partitions=all</emphasis>:
Cette option autorise l'utilisation des sous-partitions 8x4, 4x8 et 4x4
(en plus de celles présentes par défaut) dans
les macroblocs prédits. L'autoriser résulte en une perte de vitesse raisonnablement
consistente de 10%-15%. Cette option est plutôt inutile pour les videos sources contenant
uniquements de faibles mouvements, particulièrement pour les sources avec
beaucoup de petits objets en mouvement. Un gain d'environ 0.1dB peut être espéré.
</para>
</listitem>
<listitem><para>
<emphasis role="bold">bframes</emphasis>:
Si vous avez l'habitude d'encoder avec d'autre codecs, vous avez peut-être réalisé
que les images B ne sont pas toujours utiles.
Avec le H.264, ceci a changé: il y a de nouvelles techniques et types de blocs
qui sont possibles avec les images B.
Habituellement, même un algorithme de choix d'image B naïf peut avoir un
bénéfice significatif sur le PSNR.
Il est intéressant de noter que l'utilisation d'images B accélère
habituellement légèrement la seconde passe, et peut aussi accélérer
l'encodage en une seule passe si le choix adaptatif d'image B est désactivé.
</para>
<para>
Avec le choix adaptatif d'image B désactivé
(l'option <option>nob_adapt</option> de <option>x264encopts</option>),
le réglage optimal n'est habituellement pas supérieur à
<option>bframes=1</option>, sinon les scènes riches en mouvement vont en souffrir.
Avec le choix adaptatif d'image B activé (le comportement par défaut), cela
ne pose plus de problème d'utiliser des valeurs plus élevées;
l'encodeur réduira l'utilisation d'images B dans les scènes où
cela endommagerait la compression.
L'encodeur choisi rarement d'utiliser plus de 3 ou 4 images B;
régler cette option à une valeur plus élevée aura peu d'effet.
</para></listitem>
<listitem><para>
<emphasis role="bold">b_adapt</emphasis>:
Note: activé par défaut.
</para>
<para>
Avec cette option activée, l'encodeur utilise une procédure de décision
raisonnablement rapide pour réduire le nombre d'images B utilisées dans
les scènes pour lesquelles leur utilisation n'apporterait pas grand-chose.
Vous pouvez utiliser <option>b_bias</option> pour affiner la tendance
de l'encodeur à insérer des images B.
La pénalité de vitesse du chois adaptatif d'images B est actuellement
plutôt modeste, mais il en est de même pour le potentiel gain en qualité.
En général, cela ne fait pas de mal.
Notez que cela affecte uniquement la vitesse et le choix du type d'image
lors de la première passe.
Les options <option>b_adapt</option> et <option>b_bias</option> n'ont pas
d'effet lors des passages suivants.
</para></listitem>
<listitem><para>
<emphasis role="bold">b_pyramid</emphasis>:
Vous pouvez aussi activer cette option si vous utilisez 2 images B ou plus;
comme l'indique la page man, vous obtiendrez une faible amélioration de la
qualité sans surcoût en vitesse.
Notez que ces vidéos ne peuvent pas être lues avec les décodeurs basés sur
libavcodec antérieurs au 5 mars 2005 (environ).
</para></listitem>
<listitem><para>
<emphasis role="bold">weight_b</emphasis>:
En théorie, il n'y a beaucoup de gain à espérer de cette option.
Cependant, dans les scènes de fondu, la prédiction
pondérée permet d'économiser beaucoup en débit (kbit/s).
Dans le MPEG-4 ASP, un fondu-au-noir est habituellement le mieux compressé
en tant qu'une coûteuse série d'images I; utiliser la prédiction pondérée pour les
images B permet d'en convertir au moins une partie images B bien plus légères.
Le coût en durée d'encodage est minimal, étant donné qu'aucun choix
supplémentaire n'a besoin d'être fait.
Aussi, contrairement à ce que les gens semblent deviner, les besoins en puissance informatique
du décodeur ne sont pas beaucoup affectés par la prédiction pondérée, tout
le reste étant équivalent.
</para>
<para>
Malheureusement, l'algorithme adaptatif de choix d'images B actuel
a une forte tendance à éviter les images B pendant les fondus.
Jusqu'à ce que cela change, cela peut être une bonne idée d'ajouter <option>nob_adapt</option>
à votre <option>x264encopts</option> si vous pensez que les fondus auront un impact important
dans votre vidéo.
</para></listitem>
<listitem id="menc-feat-x264-encoding-options-speedvquality-threads">
<para>
<emphasis role="bold">threads</emphasis>:
Cette option permet de lancer des threads autorisant ainsi l'encodage en parallèle sur plusieurs CPUs.
Il est possible de choisir manuellement le nombre de threads à créer ou, mieux, d'utiliser
<option>threads=auto</option> et laisser
<systemitem class="library">x264</systemitem> détecter le nombre de CPU disponible et choisir
le nombre de threads approprié.
Si vous possédez une machine multi-processeurs, vous devriez songer à utiliser cette option.
Elle permet d'augmenter la vitesse d'encodage linéairement en fonction du nombre de coeur de CPU
(à peu prés de 94% par coeur), tout en impliquant une réduction de qualité minime
(aux environs de 0.005dB pour un processeur double-coeurs, 0.01dB pour une machine quadri-coeurs).
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3 id="menc-feat-x264-encoding-options-misc-preferences">
<title>Options relatives à diverses préférences</title>
<itemizedlist>
<listitem><para>
<emphasis role="bold">Encodage en deux passes</emphasis>:
On a suggéré ci-dessus de toujours utiliser un encodage en deux passages,
mais il reste tout de même quelques raisons pour ne pas l'utiliser. Par exemple, si vous
faites une capture de la télévision et l'encodez en temps réel, vous
êtes obligé d'utiliser un encodage 1 passe.
De plus, le 1 passe est évidemment plus rapide que le 2 passes;
si vous utilisez exactement les mêmes options lors des 2 passes, l'encodage 2 passes
est presque deux fois plus lent.
</para>
<para>
Cependant, il y a de très bonnes raisons pour utiliser l'encodage 2 passes.
D'une part, le contrôle de débit du mono-passe n'est pas medium et
fait donc souvent des choix peu raisonnables parce qu'il n'a pas de vue d'ensemble
de la vidéo. Par exemple, supposez que vous ayez une vidéo de deux minutes
consistant en deux moitiés distinctes. La première moitié est une scène
riche en mouvements qui dure 60 secondes qui, isolée, requière
environ 2500kbit/s pour être correct. Suit immédiatement une
scène de 60 secondes beaucoup moins exigeante qui peut être très bien à
300kbit/s. Supposez que vous demandiez 1400kbps en supposant
que cela soit suffisant pour s'accomoder des deux scènes. Le contrôle de débit
du mono-passe commettra des "fautes" dans un tel cas.
Premièrement, il visera 1400kbit/s pour les deux segments. Le premier segment
sera quantifié à l'excès et aura donc des artefacts de blocs de façon irrationnelle
et inacceptable. Le second segment sera trop peu quantifié, il aura l'air parfait,
mais le coût en débit de cette perfection sera complètement irrationnel.
Ce qui est encore plus difficile à éviter est le problème de transition entre les 2 scènes.
Les premières secondes de la seconde partie seront grandement surquantifiées, parce que
le contrôle de débit s'attend encore aux exigences qu'il a rencontrées dans la première partie.
Cette "période d'erreur" pendant laquelle les faibles mouvements sont sur-quantifiés
aura l'air parkinsonien, et utilisera en réalité moins
que les 300kbit/s qu'il aurait pris pour le rendre correct. Il y a des façons
d'atténuer les pièges de l'encodage en simple passe, mais ils peuvent avoir
tendance à augmenter les erreurs de prédiction de débit.
</para>
<para>
Le contrôle du débit en multi-passes peut apporter d'énormes avantages par rapport
au mono-passe. En utilisant les statistiques récupérées lors de la première
passe d'encodage, l'encodeur peut estimer, avec une précision raisonnable, le "coût"
(en bits) de l'encodage de n'importe quelle image, à n'importe quel
quantificateur. Cela permet d'avoir une allocation des bits beaucoup plus
rationnelle et mieux planifiée entre les scènes coûteuses (beaucoup de
mouvements) et celles bon marché (peu de mouvements). Voir
<option>qcomp</option> ci-dessous pour quelques suggestions sur la manière
d'ajuster cette allocation à votre guise.
</para>
<para>
De plus, l'encodage en deux passes ne prend pas nécessairement deux fois plus de temps
que le simple passe. Vous pouvez jouer avec les options lors de la première passe
pour avoir une vitesse plus élevée et une qualité plus faible.
Si vous choisissez bien vos options, vous pouvez obtenir une première passe
très rapide.
La qualité résultante de la seconde passe sera légèrement plus basse parce
que la prédiction de la taille sera moins précise, mais la différence de qualité
sera normalement trop faible pour être visible. Essayez, par exemple,
d'ajouter <option>subq=1:frameref=1</option> à la première passe <option>x264encopts</option>.
Ensuite, sur la seconde passe, utilisez des options plus lentes pour avoir une
meilleure qualité:
<option>subq=6:frameref=15:partitions=all:me=umh</option>
</para></listitem>
<listitem><para>
<emphasis role="bold">Encodage en trois passes</emphasis> ?
x264 offre la possibilité de faire un nombre arbitraire de passes consécutives.
Si vous spécifiez <option>pass=1</option> lors de la première passe, puis
utilisez <option>pass=3</option> pour la passe suivante, cette dernière passe
lira les statistiques calculées lors du passage précédent, et écrira ses propres
statistiques. Une autre passe suivante aura une très bonne base pour
faire des prédictions très précises de tailles des images pour un quantificateur donné.
En pratique, les gains sur la qualité d'ensemble sont généralement proches de zéro et
il est très possible que la troisième passe donne un PSNR global plus faible que le précédent.
Typiquement, le 3 passes aide si vous obtenez une mauvaise
prédiction de débit ou un mauvais rendu lors des transitions de scènes
quand vous utilisez seulement deux passes.
Ceci peut se produire sur les clips extrêmement courts. Il y a aussi quelques
cas spéciaux dans lesquels trois (ou plus) passes sont utiles pour les
utilisateurs avancés, mais par souci de brièveté, ce guide ne traitera pas
ces cas spéciaux.
</para></listitem>
<listitem><para>
<emphasis role="bold">qcomp</emphasis>:
<option>qcomp</option> gère l'allocation des bits entre les images
"coûteuses" des scènes riches en mouvement et celles "bon marché" des scènes de faible mouvement.
La valeur minimale, <option>qcomp=0</option> s'emplie à réaliser un vrai débit constant.
Typiquement, cela rendrait des scènes riches en mouvements vraiment laides,
alors que les scènes plus statiques seraient absolument parfaites, mais cela
utiliserait aussi beaucoup plus de bits que nécessaire pour les rendre excellentes.
La valeur maximale, <option>qcomp=1</option> rend les paramètres de quantifications
(QP) presque constants. Un QP constant donne un bon rendu, mais la plupart des
gens pensent qu'il est plus raisonnable d'enlever quelques bits des scènes
coûteuses (où la perte de qualité n'est pas aussi visible) et de les ré-allouer
aux scènes qui sont plus faciles à encoder à une excellente qualité.
<option>qcomp</option> vaut 0.6 par défaut, ce qui peut être légèrement
trop faible au goût de nombre de personnes (0.7-0.8 sont aussi communément
utilisées).
</para></listitem>
<listitem><para>
<emphasis role="bold">keyint</emphasis>:
<option>keyint</option> permet de jouer sur le compromis entre la
précision de la navigation dans les fichiers et leur efficacité de compression.
Par défaut, <option>keyint</option> est égal à 250.
Sur des videos à 25 images par secondes, cela garantit que la navigation peut se faire
avec une précision de 10 secondes.
Si vous pensez qu'il est important et utile de pouvoir faire une recherche
avec une granularité de 5 secondes, règlez à <option>keyint=125</option>;
cela dégradera légèrement le rapport qualité/débit. Si vous vous souciez seulement
de la qualité et non de la capacité à faire une recherche, vous pouvez le
mettre à des valeurs beaucoup plus élevées (bien entendu, plus
vous augmenterez, moins il aura de gain visuels).
Le flux vidéo aura toujours des points de recherche tant qu'il y aura des changements de
de scène.
</para></listitem>
<listitem><para>
<emphasis role="bold">deblock</emphasis>:
Ce sujet risque d'être une source de controverses.
</para>
<para>
H.264 définit une procédure simple de déblocage sur les blocs I
ayant des forces et des seuils pré-réglés en fonction du QP du
bloc en question.
Par défaut, les blocs à QP élevés sont fortement filtrés et les blocs à faible QP
ne le sont pas du tout.
Les forces pré-réglées définies par les standards sont bien choisies et
il y a de grandes chances pour qu'elles soient optimales du point de vue du PSNR
quel que soit la vidéo que vous encodez.
Les paramètres de <option>deblock</option>
vous permettent de spécifier des décalages par rapport aux seuils de déblocage pré-définis.
</para>
<para>
Beaucoup de gens semblent penser que baisser grandement la force du filtre de
déblocage (par exemple -3) est une bonne idée.
Ce n'est cependant presque jamais le cas et dans la plupart des cas,
ceux qui le font ne comprennent pas très bien comment le déblocage
fonctionne par défaut.
</para>
<para>
La première et plus importante chose à savoir à propos du filtre de déblocage
de H264 est que les seuils par défaut sont presque toujours optimaux du point de vue du PSNR.
Dans les rares cas où ils ne le sont pas, le décalage idéal est de plus ou
moins 1.
Décaler les paramètres de déblocage d'une plus grande valeur est presqu'une garantie de
dégradation du PSNR.
Augmenter la force du filtre diluera les détails; la baisser
augmentera l'effet de bloc.
</para>
<para>
C'est une mauvaise idée que de baisser les seuils de déblocage si
votre source est principalement de faible complexité spatiale (c-à-d avec peu de
détails ou de bruit).
Le filtre de H264 réussit très bien à camoufler les artefacts qui se apparaissent.
De toutes façons, si la complexité spatiale de la source est élevée, les
artefacts sont moins discernables parce qu'ils tendent à ressembler
à du détail ou du bruit.
La vision humaine remarque facilement qu'un détail a été enlevé
mais ne remarque pas si facilement quand un bruit est mal représenté.
Quand il s'agit de qualité subjective, le bruit et les détails sont
d'une certaine façon interchangeables.
En baissant la force du filtre de déblocage, vous allez très probablement
augmenter les erreurs en ajoutant des artefacts mais
l'oeil ne les remarquera pas parce qu'il les confondra avec des détails.
</para>
<para>
Cependant, ceci ne justifie <emphasis role="bold">toujours</emphasis> pas une diminution de
la force du filtre de déblocage.
Vous pouvez généralement obtenir une meilleure qualité de bruit lors du
post-traitement.
Si votre encodage en H.264 est trop flou ou sale, essayez de jouer avec
<option>-vf noise</option> quand vous visionner votre film encodé.
<option>-vf noise=8a:4a</option> devrait camoufler la plupart des artefacts légers.
Cela aura l'air certainement mieux que ce que vous obtiendriez en jouant
uniquement avec le filtre de déblocage.
</para></listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="menc-feat-x264-example-settings">
<title>Exemples de paramètre d'encodage</title>
<para>
Les paramètres ci-dessous sont des exemples de différentes combinaisons
d'option de compression qui affectent le compromis entre vitesse et
qualité pour un même débit cible.
</para>
<para>
Tous les paramètres d'encodage sont testés sur un échantillon vidéo à
720x448 à30000/1001 images par seconde, le débit cible est à 900kbit/s, et la machine
est un AMD-64 3400+ à 2400 MHz en mode 64 bits.
Chaque paramètre d'encodage exploite la vitesse de compression mesurée (en
images par seconde) et la perte de PSNR (en dB) en la comparant au paramètre
de "très haute qualité".
Veuillez comprendre que selon votre source, le type de votre machine et
les derniers développements logiciels, vous pourrez obtenir des résultats
très différents.
</para>
<para>
<informaltable frame="all">
<tgroup cols="4">
<thead>
<row><entry>Description</entry><entry>Options d'encodage</entry><entry>vitesse (en images/s)</entry><entry>Perte PSNR relative (en dB)</entry></row>
</thead>
<tbody>
<row>
<entry>Très haute qualité</entry>
<entry><option>subq=6:partitions=all:8x8dct:me=umh:frameref=5:bframes=3:b_pyramid:weight_b</option></entry>
<entry>6</entry>
<entry>0dB</entry>
</row>
<row>
<entry>Haute qualité</entry>
<entry><option>subq=5:partitions=all:8x8dct:frameref=2:bframes=3:b_pyramid:weight_b</option></entry>
<entry>13</entry>
<entry>-0.89dB</entry>
</row>
<row>
<entry>Rapide</entry>
<entry><option>subq=4:bframes=2:b_pyramid:weight_b</option></entry>
<entry>17</entry>
<entry>-1.48dB</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</sect2>
</sect1>
<sect1 id="menc-feat-video-for-windows">
<title>Encoder avec la famille de codecs <systemitem class="library">Video For Windows</systemitem></title>
<para>
Video for Windows offre la possibilité d'encoder en utiliser les codecs vidéo binaires.
Il est possible d'encoder avec les codecs suivants (si vous en connaissez d'autres, dites-le nous!)
</para>
<para>
Notez que le support est très expériemental que que certains codecs peuvent
ne pas fonctionner correctement.
Certains codecs ne fonctionnent qu'avec certains espaces de couleur ;
essayez les options <option>-vf format=bgr24</option> et <option>-vf format=yuy2</option>
si un codec se plante ou donne un résulat étrange.
</para>
<sect2 id="menc-feat-enc-vfw-video-codecs">
<title>Les codecs Video for Windows supportés</title>
<para>
<informaltable frame="all">
<tgroup cols="4">
<thead>
<row>
<entry>Nom de fichier du codec Video</entry>
<entry>Description (FourCC)</entry>
<entry>md5sum</entry>
<entry>Commentaire</entry>
</row>
</thead>
<tbody>
<row>
<entry>aslcodec_vfw.dll</entry>
<entry>Alparysoft lossless codec vfw (ASLC)</entry>
<entry>608af234a6ea4d90cdc7246af5f3f29a</entry>
<entry></entry>
</row>
<row>
<entry>avimszh.dll</entry>
<entry>AVImszh (MSZH)</entry>
<entry>253118fe1eedea04a95ed6e5f4c28878</entry>
<entry>nécessite <option>-vf format</option></entry>
</row>
<row>
<entry>avizlib.dll</entry>
<entry>AVIzlib (ZLIB)</entry>
<entry>2f1cc76bbcf6d77d40d0e23392fa8eda</entry>
<entry></entry>
</row>
<row>
<entry>divx.dll</entry>
<entry>DivX4Windows-VFW</entry>
<entry>acf35b2fc004a89c829531555d73f1e6</entry>
<entry></entry>
</row>
<row>
<entry>huffyuv.dll</entry>
<entry>HuffYUV (lossless) (HFYU)</entry>
<entry>b74695b50230be4a6ef2c4293a58ac3b</entry>
<entry></entry>
</row>
<row>
<entry>iccvid.dll</entry>
<entry>Cinepak Video (cvid)</entry>
<entry>cb3b7ee47ba7dbb3d23d34e274895133</entry>
<entry></entry>
</row>
<row>
<entry>icmw_32.dll</entry>
<entry>Motion Wavelets (MWV1)</entry>
<entry>c9618a8fc73ce219ba918e3e09e227f2</entry>
<entry></entry>
</row>
<row>
<entry>jp2avi.dll</entry>
<entry>ImagePower MJPEG2000 (IPJ2)</entry>
<entry>d860a11766da0d0ea064672c6833768b</entry>
<entry><option>-vf flip</option></entry>
</row>
<row>
<entry>m3jp2k32.dll</entry>
<entry>Morgan MJPEG2000 (MJ2C)</entry>
<entry>f3c174edcbaef7cb947d6357cdfde7ff</entry>
<entry></entry>
</row>
<row>
<entry>m3jpeg32.dll</entry>
<entry>Morgan Motion JPEG Codec (MJPG)</entry>
<entry>1cd13fff5960aa2aae43790242c323b1</entry>
<entry></entry>
</row>
<row>
<entry>mpg4c32.dll</entry>
<entry>Microsoft MPEG-4 v1/v2</entry>
<entry>b5791ea23f33010d37ab8314681f1256</entry>
<entry></entry>
</row>
<row>
<entry>tsccvid.dll</entry>
<entry>TechSmith Camtasia Screen Codec (TSCC)</entry>
<entry>8230d8560c41d444f249802a2700d1d5</entry>
<entry>erreur shareware sous windows</entry>
</row>
<row>
<entry>vp31vfw.dll</entry>
<entry>On2 Open Source VP3 Codec (VP31)</entry>
<entry>845f3590ea489e2e45e876ab107ee7d2</entry>
<entry></entry>
</row>
<row>
<entry>vp4vfw.dll</entry>
<entry>On2 VP4 Personal Codec (VP40)</entry>
<entry>fc5480a482ccc594c2898dcc4188b58f</entry>
<entry></entry>
</row>
<row>
<entry>vp6vfw.dll</entry>
<entry>On2 VP6 Personal Codec (VP60)</entry>
<entry>04d635a364243013898fd09484f913fb</entry>
<entry>crash sous Linux</entry>
</row>
<row>
<entry>vp7vfw.dll</entry>
<entry>On2 VP7 Personal Codec (VP70)</entry>
<entry>cb4cc3d4ea7c94a35f1d81c3d750bc8d</entry>
<entry>-ffourcc VP70</entry>
</row>
<row>
<entry>ViVD2.dll</entry>
<entry>SoftMedia ViVD V2 codec VfW (GXVE)</entry>
<entry>a7b4bf5cac630bb9262c3f80d8a773a1</entry>
<entry></entry>
</row>
<row>
<entry>msulvc06.DLL</entry>
<entry>MSU Lossless codec (MSUD)</entry>
<entry>294bf9288f2f127bb86f00bfcc9ccdda</entry>
<entry>
Décodable par <application>Window Media Player</application>,
mais pas <application>MPlayer</application> (pour le moment).
</entry>
</row>
<row>
<entry>camcodec.dll</entry>
<entry>CamStudio lossless video codec (CSCD)</entry>
<entry>0efe97ce08bb0e40162ab15ef3b45615</entry>
<entry>sf.net/projects/camstudio</entry>
</row>
</tbody>
</tgroup>
</informaltable>
La première colonne contient le nom du codec qui soit être donné après le
paramètre <literal>codec</literal>, comme ceci: <option>-xvfwopts codec=divx.dll</option>.
Le code FourCC utilisé par chaque codec est donné entre parenthèse.
</para>
<informalexample>
<para>
Exemple de conversion d'une bande annonce DVD ISO en un fichier video flash VP6
en utilisant une configuration de débit compdata:
<screen>
mencoder -dvd-device <replaceable>zeiram.iso</replaceable> dvd://7 -o <replaceable>bande_annonce.flv</replaceable> \
-ovc vfw -xvfwopts codec=vp6vfw.dll:compdata=onepass.mcf -oac mp3lame \
-lameopts cbr:br=64 -af lavcresample=22050 -vf yadif,scale=320:240,flip \
-of lavf
</screen>
</para>
</informalexample>
</sect2>
<sect2 id="menc-feat-video-for-windows-bitrate-settings">
<title>Utilisation de vfw2menc pour créer un fichier de configuration de codec.</title>
<para>
Afin d'encoder avec les codecs Video for Windows, il vous faut paramétrer le débit
ainsi que d'autres options. Ceci fonctionne sur x86 sous *NIX et Windows.
</para>
<para>
En premier lieu, vous devez compiler le programme <application>vfw2menc</application>.
Il se trouve dans le sous-répertoire <filename class="directory">TOOLS</filename>
de l'arborescence des sources de MPlayer.
La compilation sous Linux peut se faire en utilisant <application>Wine</application>:
<screen>winegcc vfw2menc.c -o vfw2menc -lwinmm -lole32</screen>
Pour compiler sous Windows avec <application>MinGW</application> ou
<application>Cygwin</application> tapez:
<screen>gcc vfw2menc.c -o vfw2menc.exe -lwinmm -lole32</screen>
Pour compiler avec <application>MSVC</application> vous aurez besoin de getopt.
Getopt est trouvable dans l'archive d'origine de <application>vfw2menc</application> disponible
ici:
The <ulink url="http://oss.netfarm.it/mplayer-win32.php">MPlayer on win32</ulink> project.
</para>
<informalexample>
<para>
Ci-dessous un exemple avec le codec VP6.
<screen>
vfw2menc -f VP62 -d vp6vfw.dll -s premierepasse.mcf
</screen>
Ceci va ouvrir le fenêtre de dialolgue du codec VP6.
Il faut répéter cette étape pour la seconde passe
et utiliser <option>-s <replaceable>secondepasse.mcf</replaceable></option>.
</para>
</informalexample>
<para>
Les utilisateurs Windows peuvent utiliser
<option>-xvfwopts codec=vp6vfw.dll:compdata=dialog</option> pour faire
apparaître la boîte de dialogue avant que l'encodage ne commence.
</para>
</sect2>
</sect1>
<sect1 id="menc-feat-quicktime-7">
<title>Utiliser <application>MEncoder</application> pour créer
des fichiers compatibles <application>QuickTime</application></title>
<sect2 id="menc-feat-quicktime-7-why-use-it">
<title>Pourquoi produire des fichiers compatibles <application>QuickTime</application>?</title>
<para>
Il existe plusieurs raisons pour lesquelles il est souhaitable de produire des
fichiers compatibles <application>QuickTime</application>
</para>
<itemizedlist>
<listitem><para>
Vous souhaitez que n'importe quel utilisateur non expérimenté soit capable
de regarder votre vidéo sur les plateformes majeures (Windows, Mac OS X, Unices &hellip;).
</para></listitem>
<listitem><para>
<application>QuickTime</application> est capable de tirer plus
amplement profit des accélérations matérielles et logicielles
de Mac OS X que les lecteurs plus indépendant de la plateforme
comme <application>MPlayer</application> ou <application>VLC</application>.
Ainsi, vos vidéos ont plus de chance d'être jouées sans accros sur de
veilles machines basées sur des processeurs G4.
</para></listitem>
<listitem><para>
<application>QuickTime</application> 7 supporte la nouvelle génération de codecs: H.264,
qui clame une bien meilleure qualité d'image que la génération de codecs précédente
(MPEG-2, MPEG-4 &hellip;).
</para></listitem>
</itemizedlist>
</sect2>
<sect2 id="menc-feat-quicktime-7-constraints">
<title>Limitations de <application>QuickTime</application></title>
<para>
<application>QuickTime</application> 7 supporte la vidéo en H.264 et l'audio en AAC,
mais il ne les supporte pas multipléxés dans le format de container AVI.
Cependant, vous pouvez utiliser <application>MEncoder</application> pour encoder
la vidéo et l'audio, et ensuite utiliser un programme externe comme
<application>mp4creator</application> (appartenant à la
<ulink url="http://mpeg4ip.sourceforge.net/">suite MPEG4IP</ulink>)
pour remultiplexer les pistes vidéos et audios dans un container MP4.
</para>
<para>
Le support <application>QuickTime</application> du H.264 étant limité,
il vous faudra laisser tomber certaines options avancées.
Si vous encodez votre vidéo en utilisant des options que
<application>QuickTime</application> 7 ne supporte pas,
les lecteurs basés sur <application>QuickTime</application> afficheront
un joli écran blanc au lieu de la vidéo attendue.
</para>
<itemizedlist>
<listitem><para>
<emphasis role="bold">trames-B</emphasis>:
<application>QuickTime</application> 7 supporte un maximum d'une trame-B, i.e.
<option>-x264encopts bframes=1</option>. Ainsi,
<option>b_pyramid</option> et <option>weight_b</option> n'auront aucun
effet car ces options requierent que <option>bframes</option> soit supérieure à 1.
</para></listitem>
<listitem><para>
<emphasis role="bold">Macroblocs</emphasis>:
<application>QuickTime</application> 7 ne supporte pas les macroblocs de type 8x8 DCT.
Cette option (<option>8x8dct</option>) est désactivée par défaut,
donc soyez sûr de ne pas l'activer explicitement. Ceci signifie aussi que l'option
<option>i8x8</option> n'aura aucun effet, car elle nécessite l'option <option>8x8dct</option>.
</para></listitem>
<listitem><para>
<emphasis role="bold">Ratio d'aspect</emphasis>:
<application>QuickTime</application> 7 ne supporte pas l'information sur le SAR (l'échantillonage
de ratio d'aspect ou Sample Aspect Ratio) dans les fichiers MPEG-4; il suppose que SAR=1.
Lisez <link linkend="menc-feat-quicktime-7-scale"> la section sur le redimensionnement</link> pour une
parade à cette limitation.
</para></listitem>
</itemizedlist>
</sect2>
<sect2 id="menc-feat-quicktime-7-crop">
<title>Recadrage</title>
<para>
Supposons que vous voulez encoder votre DVD "Les chroniques de Narnia".
Votre DVD étant de région 1, il est en NTSC. L'exemple ci-dessous serait aussi
applicable au PAL, hormis qu'il faudrait omettre l'option <option>-ofps 24000/1001</option>
et utiliser des dimensions pour <option>crop</option> et <option>scale</option>
sensiblement différentes.
</para>
<para>
Aprés avoir lancé <option>mplayer dvd://1</option>, vous suivez la procédure
détaillée dans la section
<link linkend="menc-feat-telecine">Comment gérer le téléciné et le dés-entrelacement avec les DVDs NTSC</link>
et découvrez que c'est une vidéo progréssive en 24000/1001 image par seconde.
Ceci simplifie quelque peu la procédure, car nous n'avons pas besoin d'utliser un filtre téléciné inverse
comme <option>pullup</option> ou un filtre de désentrelacement comme
<option>yadif</option>.
</para>
<para>
Ensuite il faut rogner les bandes noires du haut et du bas de la vidéo,
comme détaillé dans la section précédente.
</para>
</sect2>
<sect2 id="menc-feat-quicktime-7-scale">
<title>Redimensionnement</title>
<para>
La prochaine étape à de quoi vous briser le coeur.
<application>QuickTime</application> 7 ne supporte pas les
vidéos MPEG-4 avec échantillonage du ratio d'aspect différent de 1,
de fait il vous faudra redimensionner à la hausse (ce qui gaspille
beaucoup d'espace disque) ou à la baisse (ce qui diminue le niveau
de détail de la source) la vidéo de façon à obtenir des pixels carrés.
D'une manière ou d'une autre, cette opération est très inéficace, mais
ne peut être evitée si vous souhaitez que votre vidéo soit lisible par
<application>QuickTime</application> 7.
<application>MEncoder</application> permet d'appliquer le redimensionnement
à la hausse ou à la baisse en spécifiant respectivement
<option>-vf scale=-10:-1</option> ou <option>-vf scale=-1:-10</option>.
Ces options vont redimensionner la vidéo à la bonne largeur pour la hauteur rognée,
arrondi au plus proche multiple de 16 pour une compression optimale.
Rappelez vous que si vous rognez, vous devez d'abord rogner et ensuite redimensionner:
<screen>-vf crop=720:352:0:62,scale=-10:-1</screen>
</para>
</sect2>
<sect2 id="menc-feat-quicktime-7-avsync">
<title>Synchronisation de l'audio et de la vidéo</title>
<para>
Parce que vous allez remultiplexer dans un container différent,
vous devriez toujours utiliser l'option <option>harddup</option>
afin de s'assurer que les trames dupliquées soient effectivement
dupliquées dans la vidéo de sortie. Sans cette option, <application>MEncoder</application>
placera simplement un marqueur dans la flux vidéo signalant qu'une trame
a été dupliquée, et délèguera au logiciel client l'initiative d'afficher
la même trame deux fois. Malheureusement, cette "duplication douce" ne survivant pas
au multiplexage, l'audio perdra lentement la synchronisation avec la vidéo.
</para>
<para>
La chaîne de filtre résultante a cette forme:
<screen>-vf crop=720:352:0:62,scale=-10:-1,harddup</screen>
</para>
</sect2>
<sect2 id="menc-feat-quicktime-7-bitrate">
<title>Débit</title>
<para>
Comme toujours, le choix du débit est aussi bien une question de propriétés techniques
de la source, comme expliqué
<link linkend="menc-feat-dvd-mpeg4-resolution-bitrate">ici</link>, qu'une
question de goût.
Dans ce film, il y a pas mal d'action et beaucoup de détails, mais le H.264
apparait plus beau que le XviD ou tout autre codec MPEG-4 à des débits moindres.
Après moultes expérimentations, l'auteur de ce guide a choisi d'encoder ce film à
900kbps, et pense que le résultat est joli.
Vous pouvez diminuer le débit si vous souhaitez sauver de la place,
ou l'augmenter si vous voulez améliorer la qualité.
</para>
</sect2>
<sect2 id="menc-feat-quicktime-7-example">
<title>Exemple d'encodage</title>
<para>
Vous êtes maintenant prêt à encoder la vidéo. Comme vous
tenez à la qualité, vous effectuerez un encodage en 2 passes, bien entendu.
Pour sauver un peu de temps d'encodage, vous pouvez spécifier
l'option <option>turbo</option> pour la première passe; cette option
réduit <option>subq</option> et <option>frameref</option> à 1.
Pour sauvegarder de l'espace disque vous pouvez utiliser l'option <option>ss</option>
afin d'enlever les toutes premières secondes de la vidéo.
(Je me suis aperçu que ce film a 32 secondes de générique et de logo.)
<option>bframes</option> peut être 0 ou 1.
Les autres options sont documentées dans <link
linkend="menc-feat-x264-encoding-options-speedvquality">Encodage avec
le codec <systemitem class="library">x264</systemitem></link> et la page
de man.
<screen>mencoder dvd://1 -o /dev/null -ss 32 -ovc x264 \
-x264encopts pass=1:turbo:bitrate=900:bframes=1:\
me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
-vf crop=720:352:0:62,scale=-10:-1,harddup \
-oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 \
-ofps 24000/1001</screen>
Si vous possédez une machine multi-processeur, ne manquez pas l'opportunité
d'augmenter grandement la vitesse d'encodage en activant
<link linkend="menc-feat-x264-encoding-options-speedvquality-threads">
le mode multi-thread du <systemitem class="library">x264</systemitem></link>
en ajoutant <option>threads=auto</option> à votre ligne de commande <option>x264encopts</option>.
</para>
<para>
La seconde passe est la même, excepté qu'il faut spécifier le fichier de sortie
et mettre <option>pass=2</option>.
<screen>mencoder dvd://1 <emphasis role="bold">-o narnia.avi</emphasis> -ss 32 -ovc x264 \
-x264encopts <emphasis role="bold">pass=2</emphasis>:turbo:bitrate=900:frameref=5:bframes=1:\
me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \
-vf crop=720:352:0:62,scale=-10:-1,harddup \
-oac faac -faacopts br=192:mpeg=4:object=2 -channels 2 -srate 48000 \
-ofps 24000/1001</screen>
</para>
<para>
L'AVI résultant doit être parfaitement lu
par <application>MPlayer</application>, mais bien entendu
<application>QuickTime</application> ne peut le lire
car il ne supporte pas le H.264 multiplexé dans de l'AVI.
De fait, la prochaine étape est de remultiplexer la vidéo dans
un container MP4.
</para>
</sect2>
<sect2 id="menc-feat-quicktime-7-remux">
<title>Remultiplexage en MP4</title>
<para>
Il existe différentes manières de remultiplexer des fichiers AVI en MP4.
Vous pouvez utiliser <application>mp4creator</application>, qui fait parti de la
<ulink url="http://mpeg4ip.sourceforge.net/">suite MPEG4IP</ulink>.
</para>
<para>
Premièrement, demultiplexez l'AVI en un flux audio et un flux vidéo séparés
en utilisant <application>MPlayer</application>.
<screen>mplayer narnia.avi -dumpaudio -dumpfile narnia.aac
mplayer narnia.avi -dumpvideo -dumpfile narnia.h264</screen>
Les noms de fichier sont important; <application>mp4creator</application>
nécessite que les flux audios AAC soient nommés <systemitem>.aac</systemitem>
et les flux vidéos H.264 soient nommés <systemitem>.h264</systemitem>.
</para>
<para>
Maintenant utilisez <application>mp4creator</application> pour créer
un nouveau fichier MP4 depuis les flux audio et vidéo.
<screen>mp4creator -create=narnia.aac narnia.mp4
mp4creator -create=narnia.h264 -rate=23.976 narnia.mp4</screen>
Contrairement à l'étape d'encodage, vous devez spécifier le nombre
d'image par seconde comme une valeur décimale (par exemple 23.976), et non
comme une valeur fractionnaire (par exemple 24000/1001).
</para>
<para>
Le fichier <systemitem>narnia.mp4</systemitem> devrait être lisible
par n'importe quelle application <application>QuickTime</application> 7,
comme le <application>lecteur QuickTime</application> ou
comme <application>iTunes</application>. Si vous planifiez de voir la
vidéo dans un navigateur Internet avec le plugin <application>QuickTime</application>,
vous devriez aussi renseigner le film de sorte que le plugin
<application>QuickTime</application> puisse commencer à le lire
pendant qu'il se télécharge. <application>mp4creator</application>
peut créer ces pistes de renseignement:
<screen>mp4creator -hint=1 narnia.mp4
mp4creator -hint=2 narnia.mp4
mp4creator -optimize narnia.mp4</screen>
Vous pouvez vérifier le résultat final pour vous assurer
que les pistes de renseignement ont été créées avec succès:
<screen>mp4creator -list narnia.mp4</screen>
Vous devriez voir une liste de pistes: 1 audio, 1 vidéo, et 2 pistes de renseignement
<screen>Track Type Info
1 audio MPEG-4 AAC LC, 8548.714 secs, 190 kbps, 48000 Hz
2 video H264 Main@5.1, 8549.132 secs, 899 kbps, 848x352 @ 23.976001 fps
3 hint Payload mpeg4-generic for track 1
4 hint Payload H264 for track 2
</screen>
</para>
</sect2>
<sect2 id="menc-feat-quicktime-7-metadata">
<title>Ajouter des tags de méta-données</title>
<para>
Si vous voulez ajouter des tags dans votre vidéo qui soient visible dans <application>iTunes</application>,
vous pouvez utiliser
<ulink url="http://atomicparsley.sourceforge.net/">AtomicParsley</ulink>.
<screen>AtomicParsley narnia.mp4 --metaEnema --title "The Chronicles of Narnia" --year 2005 --stik Movie --freefree --overWrite</screen>
L'option <option>--metaEnema</option> efface toutes meta-données existantes.
(<application>mp4creator</application> insère son nom dans le tag "encoding tool"),
et <option>--freefree</option> récupère l'espace libéré par les méta-données effacées.
L'option <option>--stik</option> paramétre le type de vidéo (tel que Film ou Show TV),
qu'<application>iTunes</application> utilise pour grouper des fichiers vidéos similaires.
L'option <option>--overWrite</option> écrase le fichier d'origine;
sans cette option, <application>AtomicParsley</application> créé un fichier automatiquement
nommé dans le même répertoire et laisse le fichier d'origine tel quel.
</para>
</sect2>
</sect1>
<sect1 id="menc-feat-vcd-dvd">
<title>Utiliser <application>MEncoder</application> pour créer des fichiers compatibles VCD/SVCD/DVD.</title>
<sect2 id="menc-feat-vcd-dvd-constraints">
<title>Contraintes de Format</title>
<para>
<application>MEncoder</application> est capable de créer des fichiers MPEG
aux formats VCD, SCVD et DVD en utilisant la bibliothèque
<systemitem class="library">libavcodec</systemitem>.
Ces fichiers peuvent ensuite être utilisés avec
<ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>
ou
<ulink url="http://dvdauthor.sourceforge.net/">dvdauthor</ulink>
pour créer des disques lisibles par une platine de salon standard.
</para>
<para>
Les formats DVD, SVCD, et VCD sont très contraignants.
Seule un faible nombre de résolutions et de formats d'image
sont acceptés.
Si votre film ne respecte pas ces conditions, vous devrez
redimensionner, recadrer ou ajouter des bords noirs à l'image pour
le rendre compatible.
</para>
<sect3 id="menc-feat-vcd-dvd-constraints-resolution">
<title>Contraintes de format</title>
<informaltable frame="all">
<tgroup cols="9">
<thead>
<row>
<entry>Format</entry>
<entry>Résolution</entry>
<entry>Codec vidéo</entry>
<entry>débit vidéo en kbit/s</entry>
<entry>Taux d'échantillonnage</entry>
<entry>Codec audio</entry>
<entry>débit audio en kbit/s</entry>
<entry>images par seconde</entry>
<entry>format d'image</entry>
</row>
</thead>
<tbody>
<row>
<entry>NTSC DVD</entry>
<entry>720x480, 704x480, 352x480, 352x240</entry>
<entry>MPEG-2</entry>
<entry>9800</entry>
<entry>48000 Hz</entry>
<entry>AC-3,PCM</entry>
<entry>1536 (max)</entry>
<entry>30000/1001, 24000/1001</entry>
<entry>4:3, 16:9 (seulement pour 720x480)</entry>
</row>
<row>
<entry>NTSC DVD</entry>
<entry>352x240<footnote id='fn-rare-resolutions'><para>
Ces résolutions sont rarement utilisées pour les DVDs
parce qu'elles sont d'assez basse qualité.</para></footnote></entry>
<entry>MPEG-1</entry>
<entry>1856</entry>
<entry>48000 Hz</entry>
<entry>AC-3,PCM</entry>
<entry>1536 (max)</entry>
<entry>30000/1001, 24000/1001</entry>
<entry>4:3, 16:9</entry>
</row>
<row>
<entry>NTSC SVCD</entry>
<entry>480x480</entry>
<entry>MPEG-2</entry>
<entry>2600</entry>
<entry>44100 Hz</entry>
<entry>MP2</entry>
<entry>384 (max)</entry>
<entry>30000/1001</entry>
<entry>4:3</entry>
</row>
<row>
<entry>NTSC VCD</entry>
<entry>352x240</entry>
<entry>MPEG-1</entry>
<entry>1150</entry>
<entry>44100 Hz</entry>
<entry>MP2</entry>
<entry>224</entry>
<entry>24000/1001, 30000/1001</entry>
<entry>4:3</entry>
</row>
<row>
<entry>PAL DVD</entry>
<entry>720x576, 704x576, 352x576, 352x288</entry>
<entry>MPEG-2</entry>
<entry>9800</entry>
<entry>48000 Hz</entry>
<entry>MP2,AC-3,PCM</entry>
<entry>1536 (max)</entry>
<entry>25</entry>
<entry>4:3, 16:9 (seulement pour 720x576)</entry>
</row>
<row>
<entry>PAL DVD</entry>
<entry>352x288<footnoteref linkend='fn-rare-resolutions'/></entry>
<entry>MPEG-1</entry>
<entry>1856</entry>
<entry>48000 Hz</entry>
<entry>MP2,AC-3,PCM</entry>
<entry>1536 (max)</entry>
<entry>25</entry>
<entry>4:3, 16:9</entry>
</row>
<row>
<entry>PAL SVCD</entry>
<entry>480x576</entry>
<entry>MPEG-2</entry>
<entry>2600</entry>
<entry>44100 Hz</entry>
<entry>MP2</entry>
<entry>384 (max)</entry>
<entry>25</entry>
<entry>4:3</entry>
</row>
<row>
<entry>PAL VCD</entry>
<entry>352x288</entry>
<entry>MPEG-1</entry>
<entry>1152</entry>
<entry>44100 Hz</entry>
<entry>MP2</entry>
<entry>224</entry>
<entry>25</entry>
<entry>4:3</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
Si votre film est au format 2,35:1 (la plupart des films d'action récents), vous
devrez ajouter des bords noirs ou recadrer le film en 16:9
pour faire un DVD ou un VCD.
Si vous ajoutez des bords noirs, essayez qu'ils soient d'une épaisseur multiple
de 16 de façon à minimiser l'impact sur la performance d'encodage.
Le DVD a heureusement un débit suffisamment élevé pour que vous n'ayez pas trop
à vous inquiéter pour l'efficacité de l'encodage, par contre, le SVCD et le VCD
sont très limités en débit et demandent des efforts pour obtenir
une qualité acceptable.
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-constraints-gop">
<title>Contraintes de Taille GOP</title>
<para>
Les DVD, VCD, et SVCD vous contraignent aussi à des tailles relativement basses
de GOP (Group of Pictures ou "Groupe d'Images").
Pour des vidéo à 30 images par secondes, la plus large taille de GOP permise est 18.
Pour 25 ou 24 images par secondes, le maximum est 15.
La taille du GOP est réglée en utilisant l'option <option>keyint</option>.
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-constraints-bitrate">
<title>Contraintes de débit</title>
<para>
Le format VCD requière que le débit de votre vidéo soit constant (CBR) à 1152 kbit/s.
A cette forte contrainte, il faut ajouter la très petite taille de la mémoire
tampon VBV: 327 kbits.
Le SVCD autorise des débits vidéo variables jusqu'à 2500 kbit/s et une taille
de mémoire tampon VBV légèrement moins restrictive de 917 kbits.
Les débits vidéo DVD peuvent aller jusqu'à 9800 kbit/s
(bien que les débits typiques soient d'à peu près la moitié) et la taille
de la mémoire tampon VBV est de 1835 kbits.
</para>
</sect3>
</sect2>
<sect2 id="menc-feat-vcd-dvd-output">
<title>Options de sortie</title>
<para>
<application>MEncoder</application> a des options de contrôle du format
de sortie.
En utilisant ces options nous pouvons lui dire de créer le type
de fichier correct.
</para>
<para>
Les options pour le VCD et le SVCD sont appelées xvcd et xsvcd, parce que ce
sont des formats étendus.
Elles ne sont pas strictement conformes, principalement parce que la sortie
ne contient pas de décalages de scan.
Si vous avez besoin de générer une image SVCD, vous devriez passer le fichier
de sortie à <ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>.
</para>
<para>
VCD:
<screen>
-of mpeg -mpegopts format=xvcd
</screen>
</para>
<para>
SVCD:
<screen>
-of mpeg -mpegopts format=xsvcd
</screen>
</para>
<para>
DVD(avec estampille temporelle sur chaque image si possible):
<screen>
-of mpeg -mpegopts format=dvd:tsaf
</screen>
</para>
<para>
DVD avec pullup NTSC:
<screen>
-of mpeg -mpegopts format=dvd:tsaf:telecine -ofps 24000/1001
</screen>
Ceci permet au contenu progressif à 24000/1001 images par secondes d'être encodé à
30000/1001 images par secondes tout en restant avec le format DVD.
</para>
<sect3 id="menc-feat-vcd-dvd-output-aspect">
<title>Format d'image</title>
<para>
L'argument <option>aspect</option> de <option>-lavcopts</option> est utilisé
pour encoder le format d'image du fichier.
Durant la lecture le format d'image est utilisé pour redonner à la vidéo
la taille correcte.
</para>
<para>
16:9 ou "Écran Large"
<screen>
-lavcopts aspect=16/9
</screen>
</para>
<para>
4:3 ou "Plein Écran"
<screen>
-lavcopts aspect=4/3
</screen>
</para>
<para>
2,35:1 ou NTSC "Cinémascope"
<screen>
-vf scale=720:368,expand=720:480 -lavcopts aspect=16/9
</screen>
Pour calculer la taille de dimensionnement correcte, utilisez la largeur
étendue NTSC de 854/2,35 = 368
</para>
<para>
2,35:1 ou PAL "Cinémascope"
<screen>
-vf scale="720:432,expand=720:576 -lavcopts aspect=16/9
</screen>
Pour calculer la taille de dimensionnement correcte, utilisez la largeur
étendue PAL de 1024/2,35 = 432
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-a-v-sync">
<title>Maintient de la synchronisation A/V</title>
<para>
Afin de maintenir la synchronisation audio/video lors de l'encodage,
<application>MEncoder</application> doit dupliquer ou effacer des images.
Cela marche plutôt bien lor du multiplexage dans un fichier AVI
mais il est pratiquement garanti d'échouer à maintenir la synchronisation A/V
avec d'autres conteneurs tel que le MPEG.
C'est pourquoi il est nécessaire d'ajouter le filtre vidéo <option>harddup</option>
à la fin de la chaîne de filtre pour éviter ce type de problème.
Vous pouvez trouver plus de détails techniques sur <option>harddup</option>
dans la section
<link linkend="menc-feat-dvd-mpeg4-muxing-filter-issues">Améliorer la fiabilité du multiplexage et de la synchronisation Audio/Video</link>
ou dans le manuel.
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-output-srate">
<title>Conversion du Taux d'échantillonnage</title>
<para>
Si le taux d'échantillonnage de l'audio du fichier original n'est pas le même
que celui demandé par le format cible, la conversion du taux d'échantillonnage
est nécessaire.
Ceci est réalisé en utilisant ensemble l'option <option>-srate</option> et le
filtre audio <option>-af lavcresample</option>.
</para>
<para>
DVD:
<screen>
-srate 48000 -af lavcresample=48000
</screen>
</para>
<para>
VCD et SVCD:
<screen>
-srate 44100 -af lavcresample=44100
</screen>
</para>
</sect3>
</sect2>
<sect2 id="menc-feat-vcd-dvd-lavc">
<title>Utiliser libavcodec pour l'encodage VCD/SVCD/DVD</title>
<sect3 id="menc-feat-vcd-dvd-lavc-intro">
<title>Introduction</title>
<para>
<systemitem class="library">libavcodec</systemitem> peut être utilisé pour créer
des vidéos compatibles avec les standards VCD/SVCD/DVD en utilisant les options appropriées.
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-lavc-options">
<title>lavcopts</title>
<para>
Ceci est une liste de champs de <option>-lavcopts</option> que
vous pourriez avoir besoin de changer si vous voulez faire
un film compatible VCD, SVCD, ou DVD:
</para>
<itemizedlist>
<listitem><para>
<emphasis role="bold">acodec</emphasis>:
<option>mp2</option> pour le VCD, le SVCD, ou le DVD PAL;
<option>ac3</option> est plus communément utilisé pour le DVD.
L'audio PCM peut aussi être utilisé pour le DVD, mais c'est principalement
une grande perte d'espace.
Notez que l'audio MP3 n'est compatible avec aucun de ces formats, cependant
les lecteurs n'ont souvent aucun problème pour les jouer.
</para></listitem>
<listitem><para>
<emphasis role="bold">abitrate</emphasis>:
(débit audio) 224 pour le VCD; jusqu'à 384 pour le SVCD; jusqu'à 1536 pour le DVD, mais
utilise communément une gamme de valeurs de 192 kbit/s pour le stéréo à
384 kbit/s pour le son canaux 5.1.
</para></listitem>
<listitem><para>
<emphasis role="bold">vcodec</emphasis>:
<option>mpeg1video</option> pour le VCD;
<option>mpeg2video</option> pour le SVCD;
<option>mpeg2video</option> est habituellement utilisé pour le DVD mais on peut
aussi utiliser <option>mpeg1video</option> pour des résolutions CIF.
</para></listitem>
<listitem><para>
<emphasis role="bold">keyint</emphasis>:
Utilisé pour régler la taille du GOP.
18 pour les vidéo à 30 images par secondes, ou 15 pour les vidéos à 25/24 images par secondes.
Les producteurs commerciaux semblent préférer des intervalles entre images clés de 12.
Il est possible d'augmenter cette valeur et de rester compatible avec la
plupart des lecteurs.
Un <option>keyint</option> de 25 ne devrait jamais causer de problèmes.
</para></listitem>
<listitem><para>
<emphasis role="bold">vrc_buf_size</emphasis>:
327 pour le VCD, 917 pour le SVCD, et 1835 pour le DVD.
</para></listitem>
<listitem><para>
<emphasis role="bold">vrc_minrate</emphasis>:
1152, pour le VCD. Peut être laissé de côté pour le SVCD et le DVD.
</para></listitem>
<listitem><para>
<emphasis role="bold">vrc_maxrate</emphasis>:
1152 pour le VCD; 2500 pour le SVCD; 9800 pour le DVD.
Pour le SVCD et le DVD, vous pourriez vouloir utiliser des valeurs plus
basses selon vos préférences et contraintes personnelles.
</para></listitem>
<listitem><para>
<emphasis role="bold">vbitrate</emphasis>:
(débit vidéo) 1152 pour le VCD;
jusqu'à 2500 pour le SVCD;
jusqu'à 9800 pour le DVD.
Pour les deux derniers formats, les valeurs de vbitrate devrait être réglées
selon vos goûts.
Par exemple, si vous voulez vraiment faire tenir 20 heures ou plus sur un DVD,
vous pouvez utiliser vbitrate=400.
La qualité de la vidéo résultante sera probablement assez mauvaise.
Si vous essayez d'avoir la qualité maximum possible sur un DVD, utilisez
vbitrate=9800, mais sachez que cela pourrait vous forcer
à ne stocker que moins d'une heure de vidéo sur un DVD simple couche.
</para></listitem>
</itemizedlist>
</sect3>
<sect3 id="menc-feat-vcd-dvd-lavc-examples">
<title>Exemples</title>
<para>
Ceci est un paramétrage typique minimal de <option>-lavcopts</option> pour
encoder une vidéo:
</para>
<para>
VCD:
<screen>
-lavcopts vcodec=mpeg1video:vrc_buf_size=327:vrc_minrate=1152:\
vrc_maxrate=1152:vbitrate=1152:keyint=15:acodec=mp2
</screen>
</para>
<para>
SVCD:
<screen>
-lavcopts vcodec=mpeg2video:vrc_buf_size=917:vrc_maxrate=2500:vbitrate=1800:\
keyint=15:acodec=mp2
</screen>
</para>
<para>
DVD:
<screen>
-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\
keyint=15:acodec=ac3
</screen>
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-lavc-advanced">
<title>Options Avancées</title>
<para>
Pour une qualité d'encodage plus élevée, vous pouvez aussi souhaiter ajouter
des options d'amélioration de qualité à lavcopts, comme <option>trell</option>,
<option>mbd=2</option> et autres.
Notez que, bien que <option>qpel</option> et <option>v4mv</option> soient souvent
utile avec le MPEG-4, elles ne sont pas utilisables avec MPEG-1 ou MPEG-2.
Aussi, si vous essayez de créer un encodage DVD de très haute qualité,
il peut être utile d'ajouter <option>dc=10</option> à lavcopts.
Le faire peut aider à réduire l'apparition de blocs dans les zones de faible
variations de couleurs.
Pour résumer, la ligne suivante est un exemple de paramétrage de lavcopts
pour un DVD de haute qualité:
</para>
<para>
<screen>
-lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=8000:\
keyint=15:trell:mbd=2:precmp=2:subcmp=2:cmp=2:dia=-10:predia=-10:cbp:mv0:\
vqmin=1:lmin=1:dc=10
</screen>
</para>
</sect3>
</sect2>
<sect2 id="menc-feat-vcd-dvd-audio">
<title>Encodage Audio</title>
<para>
Le VCD et SVCD supportent l'audio MPEG-1 layer II, en utilisant un des
encodeurs MP2 <systemitem class="library">toolame</systemitem>,
<systemitem class="library">twolame</systemitem>,
ou <systemitem class="library">libavcodec</systemitem>.
Le MP2 libavcodec est loin d'être aussi bon que les deux autres bibliothèques,
cependant il devrait toujours être disponible en utilisation.
Le VCD ne supporte que l'audio avec un débit constant (CBR) alors que le SVCD
supporte aussi le débit variable (VBR).
Soyez prudents lors de l'utilisation du VBR car certains mauvais lecteurs
pourraient ne pas trop bien le supporter.
</para>
<para>
Pour l'audio DVD, le codec AC-3 de <systemitem class="library">libavcodec</systemitem>
est utilisé.
</para>
<sect3 id="menc-feat-vcd-dvd-audio-toolame">
<title>toolame</title>
<para>
Pour un VCD et un SVCD:
<screen>
-oac toolame -toolameopts br=224
</screen>
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-audio-twolame">
<title>twolame</title>
<para>
Pour un VCD et un SVCD:
<screen>
-oac twolame -twolameopts br=224
</screen>
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-audio-lavc">
<title>libavcodec</title>
<para>
Pour un DVD avec un son 2 canaux:
<screen>
-oac lavc -lavcopts acodec=ac3:abitrate=192
</screen>
</para>
<para>
Pour un DVD avec un son 5,1 canaux:
<screen>
-channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384
</screen>
</para>
<para>
Pour un VCD et un SVCD:
<screen>
-oac lavc -lavcopts acodec=mp2:abitrate=224
</screen>
</para>
</sect3>
</sect2>
<sect2 id="menc-feat-vcd-dvd-all">
<title>Combiner le tout</title>
<para>
Cette section présente certaines commandes complètes pour créer des vidéos
compatibles VCD/SVCD/DVD.
</para>
<sect3 id="menc-feat-vcd-dvd-all-pal-dvd">
<title>DVD PAL</title>
<para>
<screen>
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:576,\
harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:\
vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:acodec=ac3:\
abitrate=192:aspect=16/9 -ofps 25 \
-o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
</screen>
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-all-ntsc-dvd">
<title>DVD NTSC</title>
<para>
<screen>
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -vf scale=720:480,\
harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:\
vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=18:acodec=ac3:\
abitrate=192:aspect=16/9 -ofps 30000/1001 \
-o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
</screen>
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-all-pal-ac3-copy">
<title>AVI PAL Contenant Audio AC-3 vers DVD</title>
<para>
Si la source a déjà l'audio en AC-3, utilisez <option>-oac copy</option> au lieu de la réencoder.
<screen>
mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf -vf scale=720:576,\
harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:\
vbitrate=5000:keyint=15:aspect=16/9 -ofps 25 \
-o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
</screen>
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-all-ntsc-ac3-copy">
<title>AVI NTSC Contenant Audio AC-3 vers DVD</title>
<para>
Si la source a déjà l'audio en AC-3, et est en NTSC @ 24000/1001 fps:
<screen>
mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf:telecine \
-vf scale=720:480,harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:\
vrc_maxrate=9800:vbitrate=5000:keyint=15:aspect=16/9 -ofps 24000/1001 \
-o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
</screen>
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-all-pal-svcd">
<title>SVCD PAL</title>
<para>
<screen>
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917:vrc_minrate=600:\
vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \
-o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
</screen>
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-all-ntsc-svcd">
<title>SVCD NTSC</title>
<para>
<screen>
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \
scale=480:480,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg2video:mbd=2:keyint=18:vrc_buf_size=917:vrc_minrate=600:\
vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \
-o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
</screen>
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-all-pal-vcd">
<title>VCD PAL</title>
<para>
<screen>
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:vbitrate=1152:\
vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 25 \
-o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
</screen>
</para>
</sect3>
<sect3 id="menc-feat-vcd-dvd-all-ntsc-vcd">
<title>VCD NTSC</title>
<para>
<screen>
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:vbitrate=1152:\
vrc_maxrate=1152:acodec=mp2:abitrate=224:aspect=16/9 -ofps 30000/1001 \
-o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
</screen>
</para>
</sect3>
</sect2>
</sect1>
</chapter>