mirror of https://github.com/mpv-player/mpv
4483 lines
187 KiB
XML
4483 lines
187 KiB
XML
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!-- synced with 1.47 -->
|
|
<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 est fréquemment demandé:"Comment puis-je recopier un DVD avec la meilleure
|
|
qualité possible pour une taille donnée ?". Ou encore:"Comment puis-je recopier
|
|
un DVD sur mon disque dur avec la meilleure qualité possible ? je m'en fiche de
|
|
la taille du ficher, je veux la meilleure qualité?"
|
|
</para>
|
|
|
|
<para>
|
|
Cette dernière question est peut-être un peu mal posée. Après tout, si vous ne vous
|
|
souciez pas de la taille du fichier, pourquoi ne pas simplement copier le
|
|
flux MPEG-2 du DVD entier ? Bien sûr, votre AVI finira par faire 5Gb, mais
|
|
si vous voulez la meilleure qualité et ne vous souciez pas 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://mplayerhq.hu/homepage/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 uniuement le formatage pour
|
|
être passé sur une télévision et cela ne correspond souvent pas 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 aur 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 de variés 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, tout 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 "pulldown", parmi lesquels l'infâme
|
|
NTSC "3:2 telecine" en est une variété.
|
|
A moins que la vidéo source ne soit déjà basée sur des trames (au bon nombre par seconde),
|
|
vous devez transformer le 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 sont 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 montré
|
|
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 petre montrée dans l'en-tête de cette image.
|
|
Si cette méthode est utilisée, on dit que le film est "soft-téléciné"
|
|
puisque le procédé impose uniquement au lecteur DVD d'appliquer le pulldown sur le film
|
|
plutôt que d'altérer le film lui-même.
|
|
Ce cas est de loin préférable puisqu'il peut être facilement inversé
|
|
(en fait, ignoré) par l'encodeur et puisqu'il préserve la qualité au maximum.
|
|
Malgré cela, beaucoup de studios de production de DVD et d'émission n'utilisent pas
|
|
les techniques d'encodage correctes, au lieu de cela, elles produisent des films en "hard telecine"
|
|
dans lesquels des trames sont dupliquées dans l'encodage MPEG-2.
|
|
</para>
|
|
<para>
|
|
Les étapes pour gérer correctement ce genre de cas seront évoquées <link
|
|
linkend="menc-feat-telecine">plus tard dans ce guide</link>.
|
|
Pour l'instant, nous allons vous donner quelques indications pour définir à quel type
|
|
source vous avez à faire :
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<title>Régions NTSC:</title>
|
|
<listitem><para>
|
|
Si <application>MPlayer</application> affiche que le nombre d'image a changé en
|
|
24000/1001 quand vous regardez votre film et qu'il ne change plus après cela, c'est
|
|
presque certainement un contenu progressif qui a été "soft téléciné".
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Si <application>MPlayer</application> affiche un nombre d'images par seconde alternant
|
|
entre 24000/1001 et 30000/1001 et que vous voyez un effet de peigne par moment, alors
|
|
il y a plusieurs possibilités.
|
|
Les segments en 24000/1001 images par seconde sont très certainement un contenu progressif,
|
|
"soft teleciné" mais les parties en 30000/1001 images par secondes peuvent être soit
|
|
un contenu en 24000/1001 images par seconde "hard-telecinées", soit une vidéo NTSC en
|
|
60000/1001 trames par seconde.
|
|
Utilisez les mêmes conseils que ceux pour les deux cas qui suivent pour savoir lequel.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Si <application>MPlayer</application> montre un nombre d'images par seconde constant
|
|
et que chacune des images des scènes de mouvement souffre d'un effet de peigne, alors
|
|
votre film est une vidéo NTSC à 60000/1001 trames par seconde.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Si <application>MPlayer</application> montre un nombre d'images par seconde constant
|
|
et que deux images sur cinq souffrent d'un effet de peigne, votre film est "hard téléciné"
|
|
en 24000/1001 images par seconde.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>Régions PAL:</title>
|
|
<listitem><para>
|
|
Si vous ne voyez jamais d'effet de peigne, le film est en pulldown 2:2.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Si vous voyez un effet de peigne apparaissant et disparaissant
|
|
toutes les demi-secondes, alors le film a subi un pulldown 2:2:2:2:2:2:2:2:2:2:2:3.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Si vous voyez toujours un effet de peigne dans les scènes de mouvement,
|
|
alors le film est en PAL à 50 trames par secondes.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
|
|
<note><title>Astuce:</title>
|
|
<para>
|
|
<application>MPlayer</application> peut ralentir la lecture d'un film en utilisant
|
|
l'option <option>-speed</option> ou le jouer image par image.
|
|
Essayer <option>-speed 0.2</option> afin de regarder le film
|
|
très lentement ou presser la touche "<keycap>.</keycap>" répététivement pour avancer
|
|
image par image et ainsi identifier la "signature" du pulldown si
|
|
celle-ci n'est pas visible à vitesse normale.
|
|
</para>
|
|
</note>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-2pass">
|
|
<title>Quantificateur constant contre multipasse</title>
|
|
|
|
<para>
|
|
Il est possible d'encoder votre film à de très différentes qualités.
|
|
Avec un encodeurs vidéo modernes et quelques compression pré-codec
|
|
(antibruit et redimensionnement) il est possible d'obtenir une
|
|
trés bonne qualité pour un film grand écran de 90-110 minutes sur 700Mb.
|
|
De plus, à part les plus longs, tous les films peuvent être encodés
|
|
à une qualité presque parfaite sur 1400Mb.
|
|
</para>
|
|
|
|
<para>
|
|
Il y a trois approches possibles pour encoder une vidéo: débit constant
|
|
(CBR), quantification constante, et multipasse (ABR (pour average bitrate
|
|
ou débit moyen).
|
|
</para>
|
|
|
|
<para>
|
|
La complexité des images d'un film et donc le nombre de bits requis pour
|
|
les compresser peut varier grandement d'une scène à l'autre.
|
|
Les encodeurs vidéos modernes peuvent s'ajuster à ces besoins en faisant
|
|
varier le débit.
|
|
Cependant, dans des modes simples comme le CBR, le compresseur ne connaît
|
|
pas le besoin en débit pour les scènes à venir et ne peut donc pas excéder
|
|
le débit moyen requis pour de longues portions du film.
|
|
Des modes plus avancés, comme l'encodage multipasse peuvent prendre
|
|
en compte les statistiques des passes précédentes, ce qui règle le
|
|
problème ci-dessus.
|
|
</para>
|
|
|
|
<note><title>Note:</title>
|
|
<para>
|
|
La plupart des codecs qui supportent la compression ABR supportent seulement deux
|
|
passages alors que d'autres comme le <systemitem class="library">x264</systemitem>,
|
|
le <systemitem class="library">XviD</systemitem> et le
|
|
<systemitem class="library">libavcodec</systemitem> supportent le multipasse
|
|
ce qui améliore légèrement la qualité à chaque passe même si ces améliorations
|
|
ne sont plus visibles ou mesurables après environ la quatrième passe.
|
|
Ainsi, dans cette section, deux passes et multipasse seront utilisés indifféremment.
|
|
</para>
|
|
</note>
|
|
|
|
<para>
|
|
Dans chacun de ces modes, le codec vidéo (tel que
|
|
<systemitem class="library">libavcodec</systemitem>)
|
|
sépare les images vidéo en macroblocs de 16x16 pixels et applique ensuite
|
|
un quantificateur sur chaque macrobloc. Plus le quantificateur est bas, meilleure
|
|
est la qualité et plus le débit est grand. La méthode utilisée par
|
|
l'encodeur pour déterminer quel quantificateur utiliser pour un macrobloc donné
|
|
varie et est très configurable. (ceci est une simplification
|
|
à l'extrême du processus, mais il est utile de comprendre le principe de base).
|
|
</para>
|
|
|
|
<!-- FIXME -->
|
|
<para>
|
|
Lorsque vous spécifiez un débit constant, le codec vidéo encode la vidéo
|
|
en excluant les détails autant qu'il le faut et aussi peu que possible
|
|
de façon à rester en dessous du débit spécifié.
|
|
Si la taille du fichier vous est vraiment égale, vous pourriez aussi bien
|
|
fixer un débit constant infini (en pratique, dela signifie une valeur assez
|
|
haute pour ne pas poser de limites, tel que 10000Kbit). Sans réelle
|
|
restriction de débit, le codec utilisera le plus
|
|
bas quantificateur possible pour chaque macrobloc (tel que spécifié par
|
|
<option>vqmin</option> pour <systemitem class="library">libavcodec</systemitem>,
|
|
qui vaut 2 par défaut). Dès que vous spécifiez un débit suffisament bas pour
|
|
que le codec soit forcé d'utiliser un quantificateur plus grand, vous ruinez
|
|
très certainement la qualité votre vidéo. Pour éviter ça, vous devriez probablement
|
|
réduire la résolution de votre vidéo en suivant la méthode décrite plus tard
|
|
dans ce guide.En général, vous devriez éviter le CBR si vous vous souciez de
|
|
la qualité.
|
|
</para>
|
|
|
|
<para>
|
|
Avec un quantificateur constant, le codec utilise
|
|
le même quantificateur (spécifié par l'option <option>vqscale</option> pour
|
|
<systemitem class="library">libavcodec</systemitem>) sur chaque macrobloc.
|
|
Si vous voulez un encodage de la meilleure qualité possible, cette fois encore
|
|
en ignorant le débit, vous pouvez utiliser <option>vqscale=2</option>. Cela
|
|
donnera le même débit et le même PSNR (Peak Signal-to-Noise Ratio, rapport signal
|
|
sur bruit de crête) que le CBR avec <option>vbitrate</option>=infini et la valeur
|
|
par défaut de <option>vqmin</option> : 2.
|
|
</para>
|
|
|
|
<para>
|
|
Le problème avec la quantification constante est que cela utilise le quantificateur
|
|
spécifié que le macrobloc en ait besoin ou non. En fait, il doit être possible
|
|
d'utiliser un quantificateur plus haut sur un macrobloc sans sacrifier la
|
|
qualité visuelle. Pourquoi gaspiller les bits avec un quantificateur inutilement
|
|
bas ? Votre microprocesseur a assez de ressources car il a le temps, mais votre
|
|
disque lui a une taille limitée.
|
|
</para>
|
|
|
|
<para>
|
|
Avec l'encodage deux passes, la première passe va encoder le film comme
|
|
en CBR, mais va garder un journal des propriétés de chaque image. Ces données
|
|
sont ensuite utilisées pendant la seconde passe de façon à choisir intelligemment
|
|
quels quantificateurs utiliser. Lors des scènes d'action rapide ou celles ayant
|
|
beaucoup de détails, des quantificateurs plus élevés seront probablement utilisés.
|
|
Pendant les scènes avec peu de mouvements ou avec peu de détails, ce sera
|
|
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 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)" (une espèce de
|
|
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,
|
|
il y a toujours un minimum de macroblocs impliqués.
|
|
</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>
|
|
Pour toutes ces raisons, il est préférable de couper entièrement ces bandes
|
|
noires. Dans la même optique, s'il y a une partie contenant du bruit ou de la
|
|
distorsion d'image près d'une bordure, la coupure l'enlèvera et permettra d'avoir
|
|
une amélioration significative de la qualité de l'encodage. Les puristes parmi les vidéophiles
|
|
souhaiteront préserver l'encodage le plus proche possible de
|
|
l'original, à moins qu'ils n'encodent avec un quantificateur constant, la qualité
|
|
gagnée après la suppression des bandes noires améliorera grandement la qualité
|
|
finale de l'encodage au regard des quelques informations perdues.
|
|
</para>
|
|
</sect2>
|
|
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-crop">
|
|
<title>Découpage et Redimensionnement</title>
|
|
|
|
<para>
|
|
Vous vous souvenez de la section précédente que les dimensions (à la fois largeur et hauteur)
|
|
de l'image finale doivent être des
|
|
multiples de 16. Cela peut être réalisé par recadrage (découpe),
|
|
redimensionnement ou une combinaison des deux.
|
|
</para>
|
|
|
|
<para>
|
|
Lors du recadrage, il y a quelques règles qui doivent être respectées pour éviter
|
|
d'endommager votre film.
|
|
Le format YUV normal, 4:2:0, stocke la chrominance (la couleur) de manière
|
|
sous-échantillonnée, c'est à dire que la chrominance est échantillonée moitié moins
|
|
souvent que la luminance (intensité). Sur le schéma suivant, L indique l'échantillonage en luminance et C en chrominance.
|
|
</para>
|
|
|
|
<informaltable>
|
|
<?dbhtml table-width="40%" ?>
|
|
<?dbfo table-width="40%" ?>
|
|
<tgroup cols="8" align="center">
|
|
<colspec colnum="1" colname="col1"/>
|
|
<colspec colnum="2" colname="col2"/>
|
|
<colspec colnum="3" colname="col3"/>
|
|
<colspec colnum="4" colname="col4"/>
|
|
<colspec colnum="5" colname="col5"/>
|
|
<colspec colnum="6" colname="col6"/>
|
|
<colspec colnum="7" colname="col7"/>
|
|
<colspec colnum="8" colname="col8"/>
|
|
<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
|
|
<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
|
|
<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
|
|
<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
|
|
<tbody>
|
|
<row>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
</row>
|
|
<row>
|
|
<entry spanname="spa1-2">C</entry>
|
|
<entry spanname="spa3-4">C</entry>
|
|
<entry spanname="spa5-6">C</entry>
|
|
<entry spanname="spa7-8">C</entry>
|
|
</row>
|
|
<row>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
</row>
|
|
<row>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
</row>
|
|
<row>
|
|
<entry spanname="spa1-2">C</entry>
|
|
<entry spanname="spa3-4">C</entry>
|
|
<entry spanname="spa5-6">C</entry>
|
|
<entry spanname="spa7-8">C</entry>
|
|
</row>
|
|
<row>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<para>
|
|
Comme vous pouvez le voir, les lignes et colonnes de l'image viennent naturellement par deux.
|
|
Ainsi, les dimensions de votre recadrage ainsi que ses distances au bords d'origine
|
|
<emphasis>doivent</emphasis> être paires. Si elles ne
|
|
l'étaient pas, les chrominances et luminances ne seraient plus alignées.
|
|
En théorie, il est possible d'avoir des dimensions impaires, mais cela
|
|
requière un nouvel échantillonage de la chrominance, ce qui
|
|
engendre potentiellement des pertes d'information et n'est pas supporté par
|
|
le filtre de recadrage.
|
|
</para>
|
|
|
|
<para>
|
|
Ensuite, la vidéo entrelacée est échantillonée de la façon suivante:
|
|
</para>
|
|
|
|
<informaltable>
|
|
<?dbhtml table-width="80%" ?>
|
|
<?dbfo table-width="80%" ?>
|
|
<tgroup cols="16" align="center">
|
|
<colspec colnum="1" colname="col1"/>
|
|
<colspec colnum="2" colname="col2"/>
|
|
<colspec colnum="3" colname="col3"/>
|
|
<colspec colnum="4" colname="col4"/>
|
|
<colspec colnum="5" colname="col5"/>
|
|
<colspec colnum="6" colname="col6"/>
|
|
<colspec colnum="7" colname="col7"/>
|
|
<colspec colnum="8" colname="col8"/>
|
|
<colspec colnum="9" colname="col9"/>
|
|
<colspec colnum="10" colname="col10"/>
|
|
<colspec colnum="11" colname="col11"/>
|
|
<colspec colnum="12" colname="col12"/>
|
|
<colspec colnum="13" colname="col13"/>
|
|
<colspec colnum="14" colname="col14"/>
|
|
<colspec colnum="15" colname="col15"/>
|
|
<colspec colnum="16" colname="col16"/>
|
|
<spanspec spanname="spa1-2" namest="col1" nameend="col2"/>
|
|
<spanspec spanname="spa3-4" namest="col3" nameend="col4"/>
|
|
<spanspec spanname="spa5-6" namest="col5" nameend="col6"/>
|
|
<spanspec spanname="spa7-8" namest="col7" nameend="col8"/>
|
|
<spanspec spanname="spa9-10" namest="col9" nameend="col10"/>
|
|
<spanspec spanname="spa11-12" namest="col11" nameend="col12"/>
|
|
<spanspec spanname="spa13-14" namest="col13" nameend="col14"/>
|
|
<spanspec spanname="spa15-16" namest="col15" nameend="col16"/>
|
|
<tbody>
|
|
<row>
|
|
<entry namest="col1" nameend="col8">Top field</entry>
|
|
<entry namest="col9" nameend="col16">Bottom field</entry>
|
|
</row>
|
|
<row>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry spanname="spa1-2">C</entry>
|
|
<entry spanname="spa3-4">C</entry>
|
|
<entry spanname="spa5-6">C</entry>
|
|
<entry spanname="spa7-8">C</entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
</row>
|
|
<row>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry spanname="spa9-10">C</entry>
|
|
<entry spanname="spa11-12">C</entry>
|
|
<entry spanname="spa13-14">C</entry>
|
|
<entry spanname="spa15-16">C</entry>
|
|
</row>
|
|
<row>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
</row>
|
|
<row>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry spanname="spa1-2">C</entry>
|
|
<entry spanname="spa3-4">C</entry>
|
|
<entry spanname="spa5-6">C</entry>
|
|
<entry spanname="spa7-8">C</entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
</row>
|
|
<row>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry spanname="spa9-10">C</entry>
|
|
<entry spanname="spa11-12">C</entry>
|
|
<entry spanname="spa13-14">C</entry>
|
|
<entry spanname="spa15-16">C</entry>
|
|
</row>
|
|
<row>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
<entry>L</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<para>
|
|
Comme vous pouvez le voir, le plus petit motif à se répéter est sur 4 lignes.
|
|
Donc, pour la vidéo entrelacée, la hauteur de votre recadrage et sa distance
|
|
verticale aux bords doivent être des multiples de 4.
|
|
</para>
|
|
|
|
<para>
|
|
La résolution native pour un DVD NTSC est 720x480 et 720x576 pour un
|
|
PAL, mais il y a un indicateur d'aspect qui spécifie que le mode est
|
|
plein-écran (full-screen 4:3) ou bien écran large (wide-screen 16:9).
|
|
Un grand nombre de DVDs (pas tous) en wide-screen ne respecte pas
|
|
strictement le format 16:9, mais est plutôt en 1,85:1 ou 2,35:1 (cinémascope).
|
|
Ceci signifie qu'il y aura des bandes noires à enlever sur la vidéo.
|
|
</para>
|
|
|
|
<para>
|
|
<application>MPlayer</application> fournit un filtre de détection
|
|
qui détermine le rectangle de recadrage (<option>-vf cropdetect</option>).
|
|
Lancer l'application <application>MPlayer</application> avec l'option
|
|
<option>-vf cropdetect</option> et il affichera les options de recadrage pour enlever les bandes.
|
|
Vous devez laisser tourner le film suffisamment longtemps pour que toute la zone de l'image soit vue
|
|
de façon à obtenir des valeurs précises.
|
|
</para>
|
|
|
|
<para>
|
|
Ensuite, testez les valeurs obtenues avec <application>MPlayer</application> en utilisant
|
|
la ligne de commande fournie par <option>cropdetect</option>,
|
|
et éventuellement ajustez le rectangle de recadrage.
|
|
Ce filtre <option>rectangle</option> offre la possibilité de le positionner
|
|
de façon interactive pendant le film. N'oubliez pas de suivre les
|
|
recommandations précédentes sur la divisibilité des dimensions de l'image afin de ne pas
|
|
désaligner les plans de chrominance.
|
|
</para>
|
|
|
|
<para>
|
|
Dans certain cas, le redimensionnement n'est pas souhaitable. Il est délicat
|
|
dans le sens vertical avec des vidéos entrelacées, si vous désirez
|
|
conserver l'entrelacement, vous devrez vous abstenir de redimensionner.
|
|
Sans redimensionner, pour utiliser des dimensions multiples de 16,
|
|
il vous faudra recadrer plus petit que l'image. Ne pas recadrer plus grand que l'image
|
|
parce que car les bandes noires sont nuisibles à la compression.
|
|
</para>
|
|
|
|
<para>
|
|
Le MPEG-4 utilisant des macroblocs de 16x16, assurez-vous que les dimensions
|
|
de la vidéo que vous encodez sont des multiples de 16, sinon vous dégraderez la
|
|
qualité, surtout à de faibles débits. Pour ce faire, vous pouvez
|
|
arrondir les dimensions du rectangle de recadrage au multiple de 16 inférieur.
|
|
Comme expliqué plus haut, durant le recadrage, vous devrez augmenter le
|
|
décalage en Y de la moitié de la différence entre l'ancienne et la nouvelle
|
|
hauteur pour que l'image résultante se situe au milieu de l'ancienne. Et à cause
|
|
de la façon dont les vidéos DVD sont échantillonées, assurez-vous que ce décalage en Y
|
|
est un nombre pair. (En fait, c'est une règle: n'utilisez jamais une valeur impaire lors d'un recadrage ou
|
|
d'un redimensionnement de vidéo). Si vous ne vous faites pas à l'idée de vous débarrasser de quelques
|
|
pixels, vous préférerez sans doute redimensionner la vidéo. Nous allons voir cela
|
|
dans notre exemple ci-dessous.
|
|
En fait, vous pouvez laisser le filtre <option>cropdetect</option> faire
|
|
tout cela pour vous: il a un paramètre optionnel d'arrondi <option>round</option> qui vaut
|
|
16 par défaut.
|
|
</para>
|
|
|
|
<para>
|
|
Faites aussi attention aux pixels à "demi-noir" sur les bords. Assurez-vous qu'ils sont
|
|
en dehors de votre recadrage, autrement, vous gâcherez des bits qui seraient mieux utilisés ailleurs.
|
|
</para>
|
|
|
|
<para>
|
|
Après tout ceci, vous obtiendrez une vidéo qui n'est pas tout à fait au format
|
|
1,85:1 ou 2,35:1, mais quelque chose d'assez proche. Vous pourriez alors
|
|
calculer le nouveau format à la main mais <application>MEncoder</application> propose
|
|
une option appelée <option>autoaspect</option> pour <systemitem class="library">libavcodec</systemitem>
|
|
qui fera cela pour vous. N'agrandissez surtout pas cette vidéo pour
|
|
obtenir les dimensions standards à moins que vous n'aimiez gâcher votre espace disque.
|
|
Ce changement d'échelle se fait à la lecture, le lecteur utilisera les données
|
|
stockées dans le fichier AVI pour effectuer le bon rendu.
|
|
Malheureusement, tous les lecteurs vidéos n'appliquent pas ce redimensionnement
|
|
automatique, c'est peut-être pour cela que vous voudrez quand même procéder à ce redimensionnement.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-resolution-bitrate">
|
|
<title>Choix de la résolution et du débit</title>
|
|
|
|
<para>
|
|
Si vous n'encodez pas dans un mode à quantificateur constant, vous
|
|
devez sélectionner un débit.
|
|
Le concept de débit (bitrate) est assez simple.
|
|
C'est un nombre (moyen) de bits par seconde qui sera utilisé pour stocker votre film.
|
|
Normalement, le débit est mesuré en kilobits (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 à 200kbit/sec
|
|
n'aura pas la même qualité que le même film en 640x480 à 800kbit/sec ! A cela, deux raisons:
|
|
<orderedlist>
|
|
<listitem><para>
|
|
<emphasis role="bold">Visuelle</emphasis> : Les artefacts de compression MPEG se
|
|
remarquent plus facilement à une plus grande échelle. Les artefacts apparaissent
|
|
à l'échelle des blocs (8x8). L'oeil humain ne voit pas les erreurs dans 4800 petits
|
|
blocs aussi facilement que qu'il les voit dans 1200 grands blocs (en supposant
|
|
une visualisation en plein écran dans les deux cas).
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">Théorique</emphasis> : quand vous réduisez la taille d'une image
|
|
mais que vous continuez à utiliser les mêmes tailles de bloc (8x8) pour la transformation
|
|
dans l'espace des fréquences, vous déplacez plus de données vers les hautes
|
|
fréquences. Grossièrement dit: chaque pixel contient plus de détails qu'avant.
|
|
Donc, même si votre image de taille réduite ne contient plus qu'un quart de l'information
|
|
dans le domaine spatial, elle peut toujours contenir une grande part de l'information dans
|
|
l'espace des fréquences (en supposant que les hautes fréquences étaient sous-utilisées dans
|
|
votre originale en 640x480).
|
|
</para></listitem>
|
|
</orderedlist>
|
|
</para>
|
|
<para>
|
|
Les anciens guides recommandaient de choisir un débit et une résolution basés
|
|
sur "1 bit par pixel", mais ce n'est que peu justifié avec les raisons évoquées ci-dessus.
|
|
Une meilleure estimation reste que le débit augmente proportionnellement à la
|
|
racine carrée de la résolution, donc une image 320x240 à 400kbit/sec
|
|
sera comparable à une en 640x480 à 800 kbit/sec.
|
|
Cela n'a pas été strictement vérifié par la théorie ou une quelconque méthode.
|
|
De plus, pour un film donné, le résultat variera en fonction du bruit, des détails,
|
|
du degré de mouvement, etc.. Il est futile de donner des recommandations générales
|
|
du style: un nombre de bits par longueur de diagonale (similaire au bit par pixel,
|
|
en utilisant la racine carrée).
|
|
</para>
|
|
<para>
|
|
Jusqu'à maintenant, nous avons discuté de la difficulté de choisir le débit et la résolution.
|
|
</para>
|
|
|
|
|
|
<sect3 id="menc-feat-dvd-mpeg4-resolution-bitrate-compute">
|
|
|
|
<title>Calcul de la résolution</title>
|
|
<para>
|
|
Les étapes qui suivent vous guideront dans le calcul de la résolution de votre
|
|
encodage sans trop distordre la vidéo, en prenant en compte les différents types
|
|
d'information sur la source vidéo.
|
|
En premier lieu, il faut calculer le format de l'encodage:
|
|
<systemitem>ARc = (Wc x (ARa / PRdvd )) / Hc</systemitem>
|
|
|
|
<itemizedlist>
|
|
<title>Où :</title>
|
|
<listitem><para>
|
|
Wc et Hc sont la largeur et la hauteur de la vidéo recadrée,
|
|
</para></listitem>
|
|
<listitem><para>
|
|
ARa est le format affiché, généralement 4/3 ou 16/9,
|
|
</para></listitem>
|
|
<listitem><para>
|
|
PRdvd est le ratio des pixels du DVD qui normalement est égal à 1,25 (=720/576)
|
|
pour le PAL et 1,5(=720/480) pour le NTSC,
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<para>
|
|
Ensuite, vous pouvez calculer la résolution X et Y en tenant compte du facteur
|
|
de Qualité de Compression (CQ):
|
|
<systemitem>ResY = INT(SQRT( 1000*Bitrate/25/ARc/CQ )/16) * 16</systemitem>
|
|
et
|
|
<systemitem>ResX = INT( ResY * ARc / 16) * 16</systemitem>
|
|
</para>
|
|
|
|
<para>
|
|
D'accord, mais c'est quoi ce CQ ?
|
|
le CQ représente le nombre de bit par pixel et par image encodée. Grosso modo,
|
|
plus le CQ est grand, moins il y aura de chances de voir apparaître des artefacts
|
|
de compression. En tout cas, si vous avez une limite de taille pour votre film
|
|
(1 ou 2 CDs par exemple), il y a donc une limite au nombre de bits total que vous
|
|
pouvez lui allouer et il est donc nécessaire de trouver le bon compromis entre
|
|
compressibilité et la qualité.
|
|
</para>
|
|
|
|
<para>
|
|
Le CQ dépend du débit, de l'efficacité du codec vidéo et de la résolution
|
|
du film.
|
|
Une manière d'augmenter le CQ, c'est de réduire la résolution du film puisque le
|
|
débit est calculé en fonction de la taille finale désirée et la longueur du film qui sont constant.
|
|
Avec les codecs ASP MPEG-4 comme le <systemitem class="library">XviD</systemitem> ou le
|
|
<systemitem class="library">libavcodec</systemitem>, un CQ en dessous de 0,18 donne
|
|
généralement une image type mosaïque car il n'y pas assez de bits pour coder
|
|
les informations de chaque macrobloc (le MPEG-4, comme les autres codecs, groupe
|
|
les pixels compressés par blocs pour compresser l'image, s'il n'y a pas assez
|
|
de bits, les bords de ce macrobloc deviennent alors visibles).
|
|
Donc il est raisonnable de prendre un CQ entre 0,20 et 0,22 pour une copie tenant
|
|
sur 1 CD, et entre 0,26 et 0,28 pour une copie sur 2 CDs avec des options d'encodage
|
|
standard.
|
|
Des options d'encodage plus avancées telles que celles listées ici pour le
|
|
<link linkend="menc-feat-mpeg4-lavc-example-settings"><systemitem class="library">libavcodec</systemitem></link> et le
|
|
<link linkend="menc-feat-xvid-example-settings"><systemitem class="library">XviD</systemitem></link>
|
|
devraient permettre d'obtenir la même qualité avec un CQ se situant entre
|
|
0,18 et 0,20 pour une copie sur 1 CD et 0,24 à 0,26 pour une copie sur 2 CDs.
|
|
Avec les codecs ASP MPEG-4 comme le <systemitem class="library">x264</systemitem>,
|
|
vous pouvez utiliser un CQ se situant entre 0,14 et 0,16 avec des options standards
|
|
d'encodage, et même descendre entre 0,10 et 0,12 avec des
|
|
<link linkend="menc-feat-x264-example-settings">options avancées <systemitem class="library">x264</systemitem></link>.
|
|
</para>
|
|
|
|
<para>
|
|
Veuillez noter que le CQ n'est qu'un indicateur, il dépend directement
|
|
du contenu encodé, un CQ de 0,18 pourrait sembler parfait pour un film de Bergman, mais
|
|
trop petit pour un film comme Matrix contenant beaucoup de scènes d'actions.
|
|
A l'opposé, il est inutile d'aller au delà de 0,30 pour le CQ, vous ne feriez que gâcher
|
|
de l'espace disque sans gain notable en qualité.
|
|
Notez aussi, comme cela a été dit plus haut que les vidéos en
|
|
plus petites résolutions auront besoin d'un plus grand CQ (comparé à la résolution
|
|
d'un DVD par exemple) pour un rendu correct.
|
|
</para>
|
|
</sect3>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-filtering">
|
|
<title>Les filtres</title>
|
|
|
|
<para>
|
|
Apprendre à utiliser les filtres vidéos de <application>MEncoder</application>
|
|
est essentiel pour créer des fichiers bien encodés.
|
|
Toutes les transformations vidéos sont exécutées au travers de filtres, comme le recadrage (découpe),
|
|
le redimensionnement, l'ajustement de couleur, la suppression du bruit, l'ajustement
|
|
de la netteté, le dés-entrelacement, le téléciné, le téléciné inverse, ou l'effacement
|
|
des macroblocs trop visible, pour n'en nommer que quelques un.
|
|
Avec le grand nombre de formats d'entrée supporté, la variété des
|
|
filtres disponibles dans <application>MEncoder</application> est l'un de ses principaux
|
|
avantages sur d'autres programmes similaires.
|
|
</para>
|
|
|
|
<para>
|
|
Les filtres sont chargés dans la chaîne grâce à l'option -vf :
|
|
|
|
<screen>-vf filtre1=options,filtre2=options,...</screen>
|
|
|
|
La plupart des filtres acceptent plusieurs options numériques séparées par des double-points (:), mais
|
|
la syntaxe varie d'un filtre à l'autre, aussi lisez la page manuel pour avoir les détails sur les filtres
|
|
que vous souhaitez utiliser.
|
|
</para>
|
|
|
|
<para>
|
|
Les filtres agissent sur la vidéo dans l'ordre de leur chargement. Par exemple,
|
|
la chaîne suivante :
|
|
<screen>-vf crop=688:464:12:4,scale=640:464</screen>
|
|
recadrera d'abord une zone de 688x464 depuis le bord haut gauche mais avec un
|
|
décalage de (12;4), puis redimensionnera la vidéo pour obtenir du 640x464.
|
|
</para>
|
|
|
|
<para>
|
|
Certains filtres ont besoin d'être chargés au début (ou proche du début) de la chaîne pour
|
|
profiter d'informations du décodeur vidéo qui seraient perdues ou invalidées par d'autres filtres.
|
|
Les principaux exemples sont <option>pp</option> (postprocessing, seulement
|
|
dans le cas d'un estompage des macroblocs ou des enlèvements des artefacts de
|
|
compression), le <option>spp</option> (un autre post processus pour enlever les
|
|
artefacts MPEG), le <option>pullup</option> (téléciné inverse), et <option>
|
|
softpulldown</option> (conversion du soft téléciné en hard
|
|
telecine).
|
|
</para>
|
|
|
|
<para>
|
|
En général, il vaut mieux utiliser le moins de filtres possibles afin de conserver
|
|
l'encodage le plus proche possible du DVD source. Le recadrage est souvent
|
|
nécessaire (comme expliqué plus haut), mais évitez de redimensionner l'image.
|
|
Bien qu'il soit parfois préférable de réduire la taille de l'image plutôt que d'utiliser
|
|
un quantificateur plus élevé, nous voulons éviter tout ceci:souvenez-vous que
|
|
nous avons décidé au départ d'échanger des bits pour de la qualité.
|
|
</para>
|
|
|
|
<para>
|
|
Aussi, n'ajustez pas le gamma, le contraste, la luminosité, etc. Ces réglages
|
|
peuvent être bons chez vous mais pas sur un autre écran. Ils doivent être
|
|
appliqués lors de la lecture uniquement.
|
|
</para>
|
|
|
|
<para>
|
|
Une chose que vous pouvez vouloir faire est de passer la vidéo à travers un filtre trés léger
|
|
antibruit, comme par exemple <option>-vf hqdn3d=2:1:2</option>.
|
|
Il s'agit encore une fois d'optimiser l'utilisation de l'espace disque:
|
|
pourquoi le gaspiller à encoder du bruit alors qu'il sera là de toutes façons à la lecture?
|
|
Augmenter les paramètres de <option>hqdn3d</option> améliorera encore la compressibilité, mais
|
|
si vous les augmentez trop, vous risquez de dégrader l'image. Les valeurs suggérées
|
|
ci-dessus (<option>2:1:2</option>) sont plutôt conservatrices, n'hésitez pas à
|
|
les augmenter et à regarder le résultat par vous-même.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-interlacing">
|
|
<title>Entrelacmeent et Téléciné</title>
|
|
|
|
<para>
|
|
Presque tous les films sont tournés en 24 images par seconde. Puisque le NTSC est en 30000/1001 images par seconde,
|
|
certains traitements doivent être appliqués pour l'adapter au débit NTSC.
|
|
Ce procédé est appelé 3:2 pulldown, plus communément appelé téléciné (car
|
|
le pulldown est souvent appliqué durant la phase de conversion en téléciné),
|
|
et de façon simpliste, il fonctionne en ralentissant le film à 24000/1001 images par seconde,
|
|
et en répétant une image sur 4.
|
|
</para>
|
|
|
|
<para>
|
|
Aucun traitement spécifique n'est cependant appliqué à la vidéo des DVDs
|
|
PAL, qui fonctionnent à 25 images par seconde (techniquement, PAL peut être téléciné, ce qui est
|
|
appelé 2:2 pulldown, mais ceci n'est pas un problème en pratique). Le film
|
|
en 24 images par seconde est simplement lu en 25 images par seconde. Le résultat est que la vidéo tourne
|
|
légèrement plus vite, mais à moins d'être un extra-terrestre, vous ne verrez probablement pas la
|
|
différence. Le son de la plupart des DVDs PAL a été corrigé de façon à sonner correctement
|
|
quand il est lu à 25 images par seconde, même si la piste
|
|
audio (et donc le film entier) a une durée 4% plus courte que les DVDs NTSC.
|
|
</para>
|
|
|
|
<para>
|
|
Puisque la vidéo d'un DVD PAL n'a pas été modifiée, vous n'avez pas à vous soucier
|
|
de la cadence de défilement des images. La source est en 25 images par seconde, et votre copie sera en 25 images par seconde. Cependant,
|
|
si vous recopier un film d'un DVD NTSC, vous pourrez avoir besoin d'appliquer
|
|
du téléciné inverse.
|
|
</para>
|
|
|
|
<para>
|
|
Pour les films tournés en 24 images par seconde, la vidéo du DVD NTSC est soit en 30000/1001
|
|
téléciné, soit en 24000/1001 progressif et prévu pour être téléciné à la volée
|
|
par le lecteur DVD. D'un autre coté, les séries TV sont généralement
|
|
seulement entrelacées, pas télécinées. Ce n'est pas une règle absolue: certaines
|
|
séries TV sont entrelacées (comme 'Buffy contre les vampires') alors que d'autres
|
|
sont un mélange de progressif et d'entrelacé (comme 'Dark Angel', ou '24 heures
|
|
chrono').
|
|
</para>
|
|
|
|
<para>
|
|
Il est fortement recommandé de lire la section <link linkend="menc-feat-telecine">
|
|
Comment gérer le téléciné et le dés-entrelacement avec les DVDs NTSC</link>
|
|
pour apprendre à gérer les différentes possibilités.
|
|
</para>
|
|
|
|
<para>
|
|
De toutes façons, si vous copiez principalement des films, vous rencontrerez de
|
|
la vidéo 24 images par seconde progressive ou télécinée, et dans ce cas vous pouvez
|
|
utiliser le filtre <option>pullup</option> <option>-vf pullup,softskip</option>.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-encoding-interlaced">
|
|
<title>Encodage de vidéos entrelacées</title>
|
|
|
|
<para>
|
|
Si la vidéo que vous désirez encoder est entrelacée (NTSC ou PAL), vous devez décider
|
|
si vous voulez la dés-entrelacer ou non.
|
|
Si le dés-entrelaçage rend votre film visionable sur des appareil à balayage progressif
|
|
tels que les écrans d'ordinateur ou les projecteurs, cela a un coup: 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 duplication
|
|
étranges d'images, vous pouvez utiliser à la fois <option>-mc 0</option> et
|
|
<option>-noskip</option>.
|
|
Cela empêche <emphasis>toute</emphasis> synchronisation A/V et copie les
|
|
images une à une.
|
|
Vous ne pouvez donc pas l'utiliser avec des filtres qui ajoutent ou enlèvent
|
|
des image de façon imprévisible ou si votre fichier source a un nombre d'images
|
|
par seconde variable!
|
|
L'option <option>-noskip</option> n'est donc généralement pas recommandée.
|
|
</para>
|
|
<para>
|
|
Il a été signalé que l'encodage audio nommé "3 passes" que <application>MEncoder</application>
|
|
supporte provoquait des désynchronisations A/V.
|
|
Cela arrive en tout cas quand il est utilisé en même temps que certains
|
|
filtres, donc, il est maintenant recommandé de <emphasis>ne pas</emphasis>
|
|
utiliser le mode audio "3 passes".
|
|
Cette possibilité n'est conservé que pour des raisons de compatibilité
|
|
et pour les utilisateurs experts qui savent quand l'utiliser.
|
|
</para>
|
|
<para>
|
|
Il a été signalé des désynchronisations A/V lors d'encodage à partir de
|
|
l'entrée standard
|
|
avec <application>MEncoder</application>. Ne faites pas ça ! Utilisez toujours
|
|
un fichier ou un CD/DVD/etc comme source.
|
|
</para>
|
|
</sect2>
|
|
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-codec">
|
|
<title>Choisir le codec video</title>
|
|
|
|
<para>
|
|
Le choix du meilleur codec video dépend de plusieurs facteurs comme
|
|
la taille, la qualité, la lecture en transit (streamability), la
|
|
facilité d'utilisation, la popularité qui, pour certains d'entre
|
|
eux dépendent de préférences personnelles et de contraintes techniques.
|
|
</para>
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
<emphasis role="bold">L'efficacité de la compression</emphasis>:
|
|
Il est assez évident que les codec des toutes dernières générations
|
|
sont faits pour augmenter la qualité et la compression.
|
|
Donc, les auteurs de ce guide et de nombreuses autres personnes
|
|
pensent que vous ne pouvez pas vous tromper
|
|
<footnote id='fn-menc-feat-dvd-mpeg4-codec-cpu'>
|
|
<para>Attention tout de même: décoder une video MPEG-4 AVC de la
|
|
resolution d'un DVD nécessite une machine puissante (i.e. un
|
|
Pentium 4 à plus de 1.5Ghz ou un Pentium M à plus de 1Ghz).
|
|
</para></footnote>
|
|
si vous choisissez un codec MPEG-4 AVC comme le
|
|
<systemitem class="library">x264</systemitem> au lieu de codecs MPEG-4 ASP
|
|
tels que le <systemitem class="library">libavcodec</systemitem> MPEG-4 ou le
|
|
<systemitem class="library">XviD</systemitem>.
|
|
(Les développeurs de codec peuvent être intéressés par la leture 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.
|
|
Ce 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 optimié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 15-30%
|
|
(selon les réglages) avec une baisse de PSNR d'environ 0.05dB.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">Les préférences personnelles</emphasis>:
|
|
Là les choses deviennent presqu'irrationnel: 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 optinion.
|
|
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 celui qui vous semble
|
|
le plus joli à vous 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 AC3 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 AC3 (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 AC3.
|
|
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'AC3 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 lors de changements de scènes avec fondu au noir) mais si
|
|
<application>MEncoder</application> ne voit pas la piste son, il encodera
|
|
toutes les trames telles quelles et elles ne correspondront pas au le 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'AC3.
|
|
</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>
|
|
Ceci dit, <application>MEncoder</application> ne supporte actuellement pas
|
|
l'encodage à d'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 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 fractions, 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 fanions incorporé 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/10001 trames par seconde, téléciné ou autre, l'entrelacement est
|
|
clairement visible et ce, qu'il y ait un mouvement ou non car l'une des trames (disons
|
|
les lignes impaires) représente un moment dans le temps 1/(60000/1001) seconde
|
|
plus tard que les autres. Regarder une vidéo entrelacée sur un ordinateur semble
|
|
laid parce que l'écran a une résolution plus élevée et
|
|
parce que la vidéo est affichée image après image au lieu de trame après trame.
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<title>Notes :</title>
|
|
<listitem><para>
|
|
Cette section ne s'appliquent qu'aux DVDs NTSC, pas au PAL.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Les lignes de commande <application>MEncoder</application> données en exemple au long de ce
|
|
document ne sont <emphasis role="bold">pas</emphasis> à utiliser tel quels.
|
|
Elles représentent juste le minimum requis pour encoder la vidéo qui s'y rapportent.
|
|
La meilleure méthode pour faire un bon encodage de DVD ou procéder à des réglages avancés de
|
|
<systemitem class="library">libavcodec</systemitem> pour atteindre une qualité optimum sont des
|
|
questions en dehors des propos de ce guide.
|
|
</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> pour voir lesquels sont
|
|
disponibles (selectionnez les lignes contenant "deint" avec grep), et fouillez dans les
|
|
<ulink url="http://www.mplayerhq.hu/homepage/design6/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 un 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>
|
|
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>
|
|
|
|
<listitem><para>
|
|
Je n'ai pas moi-même utilisé <option>-vf filmdint</option>, mais voilà ce que
|
|
D Richard Felker III en dit:
|
|
|
|
<blockquote><para>Il est correct, mais à mon avis, il essaie de désentrelacer plutôt
|
|
que de téléciner-inverse trop souvent (tout comme les lecteurs DVD de salon
|
|
& les TVs progressive) ce qui donne des clignotements affreux et d'autre
|
|
artefacts. Si vous prévoyer l'utiliser, vous aurez au minimum besoin de passer
|
|
du temps à affiner les options et à regarder le résultat en sortie pour vous assurer
|
|
que cela n'esquinte pas tout.</para></blockquote>
|
|
</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>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 5, 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>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>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>
|
|
</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 title2.avi -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>mp2</entry>
|
|
<entry>MPEG Layer 2</entry>
|
|
</row>
|
|
<row>
|
|
<entry>ac3</entry>
|
|
<entry>AC3, AKA Dolby Digital</entry>
|
|
</row>
|
|
<row>
|
|
<entry>adpcm_ima_wav</entry>
|
|
<entry>IMA adaptatif PCM (4 bits par échantillon, compression 4:1)</entry>
|
|
</row>
|
|
<row>
|
|
<entry>sonic</entry>
|
|
<entry>codec avec/sans perte expérimental</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 AC3:
|
|
<screen>mencoder dvd://2 -o title2.avi -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>
|
|
</sect2>
|
|
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-lavc-encoding-options">
|
|
<title>Options d'encodage de libavcodec</title>
|
|
|
|
<para>
|
|
Idéalement, vous voudriez probablement juste dire à mencoder de passer en
|
|
mode "haute qualité" et passer à autre chose.
|
|
Ce serait sûrement sympa, mais c'est malheureusement difficile à implémenter car les
|
|
différentes options d'encodage donnent des résultats de qualité différents
|
|
en fonction du matériel source.
|
|
Ceci vient du fait que la compression dépend des propriétés visuelles
|
|
de la vidéo en question.
|
|
Par exemple, un film d'animation et un film d'action ont des propriétés très
|
|
différentes et nécessitent des options différentes pour obtenir un encodage
|
|
optimal.
|
|
La bonne nouvelle, c'est que certaines options ne devraient jamais être omises,
|
|
comme <option>mbd=2</option>, <option>trell</option>, et <option>v4mv</option>.
|
|
Voir ci-dessous pour une description détaillée des options d'encodage les plus communes.
|
|
</para>
|
|
|
|
|
|
<itemizedlist>
|
|
<title>Options à régler:</title>
|
|
<listitem><para>
|
|
<emphasis role="bold">vmax_b_frames</emphasis>: 1 ou 2 est bon selon
|
|
le film.
|
|
Notez que si vous avez besoin d'avoir votre encodage décodable par DivX5, vous
|
|
aurez besoin d'activer le support "closed GOP", en utilisant l'option <option>cgop</option> de
|
|
<systemitem class="library">libavcodec</systemitem>, mais vous aurez besoin de désactiver
|
|
la détection de scène, ce qui n'est pas une bonne idée étant donné que cela
|
|
affectera un peu l'efficacité d'encodage.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">vb_strategy=1</emphasis>: aide pour les scènes avec beaucoup de
|
|
mouvement. Sur certaines vidéos, l'option vmax_b_frames peut affecter la qualité, mais
|
|
utiliser vmax_b_frames=2 avec vb_strategy=1 aide.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">dia</emphasis>: portée de la passe de recherche de mouvement.
|
|
Plus la valeur de cette option est élevée, meilleure sera la qualité et plus l'encodage sera lent.
|
|
Les valeurs négatives représentent une échelle complètement différente.
|
|
De bonnes valeurs sont -1 pour un encodage rapide, ou 2-4 pour un plus lent.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">predia</emphasis>: portée de recherche de mouvement en pré-passe.
|
|
Pas aussi important que dia. De bonnes valeurs vont de 1 (par défaut) à 4. Cela
|
|
requière preme=2 pour être réellement utile.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">cmp, subcmp, precmp</emphasis>: Fonction de comparaison
|
|
pour l'estimation de mouvement.
|
|
Testez avec les valeurs 0 (défaut), 2 (hadamard), 3 (dct), et 6 (taux de
|
|
distorsion).
|
|
0 est le plus rapide, et suffisant pour precmp.
|
|
Pour cmp et subcmp, 2 est bon pour les animations, et 3 est bon pour les
|
|
films d'action.
|
|
6 peut être (ou non) un peu meilleur, mais est lent.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">last_pred</emphasis>: Nombre de prédicteurs de mouvement
|
|
à prendre depuis l'image précédente.
|
|
1-3 (ou dans ces eaux) améliore la qualité pratiquement sans perte en vitesse.
|
|
De plus hautes valeurs ralentiront l'encodage sans réel gain.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">cbp, mv0</emphasis>: Contrôle la sélection de macroblocs.
|
|
Un petit coût en vitesse pour un petit gain en qualité.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">qprd</emphasis>: quantification adaptative basée sur la
|
|
complexité des macroblocs.
|
|
Peut aider ou gêner selon la vidéo et les autres options.
|
|
Cela peut causer des artefacts à moins que vous ne paramétriez vqmax à des
|
|
valeurs raisonnablement petites (6 c'est bien, voire peut-être 4);
|
|
vqmin=1 devrait aussi aider.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">qns</emphasis>: très lente, spécialement quand combinée
|
|
avec qprd. Avec cette option, l'encodeur minimise le bruit dû aux artefacts de compression
|
|
au lieu de faire correspondre strictement la vidéo encodée à la source.
|
|
Ne l'utilisez pas à moins d'avoir déjà peaufiné tout le reste et que les
|
|
résultats ne soient pas encore assez bons.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">vqcomp</emphasis>: mise au point du contrôle de débit.
|
|
La nature du film définiera quelles sont les bonnes valeurs à appliquer
|
|
Vous pouvez sans problème laisser cette option de côté si vous voulez.
|
|
Réduire vqcomp met plus de bits sur les scènes de basse complexité, l'augmenter
|
|
les met sur les scènes de haute complexité (défaut: 0.5, portée: 0-1. recommandé: 0.5-0.7).
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">vlelim, vcelim</emphasis>: Définit le coefficient du seuil d'élimination pour
|
|
la luminance et les plans de chrominance.
|
|
Ils sont encodés séparément dans tous les algorithmes de style MPEG.
|
|
L'idée derrière tout ceci est d'utiliser de bonnes heuristiques
|
|
pour déterminer quand le changement dans un bloc est inférieur au seuil que
|
|
vous avez spécifié, et dans ce cas, de simplement encoder le bloc comme étant
|
|
"sans changement".
|
|
Cela économise des bits et accélére peut-être l'encodage. vlelim=-4 et
|
|
vcelim=9 semblent être de bonnes valeurs pour les films de "scènes réelles", mais
|
|
semblent ne pas aider avec les films d'animation; quand vous voudrez encoder une animation,
|
|
vous devriez probablement les laisser tel quel.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">qpel</emphasis>: Estimation de mouvement de quart de pixel.
|
|
MPEG-4 utilise une précision d'un demi pixel pour sa recherche de mouvement
|
|
par défaut, donc cette option augmente la quantité d'information qui est
|
|
stockée dans le fichier encodé. Le gain ou la perte en terme de compression
|
|
dépend du film, mais ce n'est habituellement pas très efficace pour les animations.
|
|
qpel induit toujours un surcoût significatif en temps de décodage (+25% en pratique).
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">psnr</emphasis>: n'affecte pas l'encodage
|
|
mais écrit un fichier journal donnant le type/taille/qualité de chaque image, et
|
|
imprime un résumé du PSNR (rapport signal sur bruit) à la fin.
|
|
</para></listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>Options qu'il n'est pas recommandé de changer:</title>
|
|
<listitem><para>
|
|
<emphasis role="bold">vme</emphasis>: La valeur par défaut est la meilleure.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">lumi_mask, dark_mask</emphasis>: Quantification adaptative
|
|
pyscho-visuelle. Vous ne voulez pas jouer avec ces options si vous tenez à la qualité.
|
|
Des valeurs raisonnables peuvent être efficaces dans votre cas, mais soyez prévenu,
|
|
ceci reste très subjectif.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">scplx_mask</emphasis>: Essaie d'empêcher l'apparition d'artefacts
|
|
dûs aux blocs, mais le post-traitement est plus efficace.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-mpeg4-lavc-example-settings">
|
|
<title>Exemples de paramètres d'encodage</title>
|
|
|
|
<para>
|
|
Les paramètrages suivants sont des exemples de différentes combinaisons d'options
|
|
d'encodage qui affectent le compromis vitesse / qualité pour un débit donné.
|
|
</para>
|
|
|
|
<para>
|
|
Tous les paramètrages d'encodage ont été testés sur un échantillon vidéo de résolution
|
|
720x448 à 30000/1001 images par seconde, le débit cible était de 900kbit/s, et la machine était un
|
|
AMD-64 3400+ à 2400 Mhz en mode 64 bits.
|
|
Chaque exemple d'encodage est donné avec la vitesse d'encodage mesurée (en
|
|
images par seconde) et la perte en PSNR (en dB) par rapport au réglage de "très
|
|
haute qualité". Sachez que selon votre video source, votre machine et les derniers développements,
|
|
vous pourrez obtenir des résultats très différents.
|
|
</para>
|
|
|
|
<para>
|
|
<informaltable frame="all">
|
|
<tgroup cols="4">
|
|
<thead>
|
|
<row><entry>Description</entry><entry>Options d'encodage</entry><entry>vitesse (en images/s)</entry><entry>perte relative de PSNR (en dB)</entry></row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>Très haute qualité</entry>
|
|
<entry><option>vcodec=mpeg4:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:vmax_b_frames=2:vb_strategy=1:precmp=2:cmp=2:subcmp=2:preme=2:qns=2</option></entry>
|
|
<entry>6im/s</entry>
|
|
<entry>0dB</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Haute qualité</entry>
|
|
<entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:last_pred=2:dia=-1:vmax_b_frames=2:vb_strategy=1:cmp=3:subcmp=3:precmp=0:vqcomp=0.6:turbo</option></entry>
|
|
<entry>15im/s</entry>
|
|
<entry>-0.5dB</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Rapide</entry>
|
|
<entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:turbo</option></entry>
|
|
<entry>42im/s</entry>
|
|
<entry>-0.74dB</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Temps réel</entry>
|
|
<entry><option>vcodec=mpeg4:mbd=2:turbo</option></entry>
|
|
<entry>54im/s</entry>
|
|
<entry>-1.21dB</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 id="custommatrices"><title>Matrices inter/intra personnalisées</title>
|
|
|
|
<para>
|
|
Grâce à cette fonctionnalité de
|
|
<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>
|
|
vous pouvez rentrer des matrices personnalisées inter (image I ou images clé) et intra
|
|
(image P ou image prédite). De nombreux codecs le supportent - on rapporte que
|
|
<systemitem>mpeg1video</systemitem> et <systemitem>mpeg2video</systemitem> fonctionnent avec.
|
|
</para>
|
|
|
|
<para>
|
|
Cette fonctionnalité est utilisée habituellement pour régler les matrices utilisées
|
|
par les spécifications <ulink url="http://www.kvcd.net/">KVCD</ulink>.
|
|
</para>
|
|
|
|
<para>
|
|
La <emphasis role="bold">Matrice de Quantification KVCD "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 -vf crop=720:352:0:62,hqdn3d=2:1:2 -ovc lavc \
|
|
-lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=1 \
|
|
-o Harry_Potter_2.avi</screen>
|
|
|
|
La seconde passe est la même, si ce n'est que nous spécifions <option>vpass=2</option>:
|
|
|
|
<screen>mencoder dvd://1 -ofps 24000/1001 -oac copy -vf crop=720:352:0:62,hqdn3d=2:1:2 -ovc lavc \
|
|
-lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=2 \
|
|
-o Harry_Potter_2.avi</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Les options <option>v4mv:mbd=2:trell</option> augmenteront considérablement la
|
|
qualité au prix d'une plus longue durée d'encodage. Il y a peu de raison de ne pas
|
|
utiliser ces options quand le but premier est la qualité. Les options
|
|
<option>cmp=3:subcmp=3:mbcmp=3</option> sélectionne une fonction de comparaison
|
|
qui donne une meilleure qualité que celle par défaut. Vous pouvez essayer de faire varier
|
|
ces paramètres (reportez-vous à la page man pour les valeurs possibles)
|
|
étant donné que différentes fonctions peuvent avoir un impact important sur la
|
|
qualité selon le matériel source. Par exemple, si vous trouvez que
|
|
<systemitem class="library">libavcodec</systemitem> produit trop d'artefacts
|
|
de blocs, vous pouvez essayer de choisir la fonction de comparaison expérimentale NSSE
|
|
via <option>*cmp=10</option>.
|
|
</para>
|
|
|
|
<para>
|
|
Pour ce film, le AVI résultant durera 138 minutes et pèsera à peu près 3GB.
|
|
Et puisque vous disiez que la taille du fichier ne comptait pas, cette taille
|
|
est parfaitement acceptable. Cependant, si vous l'aviez voulu plus petite,
|
|
vous pourriez essayer un débit inférieur. L'augmentation du débit améliore la qualité,
|
|
mais de moins en moins, ainsi, tandis que nous pourrions clairement voir une
|
|
amélioration de 1800Kb/s à 2000Kb/s, cela peut ne pas être notable
|
|
au-dessus de 2000Kb/s. Libre à vous d'expérimenter jusqu'à totale satisfaction.
|
|
</para>
|
|
|
|
<para>
|
|
Parce que nous avons passé la source vidéo au travers d'un filtre antibruit,
|
|
vous pourriez vouloir en rajouter un peu pendant la lecture. Ceci, avec le filtre de
|
|
post-traitement <option>spp</option>, améliore de façon radicale la perception
|
|
de qualité et aide à éliminer les artefacts de bloc de la vidéo.
|
|
Avec l'option <option>autoq</option> de <application>MPlayer</application>,
|
|
vous pouvez faire varier le montant de post-traitement effectué par le filtre spp
|
|
en fonction de la disponibilté de votre processeur. Aussi, arrivé à ce point, vous pourriez
|
|
vouloir appliquer une correction gamma et/ou couleur pour convenir au mieux à
|
|
votre écran.
|
|
Par exemple:
|
|
|
|
<screen>mplayer Harry_Potter_2.avi -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3</screen>
|
|
|
|
</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
|
|
<sect1 id="menc-feat-xvid">
|
|
<title>Encodage avec le codec <systemitem class="library">XviD</systemitem></title>
|
|
<para>
|
|
<systemitem class="library">XviD</systemitem> est une bibliothèque libre pour
|
|
encoder les flux vidéo MPEG-4 ASP.
|
|
Avant de commencer à encoder, vous avez besoin de <link linkend="xvid">
|
|
paramétrer <application>MEncoder</application> pour qu'il la supporte.</link>.
|
|
</para>
|
|
<para>
|
|
Ce guide a pour principal objectif de fournir le même genre d'information que
|
|
le guide d'encodage avec x264. Par conséquent, commencez par lire
|
|
<link linkend="menc-feat-x264-encoding-options-intro">la première partie</link>
|
|
de ce guide.
|
|
</para>
|
|
|
|
|
|
<sect2 id="menc-feat-xvid-intro">
|
|
<title>Quelles options devrais-je utiliser pour avoir les meilleurs résultats?</title>
|
|
|
|
<para>
|
|
Commencez par passer en revue la section <systemitem class="library">XviD</systemitem>
|
|
de la page man de <application>MPlayer</application>.
|
|
Cette section est prévue pour être un supplément de la page man.
|
|
</para>
|
|
<para>
|
|
Les paramètrages par défaut de XviD donnent déjà un bon compromis entre
|
|
vitesse et qualité, vous pouvez donc sans risque vous en contenter
|
|
si la section suivante vous laisse perplexe.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-xvid-encoding-options">
|
|
<title>Options d'encodage de <systemitem class="library">XviD</systemitem></title>
|
|
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
<emphasis role="bold">vhq</emphasis>
|
|
Ce paramètre affecte l'algorithme de choix de macrobloc, plus la valeur
|
|
du paramètre est élevée, meilleure sera la décision.
|
|
Le paramètrage par défaut peut être utilisé de façon sûre pour tous les encodages,
|
|
alors que des valeurs plus élevées améliorent toujours le PSNR mais rendent l'encodage significativement
|
|
plus lent.
|
|
Veuillez noter qu'un meilleur PSNR ne veut pas forcément dire que l'image
|
|
sera meilleure, mais vous informe qu'elle est plus proche de l'originale.
|
|
Désactiver l'option accélére de façon notable l'encodage; si la vitesse est un point
|
|
critique pour vous, cela peut valoir le coup.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">bvhq</emphasis>
|
|
Cela a le même effet que vhq, mais agit sur les images B.
|
|
L'impact sur la vitesse est négligeable et la qualité est légèrement améliorée
|
|
(environ +0.1dB PSNR).
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">max_bframes</emphasis>
|
|
Permettre un plus grand nombre d'images B consécutives améliore habituellement
|
|
la compressibilité bien que cela puisse également entraîner plus d'artefacts de blocs.
|
|
Le paramétrage par défaut est un bon compromis entre compressibilité et qualité,
|
|
mais vous pouvez l'augmenter jusqu'à 3 si vous êtes obnubilé par le débit.
|
|
Vous pouvez aussi le réduire à 1 ou 0 si vous aspirez à la perfection, même si dans
|
|
ce cas vous deviez vous assurer que le débit cible est suffisament élevé pour que
|
|
l'encodeur n'ait pas à augmenter les quantificateurs pour l'atteindre.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">bf_threshold</emphasis>
|
|
Ceci contrôle la sensibilité de l'encodeur pour les images B, où une plus haute
|
|
valeur amène à ce que plus d'images B soient utilisées (et vice versa).
|
|
Ce paramètre est fait pour être utilisé avec <option>max_bframes</option>;
|
|
si vous êtes obnubilé par le débit, vous devez augmenter à la fois <option>max_bframes</option>
|
|
et <option>bf_threshold</option>, tandis que vous pouvez augmenter <option>max_bframes</option>
|
|
et baisser <option>bf_threshold</option> de façon à ce que l'encodeur puisse utiliser plus d'images B
|
|
uniquement aux endroits qui en ont <emphasis role="bold">vraiment</emphasis> besoin.
|
|
Un faible nombre de <option>max_bframes</option> et une valeur élevée de <option>bf_threshold</option>
|
|
n'est probablement pas un choix avisé vu qu'il obligera l'encodeur à mettre
|
|
des images B en des endroits qui n'en tireront pas de bénéfice et donc réduiront la qualité visuelle.
|
|
Cependant, si vous avez besoin d'être compatible avec des lecteurs qui
|
|
supportent seulement de vieilles versions DivX (qui ne supportent pas plusieurs images B consécutives),
|
|
ce serait votre seul possibilité pour augmenter la compressibilité en utilisant les images B.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">trellis</emphasis>
|
|
Optimise la procédure de quantification pour obtenir un compromis optimal
|
|
entre le PSNR et le débit, ce qui permet une économie significative de bits.
|
|
Ces bits seront en retour utilisés autre part dans la vidéo, augmentant
|
|
la qualité visuelle globale.
|
|
Vous devriez toujours l'utiliser étant donné son énorme impact sur la qualité.
|
|
Même si vous recherchez de la vitesse, ne le désactivez pas avant d'avoir
|
|
réduit <option>vhq</option> et toutes les autres options plus gourmandes
|
|
en ressource à leur minimum.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">hq_ac</emphasis>
|
|
Active une meilleure méthode d'estimation des coefficients AC, ce qui réduit
|
|
légèrement la taille de fichier d'environ 0.15 à 0.19% (ce qui correspond
|
|
à moins de 0.01dB PSNR d'augmentation), tandis qu'elle a un impact négligeable
|
|
sur la vitesse. Il est donc recommandé de toujours la laisser activée.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">cartoon</emphasis>
|
|
Faite pour un meilleur encodage des dessins animés, n'a pas d'impact
|
|
sur la vitesse étant donné qu'elle règle juste les heuristiques de décision
|
|
pour ce type de contenu.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">me_quality</emphasis>
|
|
Ce paramètre contrôle la précision de l'estimation de mouvement.
|
|
Plus <option>me_quality</option> est élevé, plus
|
|
l'estimation du mouvement d'origine est précise et donc mieux l'encodage final
|
|
rendra le mouvement d'origine.
|
|
</para>
|
|
<para>
|
|
Le paramètrage par défaut est le meilleur dans tous les cas; ainsi il est
|
|
recommandé de ne pas le désactiver à moins que vous ne recherchiez vraiment
|
|
la rapidité, vu que tout les bits économisés par une bonne estimation du
|
|
mouvement seraient dépensés autre part, augmentant la qualité générale.
|
|
Donc, n'allez pas plus bas que 5, et encore, seulement en dernier recours.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">chroma_me</emphasis>
|
|
Améliore l'estimation de mouvement en prenant aussi en compte l'information
|
|
de la chrominance (couleur), alors que <option>me_quality</option> seule
|
|
utilise uniquement la luminance (niveaux de gris).
|
|
Cela ralentit l'encodage de 5-10% mais améliore sensiblement la qualité visuelle
|
|
en réduisant les effets de bloc et cela réduit aussi la taille des fichiers d'environ 1.3%.
|
|
Si vous cherchez de la vitesse, vous devriez désactiver cette option avant de
|
|
penser à la réduction de <option>me_quality</option>.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">chroma_opt</emphasis>
|
|
A pour objectif d'améliorer la qualité de la chrominance de l'image à proximité
|
|
des bords totalement blancs ou noirs, plutôt que d'améliorer la compression.
|
|
Ceci peut aider à réduire l'effet "d'escalier rouge".
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">lumi_mask</emphasis>
|
|
Tente de donner moins de débit à une partie de l'image que l'oeil humain
|
|
ne peut pas très bien voir, ce qui devrait permettre à l'encodeur de dépenser
|
|
les bits économisés sur des parties plus importantes de l'image.
|
|
La qualité de l'encodage liée à cette option dépend grandement des
|
|
préférences personnelles et du type de moniteur ainsi que de son réglage
|
|
(typiquement, cela ne semblera pas si bien si le réglage est lumineux
|
|
ou si c'est un moniteur TFT).
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">qpel</emphasis>
|
|
Augmente le nombre de vecteurs de mouvement candidats en augmentant la
|
|
précision de l'estimation de mouvement de halfpel (demi-pixel) à quarterpel (quart de pixel).
|
|
L'idée est de trouver de meilleurs vecteurs de mouvement pour
|
|
réduire le débit (donc augmenter la qualité à débit constant).
|
|
Cependant, les vecteurs de mouvement avec une précision quarterpel requièrent
|
|
quelques bits en plus à coder et les vecteurs candidats ne donnent pas
|
|
toujours de résultats (vraiment) meilleurs.
|
|
Assez souvent, le codec dépense des bits pour une plus grande précision,
|
|
mais en retour il n'y a que peu ou pas d'amélioration de la qualité.
|
|
Malheureusement, il n'y a aucun moyen de prédire les possibles avantages de
|
|
<option>qpel</option>, donc en fait, vous devez l'encoder avec
|
|
et sans pour en être sûr.
|
|
</para><para>
|
|
<option>qpel</option> peut quasiment doubler la durée d'encodage, et
|
|
nécessiter jusqu'à 25% de puissance processeur en plus pour le décodage.
|
|
Il n'est pas supporté par tous les lecteurs.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">gmc</emphasis>
|
|
Essaye d'économiser des bits sur des scènes panoramiques en employant un
|
|
unique vecteur de mouvement pour l'image entière.
|
|
Cela augmente presque toujours le PSNR, mais ralentit l'encodage
|
|
significativement (ainsi que le décodage).
|
|
Par conséquent, vous devriez seulement l'employer si vous avez
|
|
réglé <option>vhq</option> au maximum.
|
|
Le GMC de <systemitem class="library">XviD</systemitem> est plus sophistiqué
|
|
que celui de DivX, mais il est seulement supporté par quelques lecteurs.
|
|
</para></listitem>
|
|
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-xvid-encoding-profiles">
|
|
<title>Profils d'encodage</title>
|
|
<para>
|
|
XviD supporte des profils d'encodage via l'option <option>profile</option>,
|
|
ce qui est utilisé pour imposer des restrictions sur les propriétés du flux
|
|
vidéo XviD pour qu'il puisse être relu sur tout ce qui supporte le profil
|
|
choisi.
|
|
Les restrictions sont en rapport avec les résolutions, les débits et certaines
|
|
fonctionnalités MPEG-4.
|
|
La table suivante montre ce que chaque profil supporte.
|
|
</para>
|
|
<informaltable>
|
|
<tgroup cols="16" align="center">
|
|
<colspec colnum="1" colname="col1"/>
|
|
<colspec colnum="2" colname="col2"/>
|
|
<colspec colnum="3" colname="col3"/>
|
|
<colspec colnum="4" colname="col4"/>
|
|
<colspec colnum="5" colname="col5"/>
|
|
<colspec colnum="6" colname="col6"/>
|
|
<colspec colnum="7" colname="col7"/>
|
|
<colspec colnum="8" colname="col8"/>
|
|
<colspec colnum="9" colname="col9"/>
|
|
<colspec colnum="10" colname="col10"/>
|
|
<colspec colnum="11" colname="col11"/>
|
|
<colspec colnum="12" colname="col12"/>
|
|
<colspec colnum="13" colname="col13"/>
|
|
<colspec colnum="14" colname="col14"/>
|
|
<colspec colnum="15" colname="col15"/>
|
|
<colspec colnum="16" colname="col16"/>
|
|
<colspec colnum="17" colname="col17"/>
|
|
<spanspec spanname="spa2-5" namest="col2" nameend="col5"/>
|
|
<spanspec spanname="spa6-11" namest="col6" nameend="col11"/>
|
|
<spanspec spanname="spa12-17" namest="col12" nameend="col17"/>
|
|
<tbody>
|
|
<row>
|
|
<entry></entry>
|
|
<entry spanname="spa2-5">Simple</entry>
|
|
<entry spanname="spa6-11">Simple avancé</entry>
|
|
<entry spanname="spa12-17">DivX</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Nom de profil</entry>
|
|
<entry>0</entry>
|
|
<entry>1</entry>
|
|
<entry>2</entry>
|
|
<entry>3</entry>
|
|
<entry>0</entry>
|
|
<entry>1</entry>
|
|
<entry>2</entry>
|
|
<entry>3</entry>
|
|
<entry>4</entry>
|
|
<entry>5</entry>
|
|
<entry>De poche</entry>
|
|
<entry>NTSC Portable</entry>
|
|
<entry>PAL Portable</entry>
|
|
<entry>NTSC Home Cinéma</entry>
|
|
<entry>PAL Home Cinéma</entry>
|
|
<entry>TV Haute Définition</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Largeur [pixels]</entry>
|
|
<entry>176</entry>
|
|
<entry>176</entry>
|
|
<entry>352</entry>
|
|
<entry>352</entry>
|
|
<entry>176</entry>
|
|
<entry>176</entry>
|
|
<entry>352</entry>
|
|
<entry>352</entry>
|
|
<entry>352</entry>
|
|
<entry>720</entry>
|
|
<entry>176</entry>
|
|
<entry>352</entry>
|
|
<entry>352</entry>
|
|
<entry>720</entry>
|
|
<entry>720</entry>
|
|
<entry>1280</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Hauteur [pixels]</entry>
|
|
<entry>144</entry>
|
|
<entry>144</entry>
|
|
<entry>288</entry>
|
|
<entry>288</entry>
|
|
<entry>144</entry>
|
|
<entry>144</entry>
|
|
<entry>288</entry>
|
|
<entry>288</entry>
|
|
<entry>576</entry>
|
|
<entry>576</entry>
|
|
<entry>144</entry>
|
|
<entry>240</entry>
|
|
<entry>288</entry>
|
|
<entry>480</entry>
|
|
<entry>576</entry>
|
|
<entry>720</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Images par seconde</entry>
|
|
<entry>15</entry>
|
|
<entry>15</entry>
|
|
<entry>15</entry>
|
|
<entry>15</entry>
|
|
<entry>30</entry>
|
|
<entry>30</entry>
|
|
<entry>15</entry>
|
|
<entry>30</entry>
|
|
<entry>30</entry>
|
|
<entry>30</entry>
|
|
<entry>15</entry>
|
|
<entry>30</entry>
|
|
<entry>25</entry>
|
|
<entry>30</entry>
|
|
<entry>25</entry>
|
|
<entry>30</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Débit moyen max [kbit/s]</entry>
|
|
<entry>64</entry>
|
|
<entry>64</entry>
|
|
<entry>128</entry>
|
|
<entry>384</entry>
|
|
<entry>128</entry>
|
|
<entry>128</entry>
|
|
<entry>384</entry>
|
|
<entry>768</entry>
|
|
<entry>3000</entry>
|
|
<entry>8000</entry>
|
|
<entry>537.6</entry>
|
|
<entry>4854</entry>
|
|
<entry>4854</entry>
|
|
<entry>4854</entry>
|
|
<entry>4854</entry>
|
|
<entry>9708.4</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Débit moyen maximal au delà de 3 secs [kbit/s]</entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry>800</entry>
|
|
<entry>8000</entry>
|
|
<entry>8000</entry>
|
|
<entry>8000</entry>
|
|
<entry>8000</entry>
|
|
<entry>16000</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Images B maxi</entry>
|
|
<entry>0</entry>
|
|
<entry>0</entry>
|
|
<entry>0</entry>
|
|
<entry>0</entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry>0</entry>
|
|
<entry>1</entry>
|
|
<entry>1</entry>
|
|
<entry>1</entry>
|
|
<entry>1</entry>
|
|
<entry>2</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Quantification MPEG</entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry>Quantification adaptative</entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Encodage entrelacé</entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Quaterpixel</entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry>Compensation globale du mouvement</entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry>X</entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
<entry></entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-xvid-example-settings">
|
|
<title>Exemples de paramètres d'encodage</title>
|
|
|
|
<para>
|
|
Les paramètres suivant sont des exemples de différentes combinaisons
|
|
d'option d'encodage qui affectent le compromis entre la vitesse et
|
|
la qualité pour le même débit cible.
|
|
</para>
|
|
|
|
<para>
|
|
Tous les paramètrages d'encodage ont été testés sur un échantillon vidéo en
|
|
720x448 à 30000/1001 images par seconde, le débit cible était de 900kbit/s, et la machine était un
|
|
AMD-64 3400+ à 2400 Mhz en mode 64 bits.
|
|
Chaque exemple d'encodage est donné avec la vitesse d'encodage mesurée (en
|
|
images par seconde) et la perte en PSNR (en dB) par rapport au réglage de "très
|
|
haute qualité". Sachez que selon votre video source, votre machine et les derniers développements,
|
|
vous pourrez obtenir des résultats très différents.
|
|
</para>
|
|
|
|
<para>
|
|
<informaltable frame="all">
|
|
<tgroup cols="4">
|
|
<thead>
|
|
<row><entry>Description</entry><entry>Options d'encodage</entry><entry>vitesse (en images par secondes)</entry><entry>Perte PSNR relative (en dB)</entry></row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>Très haute qualité</entry>
|
|
<entry><option>chroma_opt:vhq=4:bvhq=1:quant_type=mpeg</option></entry>
|
|
<entry>16</entry>
|
|
<entry>0dB</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Haute qualité</entry>
|
|
<entry><option>vhq=2:bvhq=1:chroma_opt:quant_type=mpeg</option></entry>
|
|
<entry>18</entry>
|
|
<entry>-0.1dB</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Rapide</entry>
|
|
<entry><option>turbo:vhq=0</option></entry>
|
|
<entry>28</entry>
|
|
<entry>-0.69dB</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Temps réel</entry>
|
|
<entry><option>turbo:nochroma_me:notrellis:max_bframes=0:vhq=0</option></entry>
|
|
<entry>38</entry>
|
|
<entry>-1.48dB</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</para>
|
|
</sect2>
|
|
|
|
</sect1>
|
|
<sect1 id="menc-feat-x264">
|
|
<title>Encodage avec le codec <systemitem class="library">x264</systemitem></title>
|
|
<para>
|
|
<systemitem class="library">x264</systemitem> est une librairie libre pour
|
|
encoder des flux vidéo H.264/AVC.
|
|
Avant de commencer à encoder, vous avez besoin de <link linkend="codec-x264-encode">
|
|
paramétrer <application>MEncoder</application> pour qu'il le supporte</link>.
|
|
</para>
|
|
|
|
<sect2 id="menc-feat-x264-encoding-options">
|
|
<title>Les options d'encodage de x264</title>
|
|
|
|
<para>
|
|
Veuillez commencer par passer en revue la section
|
|
<systemitem class="library">x264</systemitem> de la page man
|
|
de <application>MPlayer</application>.
|
|
Cette section est prévue pour être un complément à la page man.
|
|
Ici, vous trouverez des conseils sur les options qui sont
|
|
le plus susceptible d'intéresser la plupart des gens. La page man
|
|
est plus laconique mais aussi plus exhaustive et offre
|
|
parfois de bien meilleurs détails techniques.
|
|
</para>
|
|
|
|
<sect3 id="menc-feat-x264-encoding-options-intro">
|
|
<title>Introduction</title>
|
|
<para>Ce guide considère deux principales catégories d'options d'encodage:</para>
|
|
|
|
<orderedlist>
|
|
<listitem><para>Les options qui traitent principalement du compromis entre la durée d'encodage et la qualité
|
|
</para></listitem>
|
|
<listitem><para>Les options susceptibles de satisfaire diverses préférences personnelles
|
|
et exigences spéciales</para></listitem>
|
|
</orderedlist>
|
|
|
|
<para>
|
|
Finalement, seul vous pouvez décider quelles sont les meilleures options en fonction de vos objectifs.
|
|
La décision pour la première catégorie d'options est la plus simple:
|
|
vous devez seulement décider si les différences de qualité
|
|
justifient les différences de vitesse. Pour la deuxième catégorie d'options,
|
|
les préférences peuvent être bien plus subjectives, et plus de facteurs
|
|
peuvent être impliqués. Notez que certaines des options de type
|
|
"préférences personnelles et exigences spéciales" peuvent aussi avoir
|
|
un impact important sur la vitesse ou la qualité, mais ce n'est pas là leur
|
|
utilité première. Quelques unes des options de "préférences
|
|
personnelles" peuvent même avoir des effets jugés bénéfiques par certaines personnes
|
|
mais néfastes par d'autres.
|
|
</para>
|
|
|
|
<para>
|
|
Avant de continuer, il vous est important que vous sachiez que ce guide utilise une seule
|
|
une mesure de qualité: le PSNR global.
|
|
Pour une brève explication du PSNR, voir
|
|
<ulink url="http://fr.wikipedia.org/wiki/PSNR">l'article Wikipedia sur le PSNR</ulink>.
|
|
Le PSNR global est le dernier nombre PSNR donné quand vous incluez l'option
|
|
<option>psnr</option> dans <option>x264encopts</option>.
|
|
Pour toutes les assertions faites sur le PSNR, il sera supposé un débit constant.
|
|
</para>
|
|
|
|
<para>
|
|
Pratiquement tous les commentaires de ce guide supposent que vous effectuez
|
|
un encodage en deux passes.
|
|
Lors de la comparaison d'options, il y a deux raisons principales pour
|
|
l'utilisation d'un encodage en deux passes.
|
|
Premièrement, l'utilisation de deux passes permet souvent de gagner environ 1dB
|
|
en PSNR, ce qui est une très grande différence.
|
|
Deuxièmement, tester les options en faisant des comparaisons directes de
|
|
qualité avec un encodage en une passe introduit un facteur de confusion important:
|
|
le débit varie souvent de façon significative avec chaque encodage.
|
|
Il n'est pas toujours facile de dire si les changements de qualité sont
|
|
principalement dûs aux changements d'options, ou si ils
|
|
reflètent essentiellement des différences aléatoires dans le débit atteint.
|
|
</para>
|
|
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-x264-encoding-options-speedvquality">
|
|
<title>Options qui affectent principalement la vitesse et la qualité</title>
|
|
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
<emphasis role="bold">subq</emphasis>:
|
|
Des options qui vous permettent de jouer sur le compromis vitesse-qualité,
|
|
<option>subq</option> et <option>frameref</option> (voir ci-dessous) sont
|
|
habituellement de loin les plus importantes.
|
|
Si vous êtes intéressés par le bidouillage soit de la vitesse soit de la
|
|
qualité, ces options sont les premières que vous devriez prendre en
|
|
considération.
|
|
Sur la vitesse, les options <option>frameref</option>
|
|
et <option>subq</option> interagissent entre elles assez fortement.
|
|
L'expérience montre que, avec une image de référence,
|
|
<option>subq=5</option> (le réglage par défaut) est environ 35% plus lent que
|
|
<option>subq=1</option>.
|
|
Avec 6 images de référence, la pénalité passe au dessus des 60%.
|
|
L'effet de <option>subq</option> sur le PSNR semble assez constant
|
|
indépendamment du nombre d'images de référence.
|
|
Typiquement, <option>subq=5</option> résulte en un PSNR global supérieur de
|
|
0.2-0.5 dB par rapport à <option>subq=1</option>.
|
|
C'est habituellement assez pour être visible.
|
|
</para>
|
|
<para>
|
|
<option>subq=6</option> est le mode le plus lent et le plus élevé en qualité.
|
|
Par rapport à <option>subq=5</option>, il gagne habituellement
|
|
de 0.1-0.4 dB en PSNR avec des coûts en vitesse variant de 25% à 100%.
|
|
A la différence des autres niveaux de <option>subq</option>, le comportement
|
|
de <option>subq=6</option> ne dépend pas beaucoup de <option>frameref</option>
|
|
et <option>me</option>. Au lieu de cela, l'efficacité de <option>subq=6</option>
|
|
dépend principalement du nombre d'images B utilisées. Lors d'une utilisation
|
|
normale, cela signifie que <option>subq=6</option> a un grand impact sur la
|
|
vitesse et la qualité dans le cas de scènes d'action complexes,
|
|
mais il peut ne pas avoir beaucoup d'effets sur les scènes avec peu de mouvements.
|
|
Notez qu'il est recommandé de toujours régler <option>bframes</option>
|
|
à des valeurs autres que zéro (voir ci-dessous).
|
|
</para></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=1</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=2</option>) est un compromis raisonnable
|
|
entre vitesse et qualité. <option>me=3</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=3</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=4</option> utilise une recherche exhaustive qui est trop lente pour
|
|
une utilisation pratique.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">4x4mv</emphasis>:
|
|
Cette option autorise l'utilisation des sous-partitions 8x4, 4x8 et 4x4 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>
|
|
</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:4x4mv:me=3</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">deblockalpha, deblockbeta</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 <option>deblockalpha</option> et <option>deblockbeta</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:4x4mv:8x8dct:me=3: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:4x4mv: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-vcd-dvd">
|
|
<title>Utiliser MEncoder 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>AC3,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>AC3,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,AC3,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,AC3,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:
|
|
<screen>
|
|
-of mpeg -mpegopts format=dvd
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
DVD avec pullup NTSC:
|
|
<screen>
|
|
-of mpeg -mpegopts format=dvd: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>Maintaining A/V sync</title>
|
|
<para>
|
|
Afin de maintenir la synchronization 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 AC3 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 AC3 vers DVD</title>
|
|
<para>
|
|
Si la source a déjà l'audio en AC3, utilisez <option>-oac copy</option> au lieu de la réencoder.
|
|
<screen>
|
|
mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd -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 AC3 vers DVD</title>
|
|
<para>
|
|
Si la source a déjà l'audio en AC3, et est en NTSC @ 24000/1001 fps:
|
|
<screen>
|
|
mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd: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 -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 -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 -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 -ofps 30000/1001 \
|
|
-o <replaceable>film.mpg</replaceable> <replaceable>film.avi</replaceable>
|
|
</screen>
|
|
</para>
|
|
</sect3>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
</chapter>
|