mirror of
https://github.com/mpv-player/mpv
synced 2024-12-22 06:42:03 +00:00
6d5e3fe12f
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27570 b3059339-0415-0410-9bf9-f77b7e298cf2
5402 lines
220 KiB
XML
5402 lines
220 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 ("DivX") de bonne qualité à partir d'un DVD</title>
|
|
|
|
<para>
|
|
Il y a une question qui revient souvent :"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 en entier ? Bien sûr, votre AVI finira par faire 5Gb,
|
|
mais si vous voulez la meilleure qualité, sans 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 role="bold">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 est sûrement a largement assez puissant,
|
|
tandis que 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 échantillonné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 échantillonné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">Trame impaire</entry>
|
|
<entry namest="col9" nameend="col16">Trame paire</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 échantillonné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 perdre quelques pixels,
|
|
alors vous devriez plutôt 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 (1000 bits) 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 à
|
|
200 kbit/sec n'aura pas la même qualité que le même film en 640x480 à
|
|
800 kbit/sec ! A cela, deux raisons :
|
|
<orderedlist>
|
|
<listitem><para>
|
|
<emphasis role="bold">Visuelle</emphasis> : Les artefacts de
|
|
compression MPEG se remarquent plus s'il sont agrandis.
|
|
Les artefacts apparaissent à l'échelle des blocs (8x8). L'oeil humain ne
|
|
voit pas autant d'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 le domaine fréquentiel, 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 le domaine fréquentiel (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 à 400 kbit/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 constantes.
|
|
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 MPEG-4 AVC comme <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 les
|
|
<link linkend="menc-feat-x264-example-settings">options avancées de
|
|
<systemitem class="library">x264</systemitem>
|
|
</link>.
|
|
</para>
|
|
|
|
<para>
|
|
Notez que le CQ n'est qu'un indicateur puisqu'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 supérieur 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> avec
|
|
<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.
|
|
Si vous n'avez jamais entendu parler de mode "3 passes", oubliez que cela a
|
|
été mentioné !
|
|
</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, un CD/DVD ou autre 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 — de typiquement 40-60% — 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 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 aux 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
|
|
"une vidéo NTSC à 30000/1001 images par secondes."
|
|
</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 "soft-telecine"
|
|
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 "clignoter": 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 "soft-telecine"
|
|
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 "hard-telecine". 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 "le 30000/1001 images par seconde NTSC" et
|
|
"le 24000/1001 images par secondes NTSC progressif".
|
|
Regardez les messages de <application>MPlayer</application> pour voir ces messages.
|
|
</para>
|
|
|
|
<para>
|
|
Vous devriez aller voir la section "30000/1001 images par seconde NTSC" 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 "mélange de progressive et télécinée" 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 "deviner" 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> et <option>mplayer -vf help</option>
|
|
pour voir lesquels sont
|
|
disponibles (selectionnez les lignes contenant "deint" 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 "Mélange de progressive et télécinée".
|
|
|
|
<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
|
|
"retour en arrière" 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 ("luminosité") et la chrominance ("couleur")
|
|
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 μ-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 les plans de luminance et
|
|
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 "Notch"
|
|
:</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 -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \
|
|
-lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=1 \
|
|
-vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2
|
|
</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 -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \
|
|
-lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=2 \
|
|
-vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2
|
|
</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</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 <replaceable>Harry_Potter_2.avi</replaceable> -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 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 est facteur d'erreur :
|
|
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 peut être obtenu 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 …).
|
|
</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 offre une bien meilleure qualité d'image que la génération de
|
|
codecs précédente (MPEG-2, MPEG-4 …).
|
|
</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>
|