mirror of https://github.com/mpv-player/mpv
4382 lines
179 KiB
XML
4382 lines
179 KiB
XML
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!-- $Revision$ -->
|
|
<chapter id="encoding-guide">
|
|
<title>L'encodage avec <application>MEncoder</application></title>
|
|
|
|
<sect1 id="menc-feat-dvd-mpeg4">
|
|
<title>Créer un rip MPEG-4 ("DivX") de haute qualité à partir d'un DVD</title>
|
|
|
|
<para>
|
|
Une question fréquemment posée est "Comment faire le meilleur rip DVD possible ?
|
|
Une autre question est "Comment dois-je faire pour avoir un rip de la meilleure
|
|
qualité possible ?" Peu importe la taille du fichier, je veux simplement la
|
|
meilleure qualité."
|
|
</para>
|
|
|
|
<para>
|
|
Cette 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 5Go, 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 rips DVD
|
|
de très haute qualité. Il y a de nombreux 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 cette exemple théorique s'applique également à d'autres codecs.
|
|
</para>
|
|
|
|
<para>
|
|
Si cela vous semble un peu trop pour vous, vous devriez utiliser une des
|
|
interfaces graphiques listées dans <ulink url="http://mplayerhq.hu/homepage/design7/projects.html#mencoder_frontends">Section
|
|
MEncoder</ulink> sur la page de notre projet.
|
|
Avec ceci, vous serez suffisamment armé pour produire des rips de bonne qualité sans
|
|
trop réfléchir car ces outils utilisent des réglages astucieux à votre place.
|
|
</para>
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-preparing-encode">
|
|
<title>Préparation à l'encodage : identification des sources, du matériel et du framerate</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 la source physique provient d'un DVD ou bien d'un
|
|
média de diffusion comme la télé par câble ou le satellite, elle sera stockée
|
|
sous deux formats : NTSC pour l'Amérique du nord et le Japon, et PAL pour
|
|
l'Europe et les autres pays...
|
|
C'est important de la prendre en compte ce paramètre: ceci est juste le format
|
|
de présentation à la télévision, ce n'est en <emphasis role="bold">aucun</emphasis>
|
|
cas le format original du film.
|
|
L'expérience montre que le NTSC est bien plus dur à encoder car il y a plus
|
|
d'élément d'identification dans la source.
|
|
Afin de produire l'encodage désiré, vous devez connaître le format original.
|
|
Négliger cette étape aura pour conséquence des résultats hasardeux, des artefacts
|
|
bizarroïdes, des trames en double ou ignorées.
|
|
En plus d'avoir des résultats bizarres, le rendu global risque d'en souffrir avec une
|
|
qualité médiocre par unité du bitrate.
|
|
</para>
|
|
|
|
<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-fps">
|
|
<title>Identification du framerate de la source</title>
|
|
<para>
|
|
Voici une liste de types de sources matérielles, il est possible que vous
|
|
trouviez la vôtre avec ces propriétés :
|
|
</para>
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
<emphasis role="bold">Film standard</emphasis>: produit pour une diffusion
|
|
cinématographique avec 24 images par secondes (fps).
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">Vidéo PAL</emphasis>: Enregistré par une caméra à 50 trames
|
|
par secondes. Une trame est, par exemple, l'ensemble des lignes paires ou des lignes impaires d'une image.
|
|
La télévision a été créée pour afficher l'image de cette manière (en fait une version bas de gamme
|
|
de compression analogique).
|
|
L'oeil humain est censé compenser cette alternance de trames mais dès lors que vous
|
|
comprenez ce fonctionnement, vous ne regarderez plus la télévision 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 de 1/50e de seconde, et donc, elles ne s'alignent pas
|
|
parfaitement sauf s'il y a du mouvement
|
|
</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, c'est similaire au PAL.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">Animation</emphasis>: Habituellement dessiné pour du 24fps,
|
|
mais on peut en trouver de toute sorte.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">Animation Graphique, Effets Spéciaux</emphasis>: il est
|
|
possible d'en trouver avec n'importe quel framerate, mais en général, le NTSC utilise 24fps et 30fps, le PAL utilise plutôt
|
|
25fps.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">Vieux films</emphasis>: le framerate est généralement plus
|
|
bas.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-dvd-mpeg4-preparing-encode-material">
|
|
<title>Identification de la source matérielle</title>
|
|
<para>
|
|
(?)Les films composés de trames sont dits 'progressive',
|
|
alors que ceux composés de champs indépendant sont appelés
|
|
soit entrelacé soit vidéo - ce dernier terme est plutôt ambigu.
|
|
</para>
|
|
<para>
|
|
Pour compliquer le tout, certains films utiliset un mélange de plusieurs des
|
|
techniques vues ci-dessus.
|
|
</para>
|
|
<para>
|
|
La distinction la plus importante qui doit être faire entre ces formats
|
|
est que certains utilisent les trames alors que d'autres, les champs.
|
|
<emphasis role="bold">Même si</emphasis> un film a été préparé pour être projeté
|
|
sur une télévision (DVDs inclus), il est converti dans un format basé sur des champs.
|
|
Les nombreuses méthodes peuvent être rassemblé sous le terme de redimensionnement comme
|
|
l'infâme NTSC "3:2 telecine" qui en est une variété.
|
|
Sauf si l'oeuvre originale est basée sur des champs (et avec le même fieldrate),
|
|
le format d'image obtenu sera différent de celui d'origine.
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<title>Plusieurs variétés communes de redimensionnement :</title>
|
|
<listitem><para>
|
|
<emphasis role="bold">Redimensionnement PAL 2:2 </emphasis>: Le meilleur de tous.
|
|
Chaque image est affichée pendant 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 redimensionnement augmentera la vitesse
|
|
du film de 4%.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">Redimensionnement PAL 2:2:2:2:2:2:2:2:2:2:2:3</emphasis>:
|
|
La douzième image est affiché pendant la durée de 3 frames au lieu de deux. Cela
|
|
permet d'éviter le problème de l'accélération de 4% mais rend le processus trés
|
|
difficile à inverser.
|
|
Cette technique est généralement utilisé 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écine NTSC 3:2</emphasis>: Les images sont alternativement
|
|
affichées pendant une durée de 3 ou 2 frames. Cela provoque un redimensionnement de 2,5 fois le
|
|
ratio original. Le résultat est très légèrement ralenti de 60 frames par secondes à 60000/1001
|
|
frames par seconde pour maintenir le fieldrate NTSC
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">Redimensionnement NTSC 2:2</emphasis>: Utilisé pour le NTSC avec une
|
|
source en 30fps. Le rendu est correct, similaire au redimensionnement PAL 2:2
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
|
|
<para>
|
|
Il y aussi d'autres manière de convertir des vidéos NTSC et PAL
|
|
mais ce sujet s'éloigne des limites de ce guide.
|
|
Si vous désirez encoder un film par exemple, le mieux reste de trouver
|
|
une copie de l'original.
|
|
La conversion entre ces deux formats est hautement destructrice et il n'est
|
|
pas possible de l'inverser proprement, donc l'encodage sera d'autant plus
|
|
mauvais s'il est fait à partir d'une source déjà converti.
|
|
</para>
|
|
<para>
|
|
Quand des vidéos sont stockées sur un DVD, des groupes de trames
|
|
consécutives sont rassemblés 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 d'encoder les images originales progressivement et de stocker le
|
|
nombre de trames pour chaque image qui devra être affiché avant cette
|
|
image.
|
|
Si cette méthode autilisée, on dit que le film est "soft-telecined"
|
|
("contenu progressif"), car le processus de rendu est
|
|
appliqué directement par le lecteur DVD et non pas en dégradant le film.
|
|
Ce cas est de loin le mieux car il peut être tout aussi bien inversé
|
|
(en fait, non pris en compte) par l'encodeur puisqu'il préserve la qualité maximale.
|
|
Malgré cela, beaucoup de DVD et d'émissions studios diffusées n'utilisent pas
|
|
des techniques d'encodage propres mais plutôt des films "hard telecine" ("contenu brut")
|
|
dans lesquels les trames sont dupliquées puis encodées en 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 indices pour définir à quelle
|
|
source vous avez à faire :
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<title>Domaine du NTSC:</title>
|
|
<listitem><para>
|
|
Si <application>MPlayer</application> affiche que le nombre d'image a changé pour
|
|
24000/1001 quand vous regardez votre film, et qu'il ne change plus du tout, il est
|
|
quasiment certain que c'est un contenu progressif qui a été "soft teleciné".
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Si <application>MPlayer</application> affiche un nombre d'images alternant
|
|
entre 24000/1001 et 30000/1001 et que les bords de l'image affichent des espèces de "peignes", alors
|
|
il y a plusieurs possibilités.
|
|
Les segments à 24000/1001 fps ont très certainement un contenu progressif,
|
|
"soft teleciné" mais les parties 30000/1001 fps ont pu être "hard-telecinées"
|
|
depuis un contenu 24000/1001 fps ou 60000/1001 frames par secondes d'une vidéo NTSC.
|
|
Utilisez les mêmes conseils que ceux pour les deux cas qui suivent.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Si <application>MPlayer</application> montre un nombre d'images constant et que chacune
|
|
des images avec des mouvements semble avoir un "peigne" sur les cotés, alors votre film
|
|
est une vidéo NTSC à 60000/1001 images par seconde.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Si <application>MPlayer</application> montre un nombre d'images constant et que deux
|
|
images sur cinq apparaissent avec des "peignes", le film est "hard teleciné" avec un contenu
|
|
à 24000/1001fps.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>Domaine du PAL:</title>
|
|
<listitem><para>
|
|
Si vous ne voyez pas de "peigne" sur les cotés, le film a un redimensionnement 2:2.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Si vous voyez une alternance régulière d'effet "peigne", de pseudo-entrelacement
|
|
toutes les demi-secondes, alors le film a subi une réduction 2:2:2:2:2:2:2:2:2:2:2:3.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Si vous voyez une sorte d'entrelacement constant dans les scènes en mouvement,
|
|
le film est en PAL avec 50 trames par secondes.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
|
|
<note><title>Astuce:</title>
|
|
<para>
|
|
<application>MPlayer</application> peut lire un film très lentement en utilisant
|
|
l'option -speed ou en le jouant image par image.
|
|
Essayer d'utiliser l'option <option>-speed</option> à 0.2 afin de regarder le film
|
|
très doucement ou presser la touche "<keycap>.</keycap>" pour avancer d'une frame
|
|
à l'autre et ainsi identifier la "signature" d'un type de redimensionnement si
|
|
celui-ci n'est pas visible à vitesse normale.
|
|
</para>
|
|
</note>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-2pass">
|
|
<title>Quantiseur constant contre deux passes</title>
|
|
|
|
<para>
|
|
Il est possible d'encoder votre film suivant une large gamme de qualités.
|
|
Les compresseurs vidéo modernes et quelques pre-codec de compression
|
|
(anti-bruit et redimensionnement) permettent d'obtenir un
|
|
trés bon rendu pour un film grand écran de 90-110 minutes sur 700Mo.
|
|
De plus, la plupart des films longs peuvent approcher un résultat parfait
|
|
avec un fichier d'un taille de 1400Mo.
|
|
</para>
|
|
|
|
<para>
|
|
Il y a trois approches possibles pour encoder une vidéo: débit constant
|
|
(CBR), quantification constante, et deux-passes (ABR, ou débit moyen).
|
|
</para>
|
|
|
|
<para>
|
|
La complexité des images d'un film et le nombre de bits utilisés pour
|
|
cette compression fera varier grandement le résultat d'une scène à l'autre.
|
|
Les encodeurs vidéo modernes savent s'ajuster en fonction des besoins par
|
|
variation du débit vidéo (bitrate).
|
|
Cependant, dans un mode simple comme le CBR, le compresseur ne connaît pas
|
|
le besoin en débit vidéo pour les scènes à venir, donc il ne sait pas définir
|
|
un bitrate moyen sur la longueur du film.
|
|
Les modes avancés actuels, comme le mode 'multipass' (plusieurs passages), prennent
|
|
en compte les statistiques des passes précédentes pour l'encodage, fixant 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 <systemitem class="library">libavcodec</systemitem> supportent des
|
|
passes multiples qui permettent d'affiner à chaque fois les statistiques (ces améliorations seront cependant négligeables
|
|
après la quatrième passe).
|
|
Dans cette section, deux passages ou plus peuvent être utilisés indifféremment.
|
|
</para>
|
|
</note>
|
|
|
|
<para>
|
|
Dans chacun de ces modes, <systemitem class="library">libavcodec</systemitem>
|
|
sépare les trames vidéos en macroblocs de 16x16 pixels et applique ensuite
|
|
un quantificateur sur chaque macrobloc. Plus le quantificateur est bas, plus
|
|
la qualité est bonne et le débit est gros. La méthode utilisée par
|
|
<systemitem class="library">libavcodec</systemitem> pour déterminer quel
|
|
quantificateur utiliser varie et est 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 compresseur vidéo codera la vidéo
|
|
en laissant de côté les détails, et ceci, d'autant plus
|
|
que le bitrate sera petit. Si la taille du fichier vous importe peu,
|
|
vous pouvez fixer un débit contant et infini. (En pratique, cette
|
|
valeur aura une limite haute dans les 10000Kbit). Sans réelle
|
|
restriction de débit,
|
|
<systemitem class="library">libavcodec</systemitem> utilisera le plus
|
|
bas quantificateur possible pour chaque macrobloc (tel que spécifié par
|
|
<option>vqmin</option>, qui vaut 2 par défaut).
|
|
Si vous spécifiez un débit si petit que <systemitem class="library">
|
|
libavcodec</systemitem> doit utiliser un quantificateur plus haut,
|
|
alors vous êtes certainement en train de massacrer la qualité de votre
|
|
vidéo. En général, vous devriez éviter le CBR si vous vous souciez de
|
|
la qualité.
|
|
</para>
|
|
|
|
<para>
|
|
Avec un quantificateur constant <systemitem class="library">libavcodec</systemitem> utilise
|
|
le même quantificateur, spécifié par l'option <option>vqscale</option>, sur chaque macrobloc.
|
|
Si vous voulez un rip 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 de <option>vqmin</option> par
|
|
défaut (2).
|
|
</para>
|
|
|
|
<para>
|
|
Le problème de la quantification constante est qu'elle utilise le quantificateur
|
|
demandé même si le macrobloc n'en a pas besoin. En fait, il doit être possible
|
|
d'utiliser un quantificateur plus haut sur un macrobloc sans sacrifier de la
|
|
qualité visuelle. Pourquoi gaspiller des bits avec un quantificateur inutilement
|
|
bas ? Votre microprocesseur a assez de ressources car il a le temps, mais votre
|
|
disque lui a une taille fixée.
|
|
</para>
|
|
|
|
<para>
|
|
Avec l'encodage deux-passes, la première passe va ripper le film comme
|
|
en CBR, mais va garder un log des propriétés de chaque trame. Ces données
|
|
sont ensuites 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 utilisés. Pendant les
|
|
scènes avec peu de mouvements ou avec peu de détails, ce sera des quantificateurs
|
|
plus bas.
|
|
</para>
|
|
|
|
<para>
|
|
Si vous utilisez <option>vqscale=2</option>, alors vous gaspillerez des bits.
|
|
Si vous utilisez <option>vqscale=3</option>, vous n'aurez pas la meilleur
|
|
qualité de rip. Supposez que vous rippiez un DVD avec <option>vqscale=3</option>,
|
|
et que le résultat soit 1800Kbit. 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 source vidéo.
|
|
</para>
|
|
|
|
<para>
|
|
Si la taille ne compte pas, un bon point de départ pour un rip de très haute
|
|
qualité est environ 2000kbps, plus ou moins 200kbps.
|
|
Pour les vidéos comportant beaucoup d'actions ou de détails, et/ou si vous avez
|
|
de très bon yeux, vous pouvez choisir 2400 ou 2600.
|
|
Pour certains DVDs, vous pourrez 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 se livrer à un petit calcul
|
|
pour obtenir le débit souhaité. Mais avant cela, il faudra définir l'espace que
|
|
vous réserverez aux piste(s) audio et vous devrez <link linkend="menc-feat-dvd-mpeg4-audio">
|
|
les ripper</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 = 740kbps</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 compresssion 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 teinte 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 entiere,
|
|
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 apparaitront, 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'apparaitra
|
|
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 renoircir 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 minimun 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'enlevera 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>
|
|
Rappel de la section prédécente, la taille de l'image finale devra être un
|
|
multiple de 16 (en hauteur et largeur). Cela peut être réalisé par découpage (recadrage),
|
|
redimensionnement ou les deux.
|
|
</para>
|
|
|
|
<para>
|
|
Lors du recadrage, il y a quelques règles qui doivent être respectées sous peine
|
|
d'endommager votre film.
|
|
Le format normal YUV, 4:2:0 stocke l'information chromatique (couleur) de manière
|
|
sous-échantillonnée, par exemple, la chrominance est échantillonée en moitié moins
|
|
de temps que l'information de la luminance (intensité). Observez le schéma
|
|
suivant, L indique un échantillon de luminance, et C pour la 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 naturelle
|
|
viennent par deux. Ainsi, votre découpe devra <emphasis>absolument</emphasis>
|
|
avoir des dimensions paires. Si ce n'est pas le cas, les informations chromatiques et de
|
|
luminosité ne seront plus alignées.
|
|
En théorie, il est possible de découper d'une dimension impaire, mais cela
|
|
demandera alors un re-sampling des informations chromatique, ce qui,
|
|
potentiellement, génère des pertes d'information et n'est pas supporté par
|
|
le filtre de redimensionnement.
|
|
</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>
|
|
|
|
<!-- checked so far / pl / diff 1-->
|
|
|
|
<para>
|
|
Comme vous pouvez le voir, le motif n'apparaissent pas pour moins de
|
|
4 lignes. Ainsi, pour la vidéo entrelacée, le décalage (offset) sur y
|
|
et la hauteur pour le recadrage doivent être 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 (pas tous) des DVDs 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 pour le
|
|
recadrage qui déterminera le rectangle de découpe (<option>-vf cropdetect</option>).
|
|
Lancer l'application <application>MPlayer</application> avec l'option
|
|
<option>-vf cropdetect</option> et il affichera les informations nécessaires
|
|
pour faire une découpe propre afin d'enlever les bandes.
|
|
Vous devez laisser le film assez longtemps avec une utilisation complète de
|
|
l'image pour obtenir des valeurs précises.
|
|
</para>
|
|
|
|
<para>
|
|
Ensuite, testez les valeurs avec <application>MPlayer</application> en utilisant
|
|
les informations affichées par la ligne de commande <option>cropdetect</option>,
|
|
et éventuellement ajustez le rectangle de découpe.
|
|
Ce filtre <option>rectangle</option> offre la possibilité de modifier
|
|
sa position pendant le film. Faites bien attention à suivre les
|
|
recommendations précédentes en ce qui concerne les dimensions qui doivent
|
|
être des multiples de certaines valeurs ou bien
|
|
l'information chromatique ne sera plus alignée.
|
|
</para>
|
|
|
|
<para>
|
|
Dans certain cas, la réduction ne sera pas désirée. Ce redimensionnement
|
|
vertical est difficile dès lors que la vidéo est entrelacée, si vous désirez
|
|
la conserver ainsi, abstenez-vous d'appliquer un redimensionnement.
|
|
Si vous ne voulez pas redimensionner mais que vous voulez toujours utiliser
|
|
une dimension multiple de 16, il vous faudra couper au delà de la taille
|
|
normale. Ne coupez pas en dessous car les bandes noires ont un effet néfaste
|
|
pour la compression.
|
|
</para>
|
|
|
|
<para>
|
|
Le MPEG-4 utilisant des macroblos de 16x16, vérifiez bien que les dimensions
|
|
de la vidéo que vous encodez sont des multiples de 16, sinon vous dégraderez la
|
|
qualité de la vidéo encodée, surtout sur aux faibles débits. Le mieux est
|
|
d'arrondir les dimensions du rectangle de découpe au multiple de 16 le plus
|
|
proche.
|
|
Dans l'état initial, durant le redimensionnement, vous devrez augmenter le
|
|
décallage sur Y par la moitié de la différence entre l'ancienne et la nouvelle
|
|
taille pour que le résultat sur la vidéo se situe au milieu de l'image. Aussi,
|
|
la vidéo DVD étant samplée, vérifiez bien que l'offset est un nombre pair
|
|
(En fait, c'est une règle: n'utilisez jamais une valeur impaire lors d'un recadrage ou
|
|
lors d'un redimensionnement d'une vidéo). Si vous ne vous faites pas à l'idée de jeter quelques
|
|
pixels, vous préfèrerez sans doute redimensionner la vidéo par le zoom. Nous allons voir cela
|
|
dans l'example ci-dessous.
|
|
En fait, vous pouvez laisser faire l'option du filtre <option>cropdetect</option> qui fera
|
|
tout cela pour vous: il a un paramètre optionnel <option>round</option> qui vaut
|
|
16 par défaut.
|
|
</para>
|
|
|
|
<para>
|
|
Faites bien aussi attention aux pixels à "demi-noir" sur les bords. Assurez-vous qu'ils seront
|
|
enlevés lors de la découpe, autrement, ils seront une source de gaspillage de
|
|
bits alors qu'il pourrait être utilisés ailleurs.
|
|
</para>
|
|
|
|
<para>
|
|
Aprés tout ceci, vous obtiendrez une vidéo avec des pixels ne s'approchant
|
|
plus de 1,85:1 ou 2,35:1, mais quelque chose d'assez proche. Vous pouvez alors
|
|
calculer le ratio à 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 pas cette vidéo pour
|
|
d'obtenir des pixels carrés sauf si vous avez de l'espace disque à revendre.
|
|
Ce changement d'échelle se fera à la lecture, le lecteur utilisera les données
|
|
stockés 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 ne voulez pas encoder dans un mode à quantificateur constant, vous
|
|
devrez sélectionner un débit.
|
|
Le concept de débit (bitrate) est assez simple.
|
|
C'est un nombre (moyen) de bits qui sera utilisé pour stocker le film, exprimé
|
|
en seconde.
|
|
Normalement, le débit est mesuré en kilo-bits (1000 bits) par seconde.
|
|
La taille de votre film sur le disque dur équivaut à ce débit pendant toute sa
|
|
durée plus la taille de quelques entêtes (allez 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, la découpe, etc.. ne modifieront
|
|
<emphasis role="bold">pas</emphasis> la taille du fichier sauf si vous y
|
|
changez aussi le bitrate.
|
|
</para>
|
|
<para>
|
|
Le bitrate n'est <emphasis role="bold">pas</emphasis> lié proportionnellement
|
|
à la résolution. Par exemple, la qualité d'un film en 320x240 à 200kbit/sec
|
|
ne sera pas pareille que celle d'un film en 640x480 à 800kbit/sec ! A cela, deux raisons:
|
|
<orderedlist>
|
|
<listitem><para>
|
|
<emphasis role="bold">Visuellement</emphasis> : vous allez remarquer d'autant plus
|
|
les artefacts de compression MPEG qui vous agrandissent l'image. Les artefacts
|
|
apparaissent sur des zooms de bloc (8x8). Vos yeux ne verront pas d'erreurs sur
|
|
4800 petits blocs mais les verront trés facilement sur seulement 1200 plus gros
|
|
blocs (dans le cas où vous regardez les deux en plein écran).
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">Théoriquement</emphasis> : quand vous réduisez une image,
|
|
vous continuez d'utiliser les mêmes tailles de bloc (8x8) pour la transformation
|
|
de la zone de fréquence, alors vous déplacez plus de données vers ces hautes
|
|
fréquences. Pour rester simple, chaque pixel contient alors plus de détails
|
|
qu'avant.
|
|
Même en diminuant l'image contenant 1/4 des informations dans le domaine spatial,
|
|
elle pourra contenir une large part des informations dans le domaine fréquentiel
|
|
(en partant du fait que les hautes fréquences sont peu utilisées dans le fichier
|
|
original 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 précédentes.
|
|
Une meilleure estimation reste que le débit augmente proportionellement à la
|
|
racine carrée de la résolution, donc une image 320x240 à 400kbit/sec
|
|
sera comparable à celle en 640x480 à 800 kbit/sec.
|
|
Cela n'a pas été strictement vérifié par la théorie ou une quelconque méthode empirique.
|
|
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 recommendations générales
|
|
du style: un nombre de bits par longeur de diagonale (similaire au bit par pixel,
|
|
en utilisant la racine carrée).
|
|
</para>
|
|
<para>
|
|
Nous discuterons plus tard en détails 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 compte des différents types
|
|
d'information de la source vidéo.
|
|
En premier lieu, il faut calculer le ratio d'aspect 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 redimensionnée,
|
|
</para></listitem>
|
|
<listitem><para>
|
|
ARa est le ratio 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 pour le NTSC (720/480),
|
|
</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.
|
|
Dans certain cas, vous êtes limité par la taille finale du film (1 ou 2 CDs par
|
|
exemple), il y a donc une limite totale du nombre de bits pour cette compression
|
|
et la qualité.
|
|
</para>
|
|
|
|
<para>
|
|
Le CQ dépends du débit, de la qualité intrinséque 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 final désiré et la longeur du final,
|
|
ce qui est 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 macroblocs (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 visible).
|
|
Donc il est raisonnable de prendre un CQ entre 0,20 et 0,22 pour un rip tenant
|
|
sur 1 CD, et entre 0,26 et 0,28 pour un rip de 2 CDs pour des options d'encodage
|
|
standard.
|
|
Des options plus avancées pour l'encodage sont disponibles 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>
|
|
afin d'obtenir une qualité similaire avec un CQ se situant maintenant entre
|
|
0,18 et 0,20 pour un rip 1 CD et 0,24 à 0,26 pour un rip 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 bien noter que le CQ n'est qu'un indicateur, il dépend directement
|
|
du contenu encodé, un CQ de 0,18 sera suffisant 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, ce ne serait qu'une
|
|
perte de bits inutilisés sans que la qualité globale soit franchement meilleure.
|
|
Enfin, notez aussi, comme cela a été dit plus haut que les vidéos en
|
|
plus petites résolutions auront besoin d'un plus gros CQ (comparé à la résolution
|
|
d'un DVD par exemple) pour avoir 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 afin de 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ésentrelacement, le téléciné, le téléciné inverse, ou l'effacement
|
|
des macroblocs trop visible, pour n'en nommer que quelques un.
|
|
Le grand nombre de formats d'entrées supportés, ainsi que la variété des
|
|
filtres disponibles dans <application>MEncoder</application> sont les
|
|
principaux avantages de l'applications par rapport aux autres applications.
|
|
avantages de
|
|
</para>
|
|
|
|
<para>
|
|
Les filtres sont chargés dans la chaine grâce à l'option -vf :
|
|
|
|
<screen>-vf filtre1=options,filtre2=options,...</screen>
|
|
|
|
La plupart des filtres prend en compte plusieurs options numériques, mais
|
|
la syntaxe varie d'un filtre à l'autre, aussi vaudrait-il mieux que vous
|
|
consultiez la page man pour les filtres que vous souhaitez utiliser.
|
|
</para>
|
|
|
|
<para>
|
|
Les filtres agissent sur la vidéo dans l'ordre de leur chargement, par exemple,
|
|
la chaine suivante :
|
|
<screen>-vf crop=688:464:12:4,scale=640:464</screen>
|
|
découpera 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 de la chaine, car
|
|
ils doivent prendre des informations importantes auprès de l'encodeur vidéo
|
|
avant que d'autres filtres ne les altèrent.
|
|
Les principaux exemples sont le <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> (convertion du soft telecine 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 découpage est souvent
|
|
nécessaires (voir raisions au dessus), mais évitez le redimensionnement de l'image
|
|
par le zoom. En revanche, le redimensionnement par un dé-zoom est parfois utilisé
|
|
pour des quantificateurs plus grand, mais nous désirons éliminer ces deux
|
|
choses : depuis le départ, nous souhaitons que les bits soient utilisés pour améliorer la
|
|
qualité de l'image.
|
|
</para>
|
|
|
|
<para>
|
|
De plus, 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 exclusivement
|
|
faits lors du processus de lecture.
|
|
</para>
|
|
|
|
<para>
|
|
Une chose que vous pouvez vouloir faire est passer la vidéo à travers un filtre trés léger
|
|
anti-bruit, comme par exemple avec l'option <option>-vf hqdn3d=2:1:2</option>. Une
|
|
fois de plus, ceci sert à optimiser l'utilisation des bits: pourquoi gaspiller des
|
|
bits à encoder du noir parasité alors que le rendu sera du noir pur à l'écran ?
|
|
L'augmentation du paramètre <option>hqdn3d</option> pourra augmenter la compression
|
|
globale, mais si vous l'augmentez trop, l'image sera alors dégradée. La valeur suggérée
|
|
ci-dessus (<option>2:1:2</option>) est plutot conservatrice, n'hésitez pas à
|
|
l'augmenter et à regarder le résultat par vous-même.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-interlacing">
|
|
<title>Interlacing et Télécine</title>
|
|
|
|
<para>
|
|
La plupart des films sont tournés en 24 fps. Puisque le NTSC est en 30000/1001 fps,
|
|
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 fps,
|
|
et en répétant chaque quatrième trame.
|
|
</para>
|
|
|
|
<para>
|
|
Aucun traitement spécifique, n'est cependant appliqué pour la vidéo des DVDs
|
|
PAL, qui marchent à 25 fps (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
|
|
24 fps est simplement lu en 25 fps. Le résultat est que la vidéo tourne
|
|
légèrement plus vite, mais à moins d'être un extra-terrestre, vous ne verrez pas la
|
|
différence. La plupart des DVDs ont de l'audio dont le ton a été corrigé,
|
|
donc quand elle est jouée à 25 fps le son reste correct, 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
|
|
du débit. La source est en 25 fps, et votre rip sera en 25 fps. Cependant,
|
|
si vous rippez 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 24fps, la vidéo du DVD NTSC est soit en 30000/1001 fps
|
|
téléciné, soit en 24000/1001 fps 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ésentrelacement avec les DVDs NTSC</link>
|
|
pour apprendre à gérer les différentes possibilités.
|
|
</para>
|
|
|
|
<para>
|
|
De toute façon, si vous rippez surtout des films, vous rencontrerez soit de
|
|
la vidéo 24 fps progressive, soit 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éo entrelacées</title>
|
|
|
|
<para>
|
|
Si la vidéo que vous désirez encoder est entrelacée (NTSC ou PAL), il vous faudra
|
|
alors choisir de la désentrelacer ou pas.
|
|
D'un coté, si vous la passez en désentrelacé, votre film sera utilisable en
|
|
progressive scan pour les écrans d'ordinateurs ou les projecteurs vidéos, mais
|
|
cela aura un prix : le fieldrate de 50 ou 60000/1001 trames par seconde passera à
|
|
25 ou 30000/1001 trames par seconde, et en gros, vous perdrez la moitié des
|
|
informations durant les scènes avec beaucoup de mouvements.
|
|
</para>
|
|
|
|
<para>
|
|
Ainsi, si vous encodez pour avoir des archives de haute qualité, il est recommandé
|
|
de ne pas désentrelacer.
|
|
Vous pouvez toujours desentrelacer le film au moment de la lecture avec des
|
|
appareils en progressive scan, et les les futurs lecteurs pourront désentrelacer
|
|
toutes les trames, en interpolant les 50 ou 60000/1001 frames par seconde depuis
|
|
la video entrelacée.
|
|
</para>
|
|
|
|
<para>
|
|
Des précautions spéciales doivent être prises lors d'un travail sur les vidéos entrelacées:
|
|
</para>
|
|
|
|
<orderedlist>
|
|
<listitem><para>
|
|
Les découpes sur la hauteur et l'offset sur Y 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 postprocessing et d'anti-bruit ne marcheront pas comme prévu,
|
|
sauf si vous faites bien attention à ce qu'ils travaillent sur une frame à la fois, et
|
|
ils peuvent endommager la qualité finale s'ils sont utilisés de manière incorrecte.
|
|
</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>
|
|
Remarquez l'option <option>ilme</option> et <option>ildct</option>.
|
|
</para>
|
|
</sect2>
|
|
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-av-sync">
|
|
<title>Commentaires sur le 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 récupérer les fichiers avec des synchronisations abimées.
|
|
Il arrive que dans certain cas, il y ait des sauts ou des frames en double,
|
|
ce qui provoque une désynchronisation A/V, quand vous utilisez des entrées propres
|
|
(bien sûr, les problèmes de synchro A/V ne s'appliquent que si vous avez copié ou
|
|
rippé le son en meme temps que l'encodage de la vidéo).
|
|
Vous pouvez ensuite activer l'option de synchronisation <option>-mc 0</option>,
|
|
ou la mettre dans votre fichier de config <systemitem>~/.mplayer/mencoder</systemitem>.
|
|
Elle ne sera utilisée qu'avec les sources vidéos propres (DVD, capture Télé,
|
|
bon rip MPEG-4, etc) mais pas pour des fichiers ASF/RM/MOV détériorés.
|
|
</para>
|
|
<para>
|
|
Si vous désirez une protection plus efficace contre les sauts ou multiplications
|
|
de frames, utilisez ces deux options : <option>-mc 0</option> et <option>-noskip</option>.
|
|
Cela empêchera <emphasis>toutes</emphasis> synchronisation A/V, ou la copie de
|
|
frames à frames, donc vous ne pouvez l'utiliser avec aucun autre filtre qui
|
|
pourrait produire aléatoirement des ajouts ou sauts de frames, ou si votre source
|
|
a un framerate variable!
|
|
C'est pour cela que l'option <option>-noskip</option> n'est en général pas recommandée.
|
|
</para>
|
|
<para>
|
|
L'endodage audio nommé "3 passes" que <application>MEncoder</application>
|
|
supporte est connu pour provoquer des désynchronisations A/V
|
|
Ceci arrive généralement que lorsqu'il rentre en conjonction avec certains filtres,
|
|
donc il n'est pas recommandé d'utiliser ce mode "3 passes".
|
|
Cette fonctionnalité est conservée seulement pour une question de compatibilité
|
|
et pour certains utilisateurs experts qui savent quand il est bon de l'utiliser
|
|
ou pas. Si vous n'avez jamais entendu parler de ce mode "3 passes", oubliez le
|
|
maintenant.
|
|
</para>
|
|
<para>
|
|
On a rapporté des désynchronisations A/V lors d'un encodage depuis stdin
|
|
avec <application>MEncoder</application>. Ne faites pas ça ! Utilisez toujours
|
|
un fichier ou bien une source telle qu'un CD/DVD/etc.
|
|
</para>
|
|
</sect2>
|
|
<sect2 id="menc-feat-dvd-mpeg4-audio">
|
|
<title>Audio</title>
|
|
|
|
<para>
|
|
L'audio est un problème bien plus simple à résoudre : si la qualité importe,
|
|
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 pouvez être tenté de convertir l'audio en Ogg Vorbis de haute qualité,
|
|
mais ne pas avoir de décodeur AC3 aujourd'hui ne veut pas dire que vous n'en
|
|
n'aurez pas demain. Préparez le futur de vos rips DVDs en gardant le flux AC3.
|
|
Vous pouvez conserver le flux AC3 en le copiant directement dans le flux vidéo
|
|
<link linkend="menc-feat-mpeg4">pendant l'encodage</link>. On peut aussi extraire
|
|
le flux AC3 pour le mixer dans des conteneurs comme NUT ou Matroska.
|
|
<screen>mplayer <replaceable>fichier_source.vob</replaceable> -aid 129 -dumpaudio
|
|
-dumpfile <replaceable>son.ac3</replaceable></screen>
|
|
mettra dans ce fichier <replaceable>sond.ac3</replaceable> la piste audio numéro
|
|
129 du fichier source <replaceable>fichier_source.vob</replaceable> (NB : les fichiers
|
|
VOB d'un DVD utilise normalement une autre systeme de numéro pour l'audio, ce qui
|
|
pourrait dire que le fichier 129 serait la seconde piste de ce fichier VOB).
|
|
</para>
|
|
|
|
<para>
|
|
Parfois, il arrivera que vous n'ayez pas d'autre choix que de compresser le son
|
|
pour laisser plus de place à la vidéo. La plupart des gens optent alors pour le
|
|
codec MP3 ou le Vorbis.
|
|
Bien que le codec MP3 soit moyennement efficace, il est de mieux en mieux
|
|
accepté par les lecteurs de salon, mais cette tendance évolue.
|
|
</para>
|
|
|
|
<para>
|
|
N'utilisez <emphasis>pas</emphasis> l'option <option>-nosound</option> quand vous
|
|
encodez un fichier avec de l'audio, même si vous voulez encoder puis mixer l'audio
|
|
dans un deuxième temps.
|
|
Cela devrait pourtant marcher dans la plupart des cas, mais l'option <option>-nosound</option>
|
|
cache certains problèmes dans les réglages en ligne de commande.
|
|
En d'autres mots, avoir une piste audio pendant l'encodage vous permettra de ne pas
|
|
avoir ce type de messages comme <quote>Trop de paquets audio dans la mémoire tampon
|
|
</quote>, et vous aurez ainsi une synchronisation propre.
|
|
</para>
|
|
|
|
<para>
|
|
Vous aurez besoin de <application>MEncoder</application> pour traiter le son.
|
|
Vous pouvez copier la bande son originale pendant l'encodage avec l'option
|
|
<option>-oac copy</option> ou la convertir en un "petit" 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 frames vidéo dans le fichier source ne correspond
|
|
pas exactement à la longeur totale des frames audios ou bien lorsqu'il y a une
|
|
discontinuité ou des frames audio en trop ou manquantes. La meilleure
|
|
façon de traiter ces soucis est d'insérer un silence ou bien de couper l'audio
|
|
à ces point.
|
|
Cependant, <application>MPlayer</application> ne sait pas faire cela, si vous
|
|
avez démultiplexé l'AC3, vous pourrez l'encoder avec une application externe
|
|
(ou le transformer en PCM avec <application>MPlayer</application>), les supperpositions
|
|
de son seront mises de coté, et la seule manière de corriger cela au niveau de
|
|
la vidéo, sera de la couper pendant des erreurs.
|
|
Du moment que <application>MEncoder</application> voit l'audio pendant qu'il
|
|
encode la vidéo, il peut faire ces découpes (ce qui fonctionne habituellement
|
|
car elles se produisent lors d'un changement de scène avec fondu au noir) mais si
|
|
<application>MEncoder</application> ne voit pas l'audio, il encodera toutes les frames telles quelles
|
|
et elles ne tiendront pas dans le fichier audio final, quand, par exemple,
|
|
vous mélangerez la piste video et sonore 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 du fichier <replaceable>source_file.vob</replaceable>
|
|
pour la placer dans le fichier <replaceable>destination_sound.wav</replaceable>.
|
|
Vous devrez ensuite normaliser le son avec l'encodage, car les pistes
|
|
audio des DVDs sont généralement enregistrés avec un volume bas.
|
|
Vous pouvez utiliser l'outil <application>normalize</application> qui est
|
|
normalement disponible dans toutes les distributions.
|
|
Si vous utilisez Windows, un outil comme <application>BeSweet</application>
|
|
donnera le même résultat.
|
|
Il faudra ensuite l'encoder 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 équivalent à environ 80Kb/s, soit le strict minimum en terme de qualité.
|
|
Notez que <application>MEncoder</application> ne sait pas
|
|
encore multiplexer des pistes audio Vorbis car il ne supporte que des conteneurs
|
|
en sortie du type AVI ou MPEG, ce qui signifie qu'il y aura des problèmes de
|
|
synchronisation lors de la lecture avec quelques lecteurs vidéo avec l'AVI
|
|
contenant un flux audio VBR en Vorbis.
|
|
Soyez sans crainte, 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 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>, étant
|
|
une librairie extraite du projet FFmpeg, supportant le multiplexage et démultiplexage
|
|
vers une grande variété de conteneurs.
|
|
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>
|
|
-of lavf -lavfopts format=asf</screen>
|
|
Cela fera strictement la meme chose que l'exemple d'avant, mais le conteneur
|
|
de sortie sera alors de l'ASF.
|
|
Prenez note : ce support est à l'état expérimental (mais 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 binaires en package ne marcheront certainement pas).
|
|
</para>
|
|
|
|
<sect3 id="menc-feat-dvd-mpeg4-muxing-filter-issues">
|
|
<title>Amélioration de la fiabilité lors du multiplexage A/V</title>
|
|
<para>
|
|
Vous avez sûrement pu expérimenter des problèmes de désynchonisation A/V
|
|
quand vous multiplexiez des pistes vidéos et audio A/V, même en ajustant
|
|
le délai de décalage du son, il y avait toujours un décalage.
|
|
Ceci est dû à l'utilisation de filtre qui dupliquent ou ajoutent des images,
|
|
comme le filtre téléciné inverse. Il est vivement conseillé d'utiliser le
|
|
filtre vidéo <option>harddup</option> à la fin des filtres pour éviter
|
|
ce problème.
|
|
</para>
|
|
|
|
<para>
|
|
Sans l'option <option>harddup</option>, si <application>MEncoder</application>
|
|
veut dupliquer une image, il va demander au multiplexeur de mettre en place
|
|
une marque sur le conteneur, ainsi la dernière image sera affichée pour maintenir
|
|
la synchronisation sans avoir à écrire une nouvelle image.
|
|
Avec l'option <option>harddup</option>, <application>MEncoder</application>
|
|
affichera encore l'image dans le filtre au lieu de pousser la frame précédente.
|
|
Ce qui veut dire que l'encodeur recevra <emphasis>exactement</emphasis> les mêmes
|
|
frames plusieurs fois, puis les compressera.
|
|
Cela donnera un fichier légèrement plus grand, mais cela ne posera plus de
|
|
problèmes quand vous démultiplexerez ou multiplexerez vers un autre conteneur.
|
|
</para>
|
|
|
|
<para>
|
|
Vous n'aurez pas d'autre choix que d'utiliser <option>harddup</option> avec certains
|
|
formats de conteneur peu liés à <application>MEncoder</application> comme ceux
|
|
supportés par <systemitem class="library">libavformat</systemitem>, qui ne supportent
|
|
pas la duplication de frame 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 mieux supporté aprés le MPEG-1, l'AVI a
|
|
des inconvénients majeurs.
|
|
Peut-être que plus évident est le surcoût.
|
|
Pour chaque morceau du fichier AVI, 24 octets sont utilisés dans les entêtes et dans l'index.
|
|
Ceci se traduit à environ 5Mo par heure, soit à peu près 1-2,5% de surcoût
|
|
sur un fichier de 700Mo. Cela peut ne pas sembler être important, mais c'est ce qui
|
|
fait la différence dans un fichier qui utilise 700 kbits/sec au lieu de 714 kbits/sec:
|
|
pour la qualité, chaque bit compte.
|
|
</para>
|
|
|
|
<para>
|
|
En plus de cette grosse inefficacité, l'AVI a aussi d'autres limitations importantes:
|
|
</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>
|
|
Seuls les contenus à fps constants 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).
|
|
En fait, il y a des modifications qui permettent de stocker des contenus à fps
|
|
variables dans un AVI, mais ils mutliplient par au moins 5 la taille des entêtes (déjà grosse).
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
L'audio dans un fichier AVI doit aussi avoir un débit constant (CBR) ou une
|
|
taille de 'frames' constante (par exemple : toutes les frames décodent le même
|
|
nombre d'échantillons).
|
|
Malheureusement, le meilleur codec, Vorbis, ne rentre pas dans 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>
|
|
Aprés avoir dit tout cela, <application>MEncoder</application> ne supporte pas actuellement
|
|
l'encodage avec des fps variables ou le Vorbis;
|
|
Donc vous n'allez pas voir de limitation de <application>MEncoder</application> si vous
|
|
n'utilisez que cet outil pour produire vos encodages.
|
|
Pourtant, il est possible d'utiliser <application>MEncoder</application> uniquement pour
|
|
l'encodage vidéo, 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 avec le conteneur Matroska</title>
|
|
<para>
|
|
Matroska est un conteneur libre, ouvert, qui offre de nombreuses options avancées
|
|
que, par exemple, l'AVI ne peut pas supporter.
|
|
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) et d'autres choses non supporté par l'AVI.
|
|
</para>
|
|
|
|
<para>
|
|
Les outils nécessaires à la création de fichier Matroska sont appelés <application>mkvtoolnix</application>,
|
|
et sont disponibles dans la plupart des systèmes Unix mais aussi sous <application>Windows</application>.
|
|
Puisque Matroska est un standard ouvert, vous trouverez sûrement d'autres outils
|
|
qui vous conviendront parfaitement, 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 assurément de démarrer avec Matroska, est d'utiliser
|
|
<application>MMG</application>, une interface graphique livrée avec <application>mkvtoolnix</application>,
|
|
et suivre le guide sur <ulink url="http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html">l'interface mkvmerge (mmg)</ulink>.
|
|
</para>
|
|
|
|
<para>
|
|
Vous pouvez multiplexer des fichiers vidéo et audio en utilisant la commande :
|
|
<screen>mkvmerge -o <replaceable>sortie.mkv</replaceable> <replaceable>entree_video.avi</replaceable>
|
|
<replaceable>entre_son1.mp3</replaceable> <replaceable>entree_son2.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_son1.mp3</replaceable> et <replaceable>entree_son2.ac3</replaceable>
|
|
dans un fichier Matroska <replaceable>sortie.mkv</replaceable>.
|
|
Matroska, comme mentionné plus tôt, est capable de faire bien plus, 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écine ?</title>
|
|
<para>
|
|
Je vous suggère de visiter la page suivante sous peine de ne rien comprendre
|
|
au document suivant :
|
|
<ulink url="http://www.divx.com/support/guides/guide.php?gid=10">http://www.divx.com/support/guides/guide.php?gid=10</ulink>
|
|
Ce lien pointe vers une documentation relativement compréhensible sur le format
|
|
télécine.
|
|
</para></formalpara>
|
|
|
|
<formalpara>
|
|
<title>Une note à propos des chiffres</title>
|
|
<para>
|
|
Beaucoup de documents, entre autre le guide proposé ci-dessus, renvoie à un
|
|
nombre de trames par secondes pour la vidéo NTSC de 59.94 ce qui correspond à
|
|
29.97 images par secondes (pour le télécine entrelacé à et 23.976 fps pour
|
|
le progressive. Pour des raisons de simplicité, des documents utilisent les
|
|
chiffres arrondis de 60, 30 et 24.
|
|
</para></formalpara>
|
|
|
|
<!-- checked so far 2 / pl -->
|
|
<para>
|
|
En toute rigueur, ces nombres sont des approximations. Des vidéos Noire/Blanche
|
|
sont à 60 trames par secondes exactement, puis 60000/1001 a été choisi plus tard
|
|
pour la couleur mais aussi pour garder une retro-compatibilité avec les télévisions
|
|
en N/B. La vidéo numérique NTSC (comme le DVD) est aussi en 60000/1001 trames
|
|
par seconde. A partir de cela, la vidéo entrelacée et télécinée est dérivée vers
|
|
30000/1001 images par seconde ou pour les vidéos progressives en 24000/1001
|
|
images par secondes.
|
|
</para>
|
|
|
|
<para>
|
|
De plus anciennes versions de la documentation <application>MEncoder</application>
|
|
et plusieurs posts archivé provenant de liste de diffusion se référent encor à
|
|
59.94, 29.97, et 23.976.
|
|
Toute la documentation de <application>MEncoder</application> a été mise à jour
|
|
pour utiliser les valeurs fractionées, et vous devriez aussi les utilisées.
|
|
</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é être affiché sur des télévision en NTSC
|
|
doivent être en 60000/1001 trames par secondes. Les téléfilms sont souvent
|
|
filmé directement à 60000/1001 trames par secondes, alors que la majorité des
|
|
films au cinéma sont en 24000/1001 images par seconde. Quand les séquences
|
|
cinématique pour le DVD 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é à 60000/1001 trames par seconde.
|
|
Si la vidéo est d'origine en 60000/1001, chaque paire de trames est alors combinée
|
|
pour former une image, ce qui donne 30000/1001 images par seconde. Les lecteurs de
|
|
DVD de salon lisent alors les drapeaux embarqués sur le flux vidéo pour déterminer
|
|
si la première ligne à afficher serait paire ou impaire.
|
|
</para>
|
|
|
|
<para>
|
|
Normalement, les contenus à 24000/1001 images par seconde restent comme cela
|
|
lorsqu'ils sont encodés pour un DVD, alors, les lecteurs DVD doivent faire
|
|
la conversion téléciné à la volée. Parfois, la vidéo est téléciné <emphasis>avant</emphasis>
|
|
d'être stocké sur le DVD, même si c'était originalement du 24000/1001 images
|
|
par seconde, cela devient 60000/1001 trames par seconde. Quand c'est stocké
|
|
sur le DVD, les trames sont combinées par pairs pour former 30000/1001 images
|
|
par seconde.
|
|
</para>
|
|
|
|
<para>
|
|
Quand on regarde les trames formées individuellement à partir de la vidéo en
|
|
60000/10001 champs par seconde, téléciné ou autre, l'entrelacement est
|
|
clairement visible qu'il y ait un mouvement ou non, parcequ'un champs (dit,
|
|
les lignes impaires) représente un moment dans le temps 1/(60000/1001) seconde
|
|
plutard que les autres. Jouer une vidéo entrelacé sur un ordinateur semble
|
|
dans les deux cas moches parceque l'écran a une résolution plus élévée et
|
|
parceque la vidéo se déroule trame après trame à la place de champs après champs.
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<title>Notes :</title>
|
|
<listitem><para>
|
|
Cette section est seulement destinés aux DVDs NTSC, pas au PAL.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Les lignes d'exemple de <application>MEncoder</application> présenté dans ce
|
|
document ne sont <emphasis role="bold">pas</emphasis> à utiliser tel quel.
|
|
Elles sont juste là pour montrer le minimum à faire en relation avec ce chapitre.
|
|
Comment faire un bon rip DVD et des réglages finement étudiés avec <systemitem class="library">libavcodec</systemitem>
|
|
afin d'obtenir une qualité maximale n'est pas l'objectif de ce document.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Quelques notes spéficiques à ce guide sont disponibles aux pieds de ce documents,
|
|
et 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 trouver le type de votre vidéo ?</title>
|
|
|
|
<sect3 id="menc-feat-telecine-ident-progressive">
|
|
<title>Progressive</title>
|
|
<para>
|
|
Les vidéos progressives sont filmées initialement à 24000/1001 fps et stockées
|
|
sur le DVD sans altération.
|
|
</para>
|
|
|
|
<para>
|
|
Quand vous lisez un DVD progressive dans <application>MPlayer</application>,
|
|
il affiche la ligne suivante avant de commencer la lecture :
|
|
|
|
<screen> demux_mpg: 24000/1001 fps progressive NTSC content detected, switching framerate.</screen>
|
|
|
|
Dans l'état actuel des choses, demux_mpg ne devrait jamais être trouvé pour
|
|
"une vidéo NTSC à 30000/1001 fps."
|
|
</para>
|
|
|
|
<para>
|
|
Quand vous regardez une vidéo progressive, vous ne devrez voir aucun entrelacement.
|
|
Mais soyez attentif, il arrive parfois que du 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, voir de temps en temps à une
|
|
zone totalement aléatoire. Une autre fois, la moitié du DVD était en progressif
|
|
et l'autre moitié en téléciné. Si vous n'êtes pas <emphasis>vraiment</emphasis> sûr,
|
|
vous pouvez toujours 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 peut et en fonction du matériel, cela peut prendre un certain
|
|
temps. Chaque fois que demux_mpg génére une ligne, celle-ci vous donnera
|
|
immédiatement la valeur du changement .
|
|
</para>
|
|
|
|
<para>
|
|
Parfois, la vidéo progressive sur des DVDs considérés comme un "soft-telecine"
|
|
car il devrait être téléciné 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é sont d'abord filmées à 24000/1001 et seront télécinées
|
|
<emphasis>avant</emphasis> d'être gravé sur DVD.
|
|
</para>
|
|
|
|
<para>
|
|
<application>MPlayer</application> ne doit (jamais) détecter une changement de fps
|
|
quand une vidéo téléciné est lue.
|
|
</para>
|
|
|
|
<para>
|
|
Au visionnage d'une vidéo téléciné, vous verrer des artefacts d'entrelacement
|
|
donnant l'impression de "clignotement": apparaissant et disparaissant
|
|
rapidement.
|
|
Vous pouvez le voir plus précisement avec :
|
|
<orderedlist>
|
|
<listitem>
|
|
<screen>mplayer dvd://1</screen>
|
|
</listitem>
|
|
<listitem><para>
|
|
Chercher une partie en mouvement.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Utiliser la touche <keycap>.</keycap> pour avancer image par image.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Observer la forme donnée par l'entrelacement et les images progressives.
|
|
Si la forme que vous voyez semble comme PPPII,PPPII,PPPII,... alors la vidéo est
|
|
téléciné. Si ce n'est pas le cas, la vidéo a peut-être été téléciné selon des règles
|
|
non standard, <application>MEncoder</application> ne sait pas convertir un téléciné
|
|
non-standart vers du progressive sans dégradation. Si aucune forme n'est visible, c'est
|
|
alors sûrement une vidéo entrelacée.
|
|
</para></listitem>
|
|
</orderedlist>
|
|
</para>
|
|
|
|
<para>
|
|
Parfois, les vidéos télécinées sur les DVD sont "hard-teleciné". Le hard-teleciné
|
|
étant à 60000/1001 images par seconde, les lecteurs de DVD liront la vidéo sans modification.
|
|
</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> voit d'images.
|
|
Si la source est téléciné, vous devriez voir sur la console une forme 3:2 avec des
|
|
alternances de <systemitem>0+.1.+2</systemitem> et <systemitem>0++1</systemitem>.
|
|
L'avantage de cette technique et que vous n'avez pas besoin de visionner la
|
|
source pour l'identifier, donc utile pour automatiser l'encodage de vidéo, ou
|
|
bien effectuer ces procedures à distance même grâce à une connection internet lente.
|
|
</para>
|
|
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-telecine-ident-interlaced">
|
|
<title>Entrelacée</title>
|
|
<para>
|
|
Les vidéos entrelacées sont d'abord filmées en 60000/1001 frames par seconde,
|
|
puis stockées sur le DVD à 30000/1001 frames par secondes. L'effet d'entrelacement
|
|
(souvent appelé "combing") est le résultat d'une combinaison de paires
|
|
de trames dans chaque frames. Chaque frame est supposée être caché 1/(60000/1001)
|
|
d'une seconde, quand elles sont affichées en même temps, la différence devient
|
|
visible.
|
|
</para>
|
|
|
|
<para>
|
|
Comme pour la vidéo télécinée, <application>MPlayer</application> ne devrait
|
|
jamais signaler un changement de framerate à la lecture de la vidéo entrelacée.
|
|
</para>
|
|
|
|
<para>
|
|
Si vous regardez une vidéo entrelacée de plus près, image par image avec la
|
|
touche <keycap>.</keycap>, vous pourrez voir l'entrelacement de chaque frame.
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-telecine-ident-mixedpt">
|
|
<title>Mélange de vidéo progressive et télécinée</title>
|
|
<para>
|
|
Toutes les vidéos qui "mélangent progressif et téléciné" ont été au
|
|
départ en 24000/1001 frames par seconde, et certaines parties ont été téléciné.
|
|
</para>
|
|
|
|
<para>
|
|
Quand <application>MPlayer</application> joue ce type de fichier, il jonglerai
|
|
(souvent rapidement) entre "30000/1001 fps NTSC" et "24000/1001 fps
|
|
NTSC progressif". Regardez la sortie des messages de <application>MPlayer</application>.
|
|
</para>
|
|
|
|
<para>
|
|
Vous devriez aller voir la section "30000/1001 fps NTSC" afin d'être
|
|
sûr que c'est vraiment téléciné, et pas seulement entrelacé.
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-telecine-ident-mixedpi">
|
|
<title>Mélange de progressif et d'entrelacement</title>
|
|
<para>
|
|
Dans les vidéos qui "mélangent progressif et téléciné", les flux vidéos
|
|
progressifs et entrelacés sont réunis ensemble.
|
|
</para>
|
|
|
|
<para>
|
|
Cette catégorie ressemble à du "mélange progressif et téléciné" jusqu'à
|
|
ce que vous examiniez la partie 30000/1001 fps et que vous vous apperceviez
|
|
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 mentionné au départ, ces prochaines lignes de "HowTo"
|
|
<application>MEncoder</application> ne sont <emphasis role="bold">pas</emphasis> là pour être strictement
|
|
utilisé tel quel, mais pour informer des paramètres minimum d'encodages pour
|
|
chaque catégorie.
|
|
</para>
|
|
|
|
<sect3 id="menc-feat-telecine-encode-progressive">
|
|
<title>Le progressif</title>
|
|
<para>
|
|
La vidéo progressive ne nécessite pas de filtre spécial pour l'encodage.
|
|
Pourtant, un paramètre ne doit pas omettre : <option>-ofps 24000/1001</option>. Sinon,
|
|
<application>MEncoder</application> essayera d'encoder à 30000/1001 fps et produira des
|
|
images en double.
|
|
</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 petites parties en téléciné. A moins d'être vraiment
|
|
sûr l'état de la vidéo, il sera préférable de traiter la vidéo comme
|
|
<link linkend="menc-feat-telecine-encode-mixedpt"> progressif et téléciné mélangés</link>.
|
|
La perte de qualité est négligeable <link linkend="menc-feat-telecine-footnotes">[3]</link>.
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-telecine-encode-telecined">
|
|
<title>Téléciné</title>
|
|
<para>
|
|
Les vidéos télécinés peuvent redonner le contenu original à 24000/1001 avec
|
|
un processus appelé inverse-téléciné.
|
|
<application>MPlayer</application> a plusieurs filtres disponibles pour ceci,
|
|
mais le meilleur, <option>pullup</option>, est abordé à 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>L'entrelacé</title>
|
|
<para>
|
|
Pour des raisons pratique, il n'est pas possible de retrouver entièrement une
|
|
vidéo progressive depuis une entrelacée. La seule manière de faire cela sans
|
|
perdre la moitié de la résolution verticale est de doubler le framerate et
|
|
essayer de "deviner" les lignes correspondantes pour chaque frame
|
|
(cela a des inconvénients, voir la méthode 3).
|
|
</para>
|
|
|
|
<orderedlist>
|
|
<listitem><para>
|
|
Encodez la vidéo sous une forme entrelacée. Normalement, l'enterlacement
|
|
détériore l'habilité de l'encodeur à bien compresser, mais <systemitem class="library">libavcodec</systemitem>
|
|
possède deux paramètres spécifiquement fait pour stocker la vidéo entrelacé un
|
|
peu mieux: <option> ildct</option> et <option>ilme</option>. Aussi,
|
|
l'utilisation de <option>mbd=2</option> est fortement recommandé <link linkend="menc-feat-telecine-footnotes">[2] </link>
|
|
parceque cela encodera les macroblocs non-entrelacé à 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. Il y a plusieurs de
|
|
ces filtres disponibles aux choix, chacun avec ces propres avantages et
|
|
désavantages. Consultez <option>mplayer -pphelp</option> pour voir quels sont
|
|
ceux disponible (grep pour "deint"), et cherchez les
|
|
<ulink url="http://www.mplayerhq.hu/homepage/design6/info.html#mailing_lists">
|
|
listes de diffusion MPlayer</ulink> pour trouver plusieurs discussions sur les
|
|
différents filtres. Encor une fois, le framerate ne change pas, donc pas de
|
|
<option>-ofps</option>. Aussi, le désentrelacement devra être fait après
|
|
découpage <link linkend="menc-feat-telecine-footnotes">[1]</link> et
|
|
avant dimensionnement.
|
|
|
|
<screen>mencoder dvd://1 -oac copy -vf pp=lb -ovc lavc</screen>
|
|
</para></listitem>
|
|
<listitem><para>
|
|
Malheureusement, cette option est un bogué avec
|
|
<application>MEncoder</application>; cela devrait bien marché avec
|
|
<application>MEncoder G2</application>, mais on en est pas encor là. Vous
|
|
pourriez faire l'expérience de crash. Qu'importe, le but de <option> -vf tfields</option>
|
|
est de créer une frame complète à partir de chaque champs, ce qui
|
|
donne le framerate 60000/1001. L'avantage de cette approche est qu'aucune
|
|
donnée n'est jamais perdue; Cependant, vu que chaque frame viens avec seulement
|
|
un champs, les lignes manquantes doivent être interpolé d'une façon ou d'une autre.
|
|
Il n'y a pas de très bonne méthodes générant les données manquantes, et donc le
|
|
résultat sera un peu similaire à quand on utilise certains filtres de désentrelacement.
|
|
Générer les lignes manquantes créée d'autres problèmes, aussi bien,
|
|
simplement parceque le montant de donnée double. Donc, de plus haut bitrates
|
|
d'encodage sont requis pour maintenir la qualité, et plus de puissance CPU est
|
|
utilisé pour l'encodage et le décodage. tfields ont plusieurs différentes
|
|
options pour comment créer les lignes manquantes de chaque frame. Si vous
|
|
utilisez cette méthode, alors Référencez le manuel, et prenez n'importe quelle
|
|
option qui semble le mieux pour votre matériel. Notez que lors de l'utilisation de
|
|
<option>tfields</option> vous
|
|
<emphasis role="bold">devez</emphasis> spécifier les deux options <option>-fps</option>
|
|
et <option>-ofps</option> à deux fois le framerate 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 décidé de réduire la taille de façon dramatique, vous pouvez
|
|
extraire et encoder seulement un des deux champs. Bien sûr, vous perdrez la
|
|
moitié de la résolution verticale, mais si vous pensez la réduire au plus de
|
|
moitié par rapport à l'original, la perte ne sera pas trop grande. Le résultat
|
|
sera un fichier progressif à 30000/1001 frames par seconde. La procédure est
|
|
d'utiliser <option>-vf field</option>, puis de découper
|
|
<link linkend="menc-feat-telecine-footnotes">[1]</link> et de dimensionner
|
|
de manière approprié. Souvenez-vous que vous devrez ajuster la dimension pour
|
|
compenser la résolution verticale ayant été réduite de moitié.
|
|
<screen>mencoder dvd://1 -oac copy -vf field=0 -ovc lavc</screen>
|
|
</para></listitem>
|
|
</orderedlist>
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-telecine-encode-mixedpt">
|
|
<title>Progessif et téléciné mélangé</title>
|
|
<para>
|
|
Afin de rendre une vidéo de progressive et téléciné mélangé à entièrement
|
|
progressive, les parties téléciné doivent être inverse-téléciné. Il y a trois
|
|
façons d'accomplir cela, comme décrit ci-dessous. Notez que vous devrez
|
|
<emphasis role="bold">toujours</emphasis> inverse-téléciné avant tout
|
|
redimensionnement; à moins que vous sachiez vraiment ce que vous faites,
|
|
inverse-téléciné avant aussi tout découpage, <link linkend="menc-feat-telecine-footnotes">[1]</link>.
|
|
<option>-ofps 24000/1001</option> est nécessaire ici parceque la sortie vidéo
|
|
sera 24000/1001 frames par seconde.
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
<option>-vf pullup</option> est faite pour inverse-téléciné le matériel
|
|
téléciné tandis que les données progressives sont laissées intactes. Afin
|
|
de bien fonctionner, <option>pullup</option> <emphasis role="bold">doit</emphasis>
|
|
être suivi par le filtre <option>softskip</option> ou sinon <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 "progressif et téléciné mélangé".
|
|
|
|
<screen>mencoder dvd://1 -oac copy -vf pullup,softskip -ovc lavc -ofps 24000/1001</screen>
|
|
</para>
|
|
|
|
|
|
</listitem>
|
|
<listitem><para>
|
|
Une plus vieille méthode
|
|
est de, plutot que inverse-téléciné les parties téléciné, téléciner les
|
|
parties non-télécinées et ensuite inverse-téléciné la vidéo tout 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 avec
|
|
soit <option>detc</option> ou soit <option>ivtc</option>, le résultat final
|
|
sera entièrement progressif. <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 a dit:
|
|
|
|
<blockquote><para>Il est Correct, mais IMO qu'il tente de désentrelacer plutôt
|
|
que de faire l'inverse-téléciné trop souvent (tout comme les lecteurs de settop
|
|
DVD & les TVs progressive) ce qui donne des clignotements affreux et d'autre
|
|
artefacts. Si vous allez l'employer, vous devez au moins passer un peu de temps
|
|
pour affiner les options et observer la sortie premièrement pour être sûr que cela
|
|
ne mettent pas le bazar.</para></blockquote>
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-telecine-encode-mixedpi">
|
|
<title>Progressif et entrelacé mélangé</title>
|
|
<para>
|
|
Il y a deux options pour s'occuper de cette catégorie, chacune étant un
|
|
compromis. Vous devez prendre une décision basée sur la durée/localisation
|
|
de chaque type.
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
Traitez-la comme progressive. Les parties entrelacées sembleront entrelacées,
|
|
et certains des champs entrelacés devront être jeté, ayant pour résultat un
|
|
peu de sautillement inégal. Vous pouvez utiliser un filtre post-traitement si
|
|
vous le voulez, mais cela peut sensiblement dégrader les parties progressives.
|
|
</para>
|
|
|
|
<para>
|
|
Cette option devrait définitivement ne pas être utilisé si vous voulez
|
|
éventuellement afficher la vidéo sur un appareil entrelacé (avec une carte TV,
|
|
par exemple). Si vous avez entrelacé les frames dans une vidéo à 24000/1001
|
|
frames par seconde, ils seront téléciné en même temps que les frames progressive.
|
|
La moitié des "frames" entrelacées seront affichées pour une durée de trois champs
|
|
(3/(60000/1001) secondes), ce qui a pour résultat un effet pichenette de
|
|
"retour en arrière" ce qui semble tout à fait mauvais. 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 tout aussi bien être une mauvaise idée pour l'affichage progressive.
|
|
Cela laissera tomber les paires consécutives de champs entrelacées, ayant pour
|
|
résultat une discontinuité qui peut être plus visible qu'avec la seconde méthode,
|
|
ce qui montre certaines frames progressive en double. Une vidéo entrelacé à
|
|
30000/1001 frames par seconde est déjà un peu variable parceque cela devrait
|
|
vraiment être montré à 60000/1001 champs par seconde, donc les frames dupliquées
|
|
ne tiennent pas.
|
|
</para>
|
|
|
|
<para>
|
|
Qu'importe la façon, il est recommandé de considérer votre contenu et 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-la comme entrelacé. Certaines frames des parties progressive auront
|
|
besoin d'être dupliqué, ce qui résultera en un sautillement inégal. Encor une
|
|
fois, les filtres désentrelaçant peuvent passiblement dégrader les parties
|
|
progressives.
|
|
</para></listitem>
|
|
|
|
</itemizedlist>
|
|
</sect3>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-telecine-footnotes">
|
|
<title>Notes de pied</title>
|
|
<orderedlist>
|
|
<listitem><formalpara>
|
|
<title>A propos de découpage:</title>
|
|
<para>
|
|
Les données video d'un DVD sont stockées dans un format appelé YUV 4:2:0. Dans
|
|
la vidéo YUV, la luma ("luminosité") et le chroma ("couleur")
|
|
sont stockés séparément. Parceque l'oeil humain est somme toute moins sensible
|
|
à la couleur qu'il ne l'est à la luminosité, dans une image YUV 4:2:0 il y a
|
|
seulement un pixel de chroma pour 4 pixels de luma. Dans une image progressive,
|
|
chaque carré de quatre pixels de luma (deux sur chaque coté) ont un pixel de
|
|
chroma commun. Vous devez découper un YUV 4:2:0 progressif à des résolutions paires,
|
|
et utiliser un décalage pairs. 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 est un peu plus
|
|
compliqué. Au lieu que chaque série de quatres pixels de luma partage un pixel
|
|
de chroma dans une <emphasis>frame</emphasis>, tous les quatres pixels de luma
|
|
dans chaque <emphasis>champs</emphasis> partage un pixel de chroma. Quand les
|
|
champs sont entrelacés pour former une frame, chaque ligne de scan est de un
|
|
pixel de haut. Maintenant, au lieu que tout les quatres pixels de luma soient
|
|
dans un carré, ils sont deux pixels côte à côte, et les deux autres pixels
|
|
sont côte à côte deux lignes de scan plus bas. Les deux pixels de luma dans la
|
|
ligne de scan intermédiaire sont à partir de l'autre champs, et donc partage un
|
|
pixel de chroma différent avec deux pixels de luma deux lignes de scan plus loin.
|
|
Toute cette confusion rend nécessaire d'avoir des dimensions de découpe verticales
|
|
et des décalages en multiple de quatre. L'horizontal peut rester égal.
|
|
</para>
|
|
|
|
<para>
|
|
POur la vidéo téléciné, Je recommande que le découpage prenne place après l'inverse
|
|
téléciné. Une fois la vidéo progressive vous avez seulement besoin de découper par
|
|
nombre pairs. Si vous voulez vraiment gagner la légère accélération que la découpe
|
|
premièrement peut offrir, vous devez découper verticallement par multiples de quatre
|
|
ou bien le filtre inverse-téléciné n'aura pas les bonnes données.
|
|
</para>
|
|
|
|
<para>
|
|
Pour la vidéo entrelacé (pas téléciné), vous devez toujours découper verticallement
|
|
par multiples de quatre à moins que vous utilisiez <option>-vf field</option> avant de découper.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem><formalpara>
|
|
<title>A propos des paramètres d'encodage et de la qualité:</title>
|
|
<para>
|
|
Juste parceque Je recommande <option>mbd=2</option> ici ne veut pas dire
|
|
que cela ne devrait pas être utilisé 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 mieux la qualité, et vous devriez toujours utiliser au moins
|
|
une des deux à moins que la baisse de vitesse d'encodage ne soit prohibitive
|
|
(e.g. encodage temps-réel). Il y a plusieurs autres options <systemitem class="library">libavcodec</systemitem>
|
|
qui augmentent la qualité d'encodage (et réduisent la vitesse d'encodage) mais ceci est au delà
|
|
de la portée de ce document.
|
|
</para>
|
|
</formalpara>
|
|
</listitem>
|
|
|
|
<listitem><formalpara>
|
|
<title>A propos de la performance de pullup:</title>
|
|
<para>
|
|
Il est sûr d'employer <option>pullup</option> (avec <option>softskip</option>)
|
|
sur une vidéo progressive, et est habituellement une bonne idée à moins que
|
|
la source ait été définitivement vérifiée pour être enitèrement progressive.
|
|
La perte de performance est petite pour la plupart des cas. Sur une bare-minimum
|
|
d'encodage, <option>pullup</option> ralenti <application>MEncoder</application> de 50%.
|
|
L'ajout du traitement du son et de <option>lavcopts</option> avancé éclipsent cette
|
|
différence, ramenant vers le bas la baisse de performance d'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>
|
|
fourni un simple encodage à pas mal de formats vidéo et audio intéressant.
|
|
Vous pouvez encoder vers les codecs suivant (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 Video, version 1 (AKA WMV7)
|
|
</entry></row>
|
|
<row><entry>wmv2</entry><entry>
|
|
Windows Media Video, version 2 (AKA WMV8)
|
|
</entry></row>
|
|
<row><entry>rv10</entry><entry>
|
|
RealVideo 1.0
|
|
</entry></row>
|
|
<row><entry>rv20</entry><entry>
|
|
RealVideo 2.0
|
|
</entry></row>
|
|
<row><entry>mpeg1video</entry><entry>
|
|
MPEG-1 video
|
|
</entry></row>
|
|
<row><entry>mpeg2video</entry><entry>
|
|
MPEG-2 video
|
|
</entry></row>
|
|
<row><entry>huffyuv</entry><entry>
|
|
compression sans perte
|
|
</entry></row>
|
|
<row><entry>asv1</entry><entry>
|
|
ASUS Video v1
|
|
</entry></row>
|
|
<row><entry>asv2</entry><entry>
|
|
ASUS Video v2
|
|
</entry></row>
|
|
<row><entry>ffv1</entry><entry>
|
|
codec vidéo sans perte de FFmpeg
|
|
</entry></row>
|
|
<row><entry>svq1</entry><entry>
|
|
Sorenson video 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 devraient être passé après la
|
|
config de <literal>vcodec</literal>, 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 devra être passé après l'option
|
|
<literal>acodec</literal>, 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>,
|
|
ces codecs audio ne font pas un usage sage des bits qu'on leur donne
|
|
vu qu'ils manquent de certain modèle psychoacoustic minimal (le cas échéant)
|
|
ce que la plupart des autres implémentations de codec comportent.
|
|
Cependant, notez que tous ces codecs audio sont très rapide et fonctionne en dehors
|
|
de leur environnement à 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 librairies 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 malheureusement dur à implémenter vu que les
|
|
différentes options d'encodage donnent différents résultats de qualité
|
|
dépendamment de la source matériel.
|
|
C'est parceque la compression dépend des propriétés visuelles de la vidéo en
|
|
question.
|
|
Par exemple, une 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 mise à
|
|
part, 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 commune.
|
|
</para>
|
|
|
|
|
|
<itemizedlist>
|
|
<title>Options à ajuster:</title>
|
|
<listitem><para>
|
|
<emphasis role="bold">vmax_b_frames</emphasis>: 1 ou 2 est bon, dépendamment
|
|
du film.
|
|
Notez que si vous nécessitez d'avoir votre encodeur décodable par DivX5, vous
|
|
avez 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 aux scènes avec de rapide
|
|
mouvements.
|
|
Sur certaines vidéos, vmax_b_frames peut affecter la qualité, mais
|
|
vmax_b_frames=2 avec vb_strategy=1 aideront.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">dia</emphasis>: portée de recherche de mouvement. Le plus large
|
|
est l'écart, le mieux ce sera mais aussi plus lent.
|
|
Des valeurs négative sont une échelle complètement différente.
|
|
De bonne valeurs sont -1 pour un encodage rapide, ou 2-4 pour un plus lent.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">predia</emphasis>: pre-passage de recherche de mouvement.
|
|
Pas aussi important que dia. De bonnes valeurs sont 1 (par défaut) à 4. Cela
|
|
demande preme=2 pour être vraiment utile.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">cmp, subcmp, precmp</emphasis>: Fonction de comparaison
|
|
pour l'estimation de mouvement.
|
|
Testez avec des valeurs de 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 bonne pour les animations, et 3 est bonne pour les
|
|
actions en directe.
|
|
6 peut-être ou non un peu mieux, mais c'est lent.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">last_pred</emphasis>: Nombre de prédicateurs de mouvement
|
|
à prendre depuis la frame précédente.
|
|
1-3 ou autre aide avec peu de frais en matière de vitesse.
|
|
De plus haute valeurs sont lente sans avoir de réel intérêt.
|
|
</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é du macrobloc.
|
|
Peut aider ou agraver la situation ceci dépend de la vidéo et des autres options.
|
|
Cela peut causer des artefacts à moins que vous paramètriez vqmax à certaine
|
|
valeur raisonnablement petite (6 c'est bien, peut-être aussi lent que 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.
|
|
Cette option amènera l'encodeur à minimiser le bruit dû à la compression
|
|
d'artefact au lieu de faire strictement ressembler la vidéo encodé à la
|
|
source.
|
|
Ne pas utilisez ceci à moins d'avoir déjà bidouillé tout ce qui fut possible
|
|
de faire et que les résultats ne sont pas encor assez bon.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">vqcomp</emphasis>: Bidouille du contrôle de taux.
|
|
Quelles sont les bonnes valeurs dépend du film.
|
|
Vous pouvez de manière sûr laisser cela de côté si vous le 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. portée
|
|
recommandé: 0.5-0.7).
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">vlelim, vcelim</emphasis>: Paramètre le seuil du seul
|
|
coefficent d'élimination pour les plans de luminance et de chroma.
|
|
Ceux-là sont encodés séparément dans tous les algorithmes de style MPEG.
|
|
L'idée derrière tout ceci est d'utiliser certaines bonnes approches heuristics
|
|
pour déterminer quand le changement dans un bloc est inférieur au seuil que
|
|
vous avez spécifié, et dans ce cas, de juste encoder le bloc comme étant
|
|
"sans changement".
|
|
Cela épargnera des bits et peut-être accélèrera l'encodage. vlelim=-4 et
|
|
vcelim=9 semblent être de bonnes valeurs pour les films en direct, mais
|
|
semblent ne pas aider avec les animations; quand on veut encoder une animation,
|
|
vous devriez probablement les laisser inchangé.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">qpel</emphasis>: Estimation de mouvement de quart de pixel.
|
|
MPEG-4 utilise la précision de moitié de pixel pour sa recherche de mouvement
|
|
par défaut, donc cette option vient avec un surplus car plus d'information seront
|
|
stockée dans le fichier encodé.
|
|
La compression gain/perte dépend du film, mais n'est habituellement pas très
|
|
efficace sur les animations.
|
|
qpel induit toujours un coût significatif dans le temps de décodage du CPU
|
|
(+25% en pratique).
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">psnr</emphasis>: n'affecte pas l'encodage courant,
|
|
mais écrit un fichier log donnant le type/taille/qualité de chaque frame, et
|
|
imprime un résumé du PSNR (rapport maximal du signal sur le bruit) à la fin.
|
|
</para></listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
<title>Options non-recommandé de jouer avec:</title>
|
|
<listitem><para>
|
|
<emphasis role="bold">vme</emphasis>: La valeur par défaut est la mieux.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">lumi_mask, dark_mask</emphasis>: Quantification adaptative
|
|
psychovisuelle.
|
|
Vous ne voudriez pas jouer avec ces options si vous tenez à la qualité.
|
|
Des valeurs raisonnable peuvent être efficace dans votre cas, mais soyez prévenu
|
|
que ceci est très subjectif.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">scplx_mask</emphasis>: Essaye de prévenir l'apparition d'artefacts
|
|
carré, mais le post-traitement est le mieux.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-mpeg4-lavc-example-settings">
|
|
<title>Exemples de paramètres d'encodage</title>
|
|
|
|
<para>
|
|
Les paramètres suivant sont des exemples de combinaisons d'option de différent
|
|
encodage qui affectent la vitesse contre la différence de qualité pour la même
|
|
cible de bitrate.
|
|
</para>
|
|
|
|
<para>
|
|
Tous les paramètres d'encodage sont testés sur un échantillon de vidéo de
|
|
720x448 @30000/1001 fps, le bitrate ciblé était 900kbps, et la machine était un
|
|
AMD-64 3400+ à 2400 Mhz en mode 64 bits.
|
|
Chaque paramètre d'encodage comporte la mesure de vitesse d'encodage (en
|
|
frames par seconde) et la perte PSNR (en dB) comparé au paramètre de "très
|
|
haute qualité".
|
|
Veuillez comprendre que dépendamment de votre source, de votre type de machine
|
|
et des avancements en développement, vous pouvez obtenir des résultats très
|
|
différent.
|
|
</para>
|
|
|
|
<para>
|
|
<informaltable frame="all">
|
|
<tgroup cols="4">
|
|
<thead>
|
|
<row><entry>Description</entry><entry>Options d'encodage</entry><entry>vitesse (en fps)</entry><entry>perte PSNR relative (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>6fps</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>15fps</entry>
|
|
<entry>-0.5dB</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Rapide</entry>
|
|
<entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:turbo</option></entry>
|
|
<entry>42fps</entry>
|
|
<entry>-0.74dB</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Temps-Réel</entry>
|
|
<entry><option>vcodec=mpeg4:mbd=2:turbo</option></entry>
|
|
<entry>54fps</entry>
|
|
<entry>-1.21dB</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 id="custommatrices"><title>Matrices inter/intra customisées</title>
|
|
|
|
<para>
|
|
Avec cette fonctionnalité de
|
|
<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>
|
|
vous êtes à même de règler des matrices inter (I-frames/frames clé) et intra
|
|
(P-frames/frames prévu) customisées. Cela est supporté par la plupart des codecs:
|
|
<systemitem>mpeg1video</systemitem> et <systemitem>mpeg2video</systemitem>
|
|
sont rapportés comme fonctionnant.
|
|
</para>
|
|
|
|
<para>
|
|
Un usage typique de cette fonctionnalité est de règler les matrices préférées
|
|
grâce aux 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>
|
|
Usage:
|
|
<screen>
|
|
$ mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.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 écran large, bien sûr), et vous voulez ripper ce
|
|
DVD ceci afin de pouvoir l'ajouter à votre PC Home Cinéma. C'est un DVD de
|
|
région 1, donc c'est du NTSC. L'exemple ci-dessous s'accorde quand même au PAL,
|
|
excepté que vous devrez omettre <option>-ofps 24000/1001</option> (parceque le
|
|
framerate de sortie est le même que celui en entrée), et bien sûr les dimensions
|
|
de découpage seront différentes.
|
|
</para>
|
|
|
|
<para>
|
|
Après lancement de <option>mplayer dvd://1</option>, nous suivons le processus
|
|
détailé dans la section <link linkend="menc-feat-telecine">Comment traiter le
|
|
téléciné et l'entrelacement dans les DVDs NTSC</link> et découvrer que c'est une
|
|
vidéo progressive en 24000/1001 fps, ce qui signifie que nous n'aurons pas besoin
|
|
d'utiliser un filtre inverse téléciné, comme <option>pullup</option> ou <option>filmdint</option>.
|
|
</para>
|
|
|
|
<para>
|
|
Ensuite, nous voulons déterminer le rectangle de découpage approprié, donc
|
|
nous utilisons le filtre cropdetect:
|
|
|
|
<screen>mplayer dvd://1 -vf cropdetect</screen>
|
|
|
|
Soyez sûr que vous recherchez une frame complètement remplie (comme une scène
|
|
lumineuse), et vous verez 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>
|
|
|
|
Nous rejouons ensuite le film avec le filtre pour tester son exactitude:
|
|
|
|
<screen>mplayer dvd://1 -vf crop=720:362:0:58</screen>
|
|
|
|
Et nous nous apercevons que tout est parfait. Ensuite, nous nous assurons que
|
|
le hauteur et la largeur sont des multiples de 16. La largeur est bonne,
|
|
cependant la hauteur ne l'est pas. Vu que nous n'avons pas échoué notre brevet à
|
|
cause des 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 ce
|
|
serait mieux d'enlèver un peu du haut et un peu du bas ceci afin de garder
|
|
le centre. Nous avons rétréci la hauteur de 10 pixels, mais nous ne voulons
|
|
pas augmenter le décalage y de 5 pixels vu que c'est un nombre impair et
|
|
affectera défavorablement la qualité. A la place, nous augmenterons le
|
|
décalage y de 4 pixels:
|
|
|
|
<screen>mplayer dvd://1 -vf crop=720:352:0:62</screen>
|
|
|
|
Une autre raison pour tailler les pixels du haut et du bas est que nous nous
|
|
assurons que nous avons éliminé n'importe quels pixels à moitié noir si ils
|
|
existent. Notez que si votre vidéo est téléciné, assurez-vous que le filtre
|
|
<option>pullup</option> (ou quelque soit le filtre inverse téléciné que vous
|
|
avez décidé d'utiliser) apparaissent dans la chaîne de filtre avant que vous
|
|
découpiez. Si il est entrelacé, désentrelacez-le avant découpage.
|
|
(Si vous choisissez de préserver la vidéo entrelacé, alors soyez certain que
|
|
votre décalage de découpage vertical est un multiple de 4.)
|
|
</para>
|
|
|
|
<para>
|
|
Si vous vous sentez vraiment concerné par la perte de ces 10 pixels, vous
|
|
pourriez à la place de réduire les dimensions préférer le plus proche multiple
|
|
de 16.
|
|
La chaîne de filtre ressemblerait à ceci:
|
|
|
|
<screen>-vf crop=720:362:0:58,scale=720:352</screen>
|
|
|
|
Réduire la vidéo comme cela signifierai qu'un petit montant de détails soit perdu,
|
|
pensant que cela ne serait probablement pas perceptible. Augmenter la taille
|
|
résultera en une plus basse qualité (à moins que vous augmentiez le bitrate).
|
|
Le découpage épargne ces pixels tout ensemble. C'est une différence que vous
|
|
voudriez prendre en compte à chaque circonstance. Par exemple, si le DVD vidéo
|
|
était fait pour la télévision, vous pourriez avoir intérêt à éviter le
|
|
redimensionnement vertical, étant donné que la ligne d'échantillon correspond
|
|
à la façon d'origine avec laquelle le contenu a été enregistré.
|
|
</para>
|
|
|
|
<para>
|
|
Après inspection, nous voyons que notre film a un peu d'action et beaucoup de
|
|
détails, donc nous prenons 2400Kbit pour notre bitrate.
|
|
</para>
|
|
|
|
<para>
|
|
Nous sommes maintenant prêt à faire les deux passes d'encodage. Passe une:
|
|
|
|
<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>
|
|
|
|
Et passe deux est la même, excepté 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> augmenterons considérablement la
|
|
qualité au dépend de la durée d'encodage. Il y a peu de raison de ne pas
|
|
prendre en compte ces options quand le but premier est la qualité. Les options
|
|
<option>cmp=3:subcmp=3:mbcmp=3</option> séléctionnent une fonction de comparaison
|
|
qui rend une plus haute qualité que celle par défaut. Vous pourriez tenter de
|
|
tester avec ces paramètre (référez-vous à la page de man pour les valeurs possible)
|
|
étant donné que différentes fonctions peuvent avoir un large impact sur la
|
|
qualité dépendamment du matériel source. Par exemple, si vous trouvez que
|
|
<systemitem class="library">libavcodec</systemitem> produit trop d'artefacts
|
|
carré, vous pouvez essayer de séléctionner le NSSE expérimental comme fonction
|
|
de comparaison via <option>*cmp=10</option>.
|
|
</para>
|
|
|
|
<para>
|
|
Pour ce film, le AVI résultant sera de 138 minutes long et à peu près 3GB.
|
|
Et parceque vous disiez que la taille du fichier n'était pas importante, c'est
|
|
une taille parfaitement acceptable. Cependant, si vous la désiriez plus petite,
|
|
vous pouvez essayer un bitrate inférieur. L'augmentation de bitrates ont des
|
|
retours amoindri, ainsi tandis que nous pourrions clairement voir une
|
|
amélioration à partir de 1800Kbit jusqu'à 2000Kbit, cela ne semblerai pas autant
|
|
notable au-dessus de 2000Kbit. Libre à vous de l'expérimenter jusqu'à en être
|
|
totalement satisfait.
|
|
</para>
|
|
|
|
<para>
|
|
Parceque nous avons passé la source vidéo au travers d'un filtre anti-bruit,
|
|
vous voudriez 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 carré de la vidéo.
|
|
Avec l'option <option>autoq</option> de <application>MPlayer</application>,
|
|
vous pouvez faire varier le montant de post-traitement achevé par le filtre spp
|
|
dépendamment du CPU disponible. Aussi, à ce point, vous pourriez vouloir demander
|
|
une correction gamma et/ou couleur pour mieux convenir à l'affichage. 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>Encodé avec le codec <systemitem class="library">XviD</systemitem></title>
|
|
<para>
|
|
<systemitem class="library">XviD</systemitem> est une librairie libre pour
|
|
encoder les flux vidéo de MPEG-4 ASP.
|
|
Avant de commencer à encoder, vous avez besoin de <link linkend="xvid">
|
|
paramètrer <application>MEncoder</application> pour son support</link>.
|
|
</para>
|
|
<para>
|
|
Ce guide a pour principal objectif de fournir le même genre d'information que
|
|
le guide d'encodage de 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 page man de la section
|
|
<systemitem class="library">XviD</systemitem> de <application>MPlayer</application>.
|
|
Cette section est prévue pour être un supplément à la page man.
|
|
</para>
|
|
<para>
|
|
Les paramètres XviD par défaut font déjà une bonne distinction entre la
|
|
vitesse et la qualité, donc vous pouvez sans risque vous en tenir à eux
|
|
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 décision de macrobloc, où plus la valeur
|
|
du paramètre est élevée, plus sage sera la décision.
|
|
Le paramètre par défaut peut être de façon sûr utilisé pour tout les encodages,
|
|
alors que des paramètrages plus élevés aident toujours le PSNR mais sont de
|
|
façon signifiante plus lente.
|
|
Veuillez noter que un meilleur PSNR ne veut pas forcement dire que l'image
|
|
sera mieux, mais vous informe qu'elle est proche de l'original.
|
|
L'enlevé accélèrera de façon notable l'encodage; si la vitesse est un point
|
|
critique pour vous, la différence peut valoir le coup.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">bvhq</emphasis>
|
|
C'est pareil que vhq, mais cela agit sur les B-frames.
|
|
Cela a un impact négligeable sur la vitesse, et amélior un peu la qualité
|
|
(environ +0.1dB PSNR).
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">max_bframes</emphasis>
|
|
Un plus grand nombre de B-frames permise consécutive améliore habituellement
|
|
la compressibilité, bien qu'il puisse également mener à plus d'artefacts carré.
|
|
Le paramètrage par défaut est un bon compromis entre compressibilité et qualité,
|
|
mais vous pouvez l'augmenter jusqu'à 3 si vous êtes omnibulé par le bitrate.
|
|
Vous pouvez aussi le réduire à 1 ou 0 si vous avez pour seul but la qualité
|
|
parfaite, cependant dans votre cas vous devriez vous être sûr que votre bitrate
|
|
cible est assez élevé pour s'assurer que l'encodeur n'ait pas à augmenter le
|
|
quantificateur pour l'atteindre.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">bf_threshold</emphasis>
|
|
Ceci contrôle la sensibilité de l'encodeur pour les B-frames, où une plus haute
|
|
valeur amène à ce que plus de B-frames soit utilisé (et vice versa).
|
|
Ce paramètre doit être utilisé avec <option>max_bframes</option>;
|
|
si vous êtes omnibulé par le bitrate, vous devrez augmenter <option>max_bframes</option>
|
|
et <option>bf_threshold</option>, tandis que vous devriez augmenter <option>max_bframes</option>
|
|
et réduire <option>bf_threshold</option> ainsi donc l'encodeur peut utiliser plus de B-frames
|
|
à des endroits qui seuls <emphasis role="bold">vraiment</emphasis> les nécessitent.
|
|
Un nombre bas de <option>max_bframes</option> et une valeur élevé de <option>bf_threshold</option>
|
|
n'est probablement pas un choix avisé vu qu'il obligera l'encodeur à mettre
|
|
des B-frames en des endroits qui n'en tireront pas de bénéfice, mais en plus
|
|
réduiront la qualité visuelle.
|
|
Cependant, si vous avez besoin d'être compatible avec des lecteurs qui
|
|
supportent seulement de vieux profils DivX (qui revient à supporter jusqu'à
|
|
1 B-frame consécutive), ceci sera votre seul espoir d'augmenter la
|
|
compressibilité en utilisant les B-frames.
|
|
</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 bitrate, ce qui permet de sauver de manière significative
|
|
des bits.
|
|
Ces bits seront en retour utilisé autre part sur la vidéo, augmentant l'ensemble
|
|
de la qualité visuelle.
|
|
Vous devriez toujours l'utiliser étant donné qu'il impacte énormement sur la
|
|
qualité.
|
|
Même si vous recherchez de la vitesse, ne le désactiver pas jusqu'à ce que
|
|
vous réduisiez <option>vhq</option> et toutes les autre options plus gourmande
|
|
en CPU à leur minimum.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">hq_ac</emphasis>
|
|
Active une meilleur méthode d'estimation du coût en coefficient, ce qui réduit
|
|
passiblement la taille de fichier par 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 néanmoins recommandé de toujours la laisser activé.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">cartoon</emphasis>
|
|
Faite pour un meilleur encodage de contenu dessin animé, et n'a pas d'impact
|
|
sur la vitesse étant donné qu'il modifie juste le mode décision heuristics
|
|
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.
|
|
Le plus élevé <option>me_quality</option> est, le plus précis
|
|
l'estimation du mouvement d'origine sera, et mieux le clip résultant
|
|
capturera le mouvement d'origine.
|
|
</para>
|
|
<para>
|
|
Le paramètre par défaut est le mieux dans tous les cas; bien qu'il ne
|
|
soit pas recommandé de l'éteindre à moins que vous recherchiez vraiment
|
|
la rapidité, vu que tout les bits sauvés par une bonne estimation du
|
|
mouvement seront dépensés autre part, augmentant la qualité générale.
|
|
Cependant, n'allez pas plus bas que 5, et même ceci doit être utilisé
|
|
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 chroma (couleur), alors que <option>me_quality</option> toute seule
|
|
utilise seulement la luma (niveau de gris).
|
|
Cela ralenti l'encodage de 5-10% mais améliore pas mal la qualité visuelle
|
|
en réduisant les effets de bloc et réduis la taille de fichier d'environ 1.3%.
|
|
Si vous cherchez de la vitesse, vous devriez désactiver cette option avant de
|
|
commencer à considérer à la réduction de <option>me_quality</option>.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">chroma_opt</emphasis>
|
|
A pour objectif d'augmenter la qualité du chroma de l'image vers des
|
|
bords blanc/noirs pures, plutôt que d'améliorer la compression.
|
|
Ceci peut aider à réduire l'effet "red stairs".
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">lumi_mask</emphasis>
|
|
Tente de donner moins de bitrate à 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 sauvés sur des parties plus importantes de l'image.
|
|
La qualité de l'encodage yielded by this option dépends grandement des
|
|
préférences personnelles et des paramètres de type et moniteur utilisé pour
|
|
le regarder (typiquement, cela ne semblera pas aussi bon si c'est plus
|
|
lumineux ou si c'est un moniteur TFT).
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">qpel</emphasis>
|
|
Elève le nombre de vecteurs de mouvement candidat en augmentant la
|
|
précision de l'estimation de mouvement de halfpel à quarterpel.
|
|
L'idée est de trouver de meilleurs vecteurs de mouvement ce qui
|
|
en retour réduira le bitrate (augmentant la qualité par la même occasion).
|
|
Cependant, les vecteurs de mouvement avec une précision quarterpel requièrent
|
|
quelques bits en plus à coder, mais les vecteurs candidats ne donnent pas
|
|
toujours de (bien) meilleurs résultats.
|
|
Assez souvent, le codec gaspille encor des bits sur la précision en plus,
|
|
mais en retour peu ou aucune qualité en plus aura été gagné.
|
|
Malheureusement, il n'y a aucune façon de prévoir les avantages possible de
|
|
<option>qpel</option>, donc vous avez précisément besoin de l'encoder avec
|
|
et sans pour en être sûr.
|
|
</para><para>
|
|
<option>qpel</option> peut quasimment doublé la durée d'encodage, et
|
|
requière pas moins de 25% en plus de puissance de traitement pour décoder.
|
|
Cela n'est pas supporté par tout les lecteurs.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">gmc</emphasis>
|
|
Essaye de sauver des bits sur des scènes panoramique en employant un
|
|
vecteur simple de mouvement pour la frame entière.
|
|
Cela augmente à peu près toujours le PSNR, mais de façon significative
|
|
ralenti l'encodage (aussi bien que le décodage).
|
|
Par conséquent, vous devriez seulement l'employer si vous avez
|
|
augmenté <option>vhq</option> au maximum.
|
|
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 à travers l'option <option>profile</option>,
|
|
ce qui est utilisé pour imposer des restrictions sur les propriétés du flux
|
|
vidéo XviD comme cela il sera jouable sur n'importe quoi supportant le profil
|
|
choisi.
|
|
Les restrictions relient les résolutions, les bitrates 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>Handheld</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>Frame rate [fps]</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>Bitrate moyen maxi [kbps]</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>Bitrate moyen maximal plus de 3 secs [kbps]</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>B-frames 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 affèctent la compensation entre la vitesse et
|
|
la qualité pour le même bitrate cible.
|
|
</para>
|
|
|
|
<para>
|
|
Tous les paramètres d'encodage sont testés sur un échantillon vidéo à
|
|
720x448 @30000/1001 fps, le bitrate cible était à 900kbps, et la machine
|
|
était un AMD-64 3400+ à 2400 Mhz en mode 64 bits.
|
|
Chaque paramètre d'encodage exploite la vitesse d'encodage mesuré (en
|
|
frames par seconde) et la perte PSNR (en dB) en la comparant au paramètre
|
|
de "très haute qualité".
|
|
Veuillez comprendre que dépendemment de votre source, de votre type de machine
|
|
et des avancements en développement, vous pouvez 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 fps)</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>16fps</entry>
|
|
<entry>0dB</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Haute qualité</entry>
|
|
<entry><option>vhq=2:bvhq=1:chroma_opt:quant_type=mpeg</option></entry>
|
|
<entry>18fps</entry>
|
|
<entry>-0.1dB</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Rapide</entry>
|
|
<entry><option>turbo:vhq=0</option></entry>
|
|
<entry>28fps</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>38fps</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">
|
|
règler <application>MEncoder</application> pour le supporter</link>.
|
|
</para>
|
|
|
|
<sect2 id="menc-feat-x264-encoding-options">
|
|
<title>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 a été prévu pour être un supplément à la page man.
|
|
Ici vous trouverez rapidement des astuces sur quelles options sont
|
|
le plus susceptible d'intéresser la plupart des gens. la page man
|
|
est plus laconique, mais est aussi plus exhaustive, et cela offre
|
|
parfois beaucoup plus de détail technique.
|
|
</para>
|
|
|
|
<sect3 id="menc-feat-x264-encoding-options-intro">
|
|
<title>Introduction</title>
|
|
<para>Ce guide considère deux catégories majeurs d'options d'encodage:</para>
|
|
|
|
<orderedlist>
|
|
<listitem><para>Options qui principalement compensent la durée d'encodage de la qualité
|
|
</para></listitem>
|
|
<listitem><para>Options qui peuvent être utile pour accomplir des préférences personnelles
|
|
variées et des conditions spéciales</para></listitem>
|
|
</orderedlist>
|
|
|
|
<para>
|
|
Finalement, seul vous pouvez décider quelles options sont mieux pour vos buts.
|
|
Le choix de la première classe d'options est la plus simple:
|
|
vous devez seulement décider si vous pensez que les différences de qualité
|
|
justifient les différences de vitesse. Pour la deuxième classe d'options,
|
|
les préférences peuvent être bien plus subjectives, et plus de facteurs
|
|
peuvent être impliqués. Notez sur que certaines des options de type
|
|
"préférences personnelles et de conditions spéciales" peuvent encor avoir
|
|
de larges impacts sur la vitesse ou la qualité, mais ce n'est pas ce pourquoi
|
|
ils sont principalement utiles. Quelques une des options de "préférence
|
|
personnelle" peuvent même causer des changements qui semblent mieux pour
|
|
certaines personnes, mais semblent moins bon à d'autres.
|
|
</para>
|
|
|
|
<para>
|
|
Avant de continuer, il vous est nécessaire de comprendre que ce guide utilise seulement
|
|
une qualité métrique: le PSNR global.
|
|
Pour une brève explication sur le PSNR, voir
|
|
<ulink url="http://en.wikipedia.org/wiki/PSNR">l'article Wikipedia sur le PSNR</ulink>.
|
|
PSNR global est le dernier nombre PSNR rapporté quand vous incluez l'option
|
|
<option>psnr</option> dans <option>x264encopts</option>.
|
|
Chaque fois que vous lisez une réclamation sur le PSNR, une des prétentions
|
|
derrière la réclamation est que des bitrates égaux sont utilisés.
|
|
</para>
|
|
|
|
<para>
|
|
A peu près tous les commentaires de ce guide présument que vous utilisez
|
|
deux passages.
|
|
Lors de la comparaison des options, il y a deux principales raisons pour
|
|
l'utilisation d'un encodage à deux passages.
|
|
Premièrement, utiliser deux passages permet souvent de gagner environ 1dB
|
|
PSNR, ce qui est une très grosse différence.
|
|
Deuxièmement, tester les options en faisant des comparaisons directes de
|
|
qualité avec un encodage en un passage introduit un facteur confus important:
|
|
bitrate 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 la plupart du temps ils
|
|
reflètent essentiellement des différences aléatoires dans le bitrate réalisé.
|
|
</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 compenser la vitesse pour la qualité,
|
|
<option>subq</option> et <option>frameref</option> (voir ci-dessous) sont
|
|
habituellement et de loin les plus importantes.
|
|
Si vous êtes intéressé par le bidouillage soit de la vitesse soit de la
|
|
qualité, ces options sont les premières que vous devriez prendre en
|
|
considération.
|
|
A propos de la dimension de la vitesse, les options <option>frameref</option>
|
|
et <option>subq</option> interagissent entre elles assez fortement.
|
|
L'expérience montre que, avec une frame de référence,
|
|
<option>subq=5</option> (le règlage par défaut) est environ 35% plus long que
|
|
<option>subq=1</option>.
|
|
Avec 6 frames 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 de frames de référence.
|
|
Typiquement, <option>subq=5</option> résulte en un PSNR global plus haut de
|
|
0.2-0.5 dB en comparaison à <option>subq=1</option>.
|
|
C'est habituellement assez pour être évident.
|
|
</para>
|
|
<para>
|
|
<option>subq=6</option> est le plus lent, le plus élevé mode de qualité.
|
|
En comparaison à <option>subq=5</option>, il gagne habituellement un PSNR
|
|
global de 0.1-0.4 dB avec des coûts en vitesse variant entre 25% et 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>. A la place, l'efficacité de <option>subq=6</option>
|
|
dépend principalement du nombre de B-frames utilisé. Lors d'une utilisation
|
|
normal, cela signifie que <option>subq=6</option> a un large impact sur la
|
|
vitesse et la qualité dans le cas complexe, des scènes élevé en mouvement,
|
|
mais il peut ne pas avoir beaucoup d'effet sur les scènes avec peu de mouvement.
|
|
Notez que il est encore recommandé de toujours paramètrer les <option>bframes</option>
|
|
à autre chose 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 ceci ne devrait pas
|
|
être pris en compte pour justifier qu'il est raisonnable de le mettre à 1.
|
|
Simplement en augmentant <option>frameref</option> à 2 permet un gain d'environ
|
|
0.15dB sur le PSNR avec une pénalité à 5-10% sur la vitesse; cela semble être
|
|
un bon compromis.
|
|
<option>frameref=3</option> gagne environ 0.25dB de PSNR de mieux que
|
|
<option>frameref=1</option>, ce qui devrait être une différence visible.
|
|
<option>frameref=3</option> est d'environ 15% plus lent que <option>frameref=1</option>.
|
|
Malheureusement, des retours diminuant se mettent en place rapidement.
|
|
<option>frameref=6</option> peut être attendu de gagner seulement 0.05-0.1 dB
|
|
de mieux que <option>frameref=3</option> avec une pénalité additionelle de
|
|
15% sur la vitesse.
|
|
Au dessus de <option>frameref=6</option>, les gains en qualité sont
|
|
habituellement très faible (bien que vous devriez garder à l'esprit à travers
|
|
cette entière discussion que selon votre source cela peut varier énormément).
|
|
Dans un cas assez typique, <option>frameref=12</option> améliorera le PSNR
|
|
global par un minuscule 0.02dB de mieux que <option>frameref=6</option>,
|
|
avec un coût sur la vitesse de 15%-20%.
|
|
Avec des valeurs si élevé de <option>frameref</option>, la seule vraie bonne
|
|
chose qui peut être dîte est que de l'augmenter même un peu plus ne
|
|
<emphasis role="bold">nuira</emphasis> à peu près certainement jamais le PSNR,
|
|
mais les bénéfices sur la qualité additionnelle sont à peine mesurable, et encore
|
|
moins perceptible.
|
|
</para>
|
|
<note><title>Note:</title>
|
|
<para>
|
|
Augmenter le <option>frameref</option> à des valeurs non nécessairement élevées
|
|
<emphasis role="bold">peut affecter</emphasis> et <emphasis role="bold">habituellement affecte</emphasis>
|
|
l'efficacité d'encodage si vous arrêtez le CABAC.
|
|
Avec le CABAC lancé (comportement par défaut), la possibilité de paramètrage
|
|
de <option>frameref</option> "trop élevé" actuellement semble trop distant
|
|
pour même s'en inquiéter, et dans l'avenir, les optimisations peuvent enlever
|
|
les possibilités complètement.
|
|
</para>
|
|
</note>
|
|
<para>
|
|
Si vous vous inquiétez pour la vitesse, un compromis raisonnable est
|
|
d'utiliser des valeurs <option>subq</option> et <option>frameref</option> basses
|
|
sur le premier passage, et ensuite les augmenter sur le second passage.
|
|
Typiquement, cela a un effet négatif négligeable sur la qualité finale:
|
|
Vous perdrez probablement bien en dessous de 0.1dB du PSNR, ce qui devrez
|
|
être une différence beaucoup trop faible pour la voir.
|
|
Cependant, des valeurs différentes de <option>frameref</option> peuvent
|
|
occasionnellement affecter le choix du frametype.
|
|
Très probablement, ce sont des cas périphériques rares, mais si vous voulez
|
|
en être complètement certain, considèrez que votre vidéo a soit des modèles
|
|
plein écran, clignotants et répétitifs, soit des occlusions provisoires très
|
|
grandes qui pourraient forcer une I-frame.
|
|
Ajustez le <option>frameref</option> de premier passage pour qu'il soit assez
|
|
large pour contenir la durée du cycle de clignotement (ou occlusion).
|
|
Par exemple, si la scène clignote dans les deux sens entre deux images
|
|
au-dessus d'une durée de trois frames, règlez le <option>frameref</option> de
|
|
premier passage à 3 ou plus.
|
|
Le problème est probablement extrêmement rare sur des matériaux vidéo de type
|
|
action en directe, mais cela arrive quelque fois dans des captures de jeu vidéo.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">me</emphasis>:
|
|
Cette option est pour choisir la méthode de recherche d'estimation de mouvement.
|
|
Alterer cette option fourni une compensation franche entre qualité et vitesse.
|
|
<option>me=1</option> est seulement quelque pourcent plus rapide que
|
|
la recherche par défaut, à un coût en dessous de 0.1dB du PSNR global. Le
|
|
paramètre par défaut (<option>me=2</option>) est une compensation raisonnable
|
|
entre vitesse et qualité. <option>me=3</option> gagne un petit peu en dessous
|
|
de 0.1dB du PSNR global, avec une pénalité sur la vitesse qui varie dépendamment
|
|
du <option>frameref</option>. A de haute valeurs du <option>frameref</option>
|
|
(e.g. 12 ou autre), <option>me=3</option> est environ 40% plus lente que la
|
|
valeur par défaut <option> me=2</option>. Avec <option>frameref=3</option>,
|
|
la pénalité encouru 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 active l'utilisation des sous-partitions 8x4, 4x8 et 4x4 dans
|
|
les macroblocs prévu. L'activer résulte en une assez consistente perte de
|
|
vitesse de 10%-15%. Cette option est plutôt inutile dans une source contenant
|
|
seulement des mouvements bas, bien que dans certaine source de mouvement élevé,
|
|
particulièrement des sources avec beaucoup de petits objets en mouvement, un
|
|
gain d'environ 0.1dB peut être attendu.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">bframes</emphasis>:
|
|
Si vous avez l'habitude d'encoder avec d'autre codecs, vous pourriez avoir
|
|
trouvé que les B-frames ne sont pas toujours utile.
|
|
Avec le H.264, ceci a changé: il y a de nouvelles techniques et types de bloc
|
|
qui sont possible avec les B-frames.
|
|
Habituellement, même un choix naïf d'algorithme de B-frame peut avoir un
|
|
bénéfice significatif sur le PSNR.
|
|
Il est intéressant de noter que l'utilisation de B-frames accélère
|
|
habituellement le second passage de manière légère, et peut aussi accélèrer
|
|
un encodage en un seul passage si le choix de B-frame adaptatif est stoppé.
|
|
</para>
|
|
<para>
|
|
Avec le choix de B-frame adaptatif stoppé
|
|
(<option>nob_adapt</option> de <option>x264encopts</option>),
|
|
la valeur optimal pour le paramètrage est habituellement pas plus que
|
|
<option>bframes=1</option>, ou bien les scènes élevé en mouvement peuvent
|
|
en patir.
|
|
Avec le choix de B-frame adaptatif activé (le comportement par défaut), il
|
|
est sûr d'utiliser des valeurs plus élevées; l'encodeur réduira l'utilisation
|
|
de B-frames dans les scènes où cela pourrait abîmer la compression.
|
|
L'encodeur choisi rarement d'utiliser plus de 3 ou 4 B-frames;
|
|
paramètrer cette option a une valeur plus élevée aura peu d'effet.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">b_adapt</emphasis>:
|
|
Note: il est activé par défaut.
|
|
</para>
|
|
<para>
|
|
Avec cette option activé, l'encodeur utilisera un traitement de choix
|
|
raisonnablement rapide pour réduire le nombre de B-frames utilisé par les
|
|
scènes qui ne pourraient pas en bénéficier autant qu'elles le voudraient.
|
|
Vous pouvez utiliser <option>b_bias</option> pour bidouiller combien
|
|
l'encodeur est heureux de ces B-frames.
|
|
La pénalité sur la vitesse des B-frames adaptatives est actuellement
|
|
plutôt modeste, mais il en est de même pour le gain potentiel en qualité.
|
|
Cela n'endomage pas habituellement, cependant.
|
|
Notez que cela affecte seulement le choix de vitesse et de frametype sur
|
|
le premier passage.
|
|
<option>b_adapt</option> et <option>b_bias</option> n'ont aucun effet sur
|
|
les passages suivants.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">b_pyramid</emphasis>:
|
|
Vous devriez aussi bien activé cette option si vous utilisez >=2 B-frames;
|
|
comme la page man le dit, vous obtiendrez une faible améliroration de la
|
|
qualité avec aucun surcoût sur la vitesse.
|
|
Notez que ces vidéos ne peuvent pas être lu sur des décodeurs basés sur
|
|
une version de libavcodec datant d'avant le 5 Mars, 2005.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">weight_b</emphasis>:
|
|
Dans des cas typiques, il n'y a pas assez de gain avec cette option.
|
|
Cependant, dans des scènes crossfades ou fade-to-black, la prédiction de
|
|
poids donne de plutôt large bénéfice en bitrate.
|
|
Dans le MPEG-4 ASP, un fade-to-black est habituellement mieux codé comme une
|
|
série de I-frames onéreuses; utiliser la prédiction de poids dans les
|
|
B-frames rend possible la conversion d'un certain nombre en de beaucoup plus
|
|
petites B-frames.
|
|
Le coût sur la 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 semble deviner, les requis en CPU par
|
|
le décodeur ne sont pas énormement affecté par la prédiction de poids, tout
|
|
le reste étant égal.
|
|
</para>
|
|
<para>
|
|
Malheureusement, l'algorithme courant de choix de B-frame adaptative
|
|
a une forte tendance à éviter les B-frames durant les fondus.
|
|
Jusqu'à ce que cela change, il peut être une bonne idée d'ajouter
|
|
<option>nob_adapt</option> à votre x264encopts, si vous vous attendiez
|
|
à ce que le fondu ait un plus grand effet sur votre clip vidéo particulier.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-x264-encoding-options-misc-preferences">
|
|
<title>Options concernant des préférences diverses</title>
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
<emphasis role="bold">Encodage en deux passages</emphasis>:
|
|
Ci-dessus, il a été suggèré de toujours utiliser un encodage en deux passages,
|
|
mais il y a encor des raisons pour ne pas l'utiliser. Par exemple, si vous
|
|
capturez la télévision en direct et l'encoder en temps réel, vous êtes forcé
|
|
d'utiliser un encodage en un passage.
|
|
Aussi, un passage est évidemment plus rapide que deux passages; si vous
|
|
utilisez l'exact même jeu d'options sur les deux passages, deux passages
|
|
d'encodage est à peu près deux fois plus lent.
|
|
</para>
|
|
<para>
|
|
Encore, il y a de très bonne raisons pour utiliser l'encodage en deux passages.
|
|
Pour une chose, taux de contrôle d'un seul passage n'est pas psychic, et il
|
|
fait souvent des choix irraisonnable parce qu'il ne peut pas voir l'ensemble
|
|
de l'image. Par exemple, supposez que vous avez une vidéo de dexu minute de
|
|
long consistant en deux moitiés distinctes. La première moitié est une scène
|
|
à mouvement élevé durant 60 secondes ce qui, en de manière isolée, demande
|
|
environ 2500kbps afin d'avoir l'air correcte.
|
|
Immédiatement suivi d'une scène de 60 secondes beaucoup moins demandante qui
|
|
a l'air bien à 300kbps. Supposez que vous demandiez pour 1400kbps sur la
|
|
théorie que ceci est suffisant pour accomoder les deux scènes. Un taux de
|
|
contrôle en un seul passage fera quelques "fautes" dans un cas comme celui-là.
|
|
Premièrement, il ciblera 1400kbps pour les deux segments. Le premier segment
|
|
pourrait finir lourdement sur-quantifié, l'entraînant à ressembler à un bloc
|
|
de façon inadmissible et irraisonable. le second segment serait lourdement
|
|
sous-quantifié; cela pourrait avoir l'air parfait, mais le coût en bitrate de
|
|
cette perfection sera complètement irraisonnable. Ce qui est d'autant plus dur
|
|
à éviter que le problème est à la transition entre les deux scènes. Les premières
|
|
secondes de moitié de mouvement lente sera grandement sur-quantifié, parce que
|
|
le taux de contrôle prévoit encore le genre de conditions en bitrate qu'il
|
|
rencontre dans la première moitié de la vidéo. Cette "période d'erreur" de
|
|
grandement sur-quantifié mouvement faible aura l'air mauvais, et utilisera
|
|
réellement moins que les 300kbps qu'il aurait pris pour le rendre un semblant
|
|
correct. IL y a des façons pour atténuer les pièges de l'encodage en simple
|
|
passage, mais ils peuvent tendre à augmenter la mauvaise prédiction de bitrate.
|
|
</para>
|
|
<para>
|
|
Le taux de contrôle multiple passage peut offrir d'énormes avantages sur un
|
|
encodage simple passage.
|
|
En utilisant les statistiques récupérées depuis le premier passage d'encodage,
|
|
l'encodeur peut estimer, avec une raisonnable exactitude, le "coût" (en bits)
|
|
de l'encodage de n'importe quel frame donnée, à n'importe quel quantificateur
|
|
donné. Cela permet une beaucoup plus rationnelle, mieux plannifiée allocation
|
|
de bits entre les scènes onéreuses (mouvement élevé) et bon marché (mouvement
|
|
faible). Voir <option>qcomp</option> ci-dessous pour quelques idées sur comment
|
|
bidouiller cette allocation à vos besoins.
|
|
</para>
|
|
<para>
|
|
D'ailleurs, deux passages n'ont pas besoin de prendre deux fois plus de temps
|
|
qu'un seul passage. Vous pouvez bidouiller les options dans le premier passage
|
|
pour une vitesse plus élevé et une qualité plus faible.
|
|
Si vous choisissez bien vos options, vous pouvez obtenir un premier passage
|
|
très rapide.
|
|
La qualité résultante dans le second passage sera légèrement plus basse parce
|
|
que la prédiction de taille est moins précise, mais la différence de qualité
|
|
est normalement beaucoup trop petite pour être visible. Essayez, par exemple,
|
|
d'ajouter <option>subq=1:frameref=1</option> au premier passage <option>x264encopts</option>.
|
|
Ensuite, sur le second passage, utilise des options plus lentes, de plus
|
|
grandes qualités:
|
|
<option>subq=6:frameref=15:4x4mv:me=3</option>
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">Encodage en trois passages</emphasis>?
|
|
|
|
x264 offre la capacité de faire un nombre arbitraire de passages consécutive.
|
|
Si vous spécifiez <option>pass=1</option> sur le premier passage, alors
|
|
utilisez <option>pass=3</option> sur un passage suivant, le passage suivant
|
|
lira les statistiques depuis le passage précédent, et écrira ses propres
|
|
statistiques. Un passage additionnel suivant celui-là aura une très bonne base
|
|
depuis laquelle faire des prédictions hautement précise de framesizes à un
|
|
quantificateur choisi. En pratique, les gains sur la qualité d'ensemble de
|
|
ceci est habituellement proche de zéro, et tout à fait possiblement un
|
|
troisième passage résultera en un PSNR global légèrement plus mauvais que le
|
|
passage avant ça. Dans une utilisation typique, trois passages aident si vous
|
|
obtenez soit une mauvaise prédiction de bitrate ou soit une mauvaise apparence
|
|
des transitions de scènes lors de l'utilisation de seulement deux passages.
|
|
Ceci peut se produire sur les clips extrêmement courts. Il y a aussi quelques
|
|
cas spéciaux dans lequels trois (ou plus) passages sont pratique pour les
|
|
utilisateurs avancés, mais par souci de brièveté, ce guide omet de traiter ces
|
|
cas spéciaux.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">qcomp</emphasis>:
|
|
<option>qcomp</option> compense le nombre de bits alloué entre les frames
|
|
"onéreux" mouvement élevé et les frames "bon marché" mouvement bas. A une
|
|
extrémité, <option>qcomp=0</option> vis pour le vrai bitrate constant.
|
|
Typiquement cela rendrait des scènes élevées en mouvement complètement moche,
|
|
tandis que les scènes basses en mouvement serait absoluement parfaite, mais
|
|
utiliserait aussi beaucoup plus de bitrate qu'ils n'en auraient besoin dans
|
|
le but de les rendre simplement excellente. A une autre extrèmité, <option>qcomp=1</option>
|
|
réalise le paramètre de quantification (QP) presque constant. Un QP constant
|
|
n'a pas l'air mauvais, mais la plupart des gens pense qu'il est plus raisonnable
|
|
d'enlever quelque bitrate des scènes extrèmement onéreuses (où la perte de
|
|
qualité ne sera pas aussi apparente) et les ré-allouer aux scènes qui sont
|
|
plus facile à encoder à une excellente qualité.
|
|
<option>qcomp</option> est règlé à 0.6 par défaut, ce qui pourrait être un
|
|
peu faible pour les goûts de plein de gens (0.7-0.8 sont aussi communément
|
|
utilisé).
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">keyint</emphasis>:
|
|
<option>keyint</option> est seulement pour compenser l'habilité de recherche
|
|
de fichier contre l'efficacité de codage. Par défaut, <option>keyint</option>
|
|
est paramètré à 250. Sur des matériaux à 25 fps, cela garanti l'habilité de
|
|
faire une recherche avec une précision de 10 secondes. Si vous pensez qu'il
|
|
serait important et utile d'être capable de faire une recherche dans les 5
|
|
secondes de précision, paramètrez <option>keyint=125</option>;
|
|
cela endommagera un peu la qualité/bitrate. Si vous vous inquiétez seulement
|
|
de la qualité et non de l'habilité à faire une recherche, vous pouvez le
|
|
paramètrer à des valeurs beaucoup plus élevées (comprenant qu'il y a des
|
|
retours diminuants qui peuvent devenir extrèmement bas, ou même zéro). Le flux
|
|
vidéo aura encor des points recherchable aussi longtemps qu'il y aura des
|
|
changements dans la scène.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">deblockalpha, deblockbeta</emphasis>:
|
|
Ce sujet va être un peu controversé.
|
|
</para>
|
|
<para>
|
|
H.264 défini une simple procédure de déblocage sur les I-blocs qui utilise
|
|
des pré-règlages de forces et de seuils en dépendance avec le QP du bloc en
|
|
question.
|
|
Par défaut, des blocs QP élevés sont fortement filtrés, et des blocs QP bas
|
|
ne sont pas débloqué du tout.
|
|
Les pré-règlage de forces défini par les standard sont bien choisi et les
|
|
chances sont très bonne pour qu'elles aient des PSNR optimal quelque soit la
|
|
vidéo que vous essayez d'encoder.
|
|
Les paramètres de <option>deblockalpha</option> et <option>deblockbeta</option>
|
|
vous permettent de spécifier des décalages aux pré-règlage des seuils de
|
|
déblocage.
|
|
</para>
|
|
<para>
|
|
Plein de gens semble penser que c'est une bonne idée de baisser la force
|
|
du filtre de déblocage par de large montants (disons, -3).
|
|
Ce n'est cependant presque jamais une bonne idée, et dans la plupart des cas,
|
|
les gens 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
|
|
in-loop est que les seuils par défaut sont à peu près toujours optimal PSNR.
|
|
Dans les rares cas où ils ne sont pas optimal, le décalage idéal est plus ou
|
|
moins 1.
|
|
Ajustant les paramètres de déblocage par un montant plus large est à peu près
|
|
garanti d'abimer le PSNR.
|
|
Le renforcement du filtre enduira plus de détails; l'affaiblissement du filtre
|
|
augmentera l'aspect du carré.
|
|
</para>
|
|
<para>
|
|
C'est définitivement une mauvaise idée de baisser les seuils de déblocage si
|
|
votre source est principalement basse en complexité spaciale (i.e., peu de
|
|
détail ou bruit).
|
|
Le filtre in-loop fait un travail plutôt excellent en cachant les artefacts
|
|
qui se surviennent.
|
|
Si la source est élevé en complexité spacial, cependant, les artefacts sont
|
|
moins apparent.
|
|
C'est parce que le déclencheur tend à ressembler à du détail ou du bruit.
|
|
La perception visuelle humaine remarque facilement quand un détail est enlevé,
|
|
mais elle ne remarque pas si facilement quand le bruit est faussement
|
|
représenté.
|
|
Quand on en vient à une qualité subjective, bruit et détail sont quelque peu
|
|
interchangeable.
|
|
En baissant la force du filtre de déblocage, vous aurez des erreurs
|
|
croissantes le plus susceptible en ajoutant des artefacts qui donneront
|
|
l'alerte, mais l'oeil ne les remarque pas parce qu'il confond les
|
|
artefacts avec des détails.
|
|
</para>
|
|
|
|
<para>
|
|
Ceci ne justifie <emphasis role="bold">toujours</emphasis> pas d'abaisser
|
|
la force du filtre de déblocage, cependant.
|
|
Vous pouvez généralement obtenir une meilleur qualité de bruit du
|
|
post-traitement.
|
|
Si votre encodage en H.264 est trop flou ou souillé, essayez de lui rajouter
|
|
<option>-vf noise</option> quand vous jouez votre film encodé.
|
|
<option>-vf noise=8a:4a</option> devrez cacher la plupart des simples
|
|
artefacts.
|
|
Cela aura l'air certainement mieux que les résultats que vous auriez obtenus
|
|
juste en jouant du violon 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 suivant sont des exemples de différentes combinaisons
|
|
d'option d'encodage qui affèctent la compensation entre la vitesse et
|
|
la qualité pour le même bitrate cible.
|
|
</para>
|
|
|
|
<para>
|
|
Tous les paramètres d'encodage sont testés sur un échantillon vidéo à
|
|
720x448 @30000/1001 fps, le bitrate cible était à 900kbps, et la machine
|
|
était un AMD-64 3400+ à 2400 Mhz en mode 64 bits.
|
|
Chaque paramètre d'encodage exploite la vitesse d'encodage mesuré (en
|
|
frames par seconde) et la perte PSNR (en dB) en la comparant au paramètre
|
|
de "très haute qualité".
|
|
Veuillez comprendre que dépendemment de votre source, de votre type de machine
|
|
et des avancements en développement, vous pouvez 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 fps)</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>6fps</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>13fps</entry>
|
|
<entry>-0.89dB</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Rapide</entry>
|
|
<entry><option>subq=4:bframes=2:b_pyramid:weight_b</option></entry>
|
|
<entry>17fps</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 conforme 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
|
|
au format VCD, SCVD et DVD en utilisant la librairie
|
|
<systemitem class="library">libavcodec</systemitem>.
|
|
Ces fichiers peuvent ensuite être utilisé conjointement 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 discs qui joueront sur une platine de salon standard.
|
|
</para>
|
|
|
|
<para>
|
|
Les formats DVD, SVCD, et VCD sont sujet à des lourdes contraintes.
|
|
Seule une petite sélection des tailles d'image encodé et taux d'aspect
|
|
est disponible.
|
|
Si votre film n'est pas déjà en accord avec ces conditions, vous pourriez
|
|
avoir à dimensionner, découper ou ajouter des bords noirs à l'image pour
|
|
la rendre conforme.
|
|
</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>V. Codec</entry>
|
|
<entry>V. Bitrate</entry>
|
|
<entry>Taux d'Echantillonnage</entry>
|
|
<entry>A. Codec</entry>
|
|
<entry>A. Bitrate</entry>
|
|
<entry>FPS</entry>
|
|
<entry>Aspect</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>NTSC DVD</entry>
|
|
<entry>720x480, 704x480, 352x480, 352x240</entry>
|
|
<entry>MPEG-2</entry>
|
|
<entry>9800 kbps</entry>
|
|
<entry>48000 Hz</entry>
|
|
<entry>AC3,PCM</entry>
|
|
<entry>1536 kbps (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é pour les DVDs
|
|
parcequ'ils ont une assez basse qualité.</para></footnote></entry>
|
|
<entry>MPEG-1</entry>
|
|
<entry>1856 kbps</entry>
|
|
<entry>48000 Hz</entry>
|
|
<entry>AC3,PCM</entry>
|
|
<entry>1536 kbps (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 kbps</entry>
|
|
<entry>44100 Hz</entry>
|
|
<entry>MP2</entry>
|
|
<entry>384 kbps (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 kbps</entry>
|
|
<entry>44100 Hz</entry>
|
|
<entry>MP2</entry>
|
|
<entry>224 kbps</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 kbps</entry>
|
|
<entry>48000 Hz</entry>
|
|
<entry>MP2,AC3,PCM</entry>
|
|
<entry>1536 kbps (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 kbps</entry>
|
|
<entry>48000 Hz</entry>
|
|
<entry>MP2,AC3,PCM</entry>
|
|
<entry>1536 kbps (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 kbps</entry>
|
|
<entry>44100 Hz</entry>
|
|
<entry>MP2</entry>
|
|
<entry>384 kbps (max)</entry>
|
|
<entry>25</entry>
|
|
<entry>4:3</entry>
|
|
</row>
|
|
<row>
|
|
<entry>PAL VCD</entry>
|
|
<entry>352x288</entry>
|
|
<entry>MPEG-1</entry>
|
|
<entry>1152 kbps</entry>
|
|
<entry>44100 Hz</entry>
|
|
<entry>MP2</entry>
|
|
<entry>224 kbps</entry>
|
|
<entry>25</entry>
|
|
<entry>4:3</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<para>
|
|
Si votre film a un aspect 2.35:1 (les plus récents films d'action), vous
|
|
aurez à ajouter des bords noirs ou découper le film jusqu'à un aspect 16:9
|
|
pour faire un DVD ou un VCD.
|
|
Si vous ajoutez des bords noirs, essayez de les aligner aux frontières de
|
|
16-pixels de façon à minimiser l'impact sur la performance d'encodage.
|
|
Dieu merci le DVD a un bitrate suffisamment excéssif que vous n'avez pas trop
|
|
à vous inquiéter pour l'efficacité de l'encodage, mais le SVCD et le VCD sont
|
|
hautement gourmand en bitrate 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>
|
|
DVD, VCD, et SVCD vous contraignent aussi à des tailles relativement basses
|
|
de GOP (Group of Pictures ou "Groupe d'Images").
|
|
Pour des matériaux à 30 fps la plus large taille de GOP permise est 18.
|
|
Pour 25 ou 24 fps, le maximum est 15.
|
|
La taille du GOP est règlé en utilisant l'option <option>keyint</option>.
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-vcd-dvd-constraints-bitrate">
|
|
<title>Contraintes de Bitrate</title>
|
|
<para>
|
|
Une vidéo VCD doit être nécessairement en CBR à 1152 kbps.
|
|
Cette contrainte grandement limitante vient aussi avec une taille du buffer
|
|
vbv de 327 kilobits extrèmement basse.
|
|
SVCD permet de varié des bitrates vidéo jusqu'à 2500 kbps, et une légèrement
|
|
moins restrictive taille du buffer vbv de 917 kilobits est permis.
|
|
Les bitrates de vidéo DVD peuvent s'étendre de n'importe où jusqu'à 9800 kbps
|
|
(bien que les bitrates typiques sont à peu près la moitié de ça), et la taille
|
|
du buffer vbv est 1835 kilobits.
|
|
</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 correct de
|
|
fichier.
|
|
</para>
|
|
|
|
<para>
|
|
Les options pour le VCD et le SVCD sont appelé xvcd et xsvcd, parceque ce
|
|
sont des formats étendus.
|
|
Elles ne sont pas strictement conforme, principalement parceque la sortie
|
|
ne contient pas des 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 NTSC étiré:
|
|
<screen>
|
|
-of mpeg -mpegopts format=dvd:telecine -ofps 24000/1001
|
|
</screen>
|
|
Ceci permet au contenu progressif à 24000/1001 fps d'être encodé à
|
|
30000/1001 fps tandis que la conformité DVD est maintenu.
|
|
</para>
|
|
|
|
<sect3 id="menc-feat-vcd-dvd-output-aspect">
|
|
<title>Rapport d'Aspect</title>
|
|
<para>
|
|
L'argument d'aspect <option>-lavcopts</option> est utilisé pour encoder
|
|
le rapport d'aspect du fichier.
|
|
Durant la lecture le rapport d'aspect est utilisé pour redonner à la vidéo
|
|
la taille correcte.
|
|
</para>
|
|
|
|
<para>
|
|
16:9 ou "Ecran Large"
|
|
<screen>
|
|
-lavcopts aspect=16/9
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
4:3 ou "Plein Ecran"
|
|
<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 correcte de dimensionnement, utilisez la largeur
|
|
étendu 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 correcte de dimensionnement, utilisez la largeur
|
|
étendu PAL de 1024/2.35 = 432
|
|
</para>
|
|
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-vcd-dvd-output-srate">
|
|
<title>Conversion du Taux d'Echantillonnage</title>
|
|
<para>
|
|
Si le taux d'échantillonnage de l'audio du fichier original n'est pas le même
|
|
que celui requis par le format cible, la conversion du taux d'échantillonnage
|
|
est requis.
|
|
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>Utilisant 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 conforme 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 dans le but de rendre un film conforme 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 grosse perte d'espace.
|
|
Notez que l'audio MP3 n'est compatible pour aucun de ces formats, mais de
|
|
toute façon les lecteurs n'ont souvent aucun problème pour les jouer.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">abitrate</emphasis>:
|
|
224 pour le VCD; jusqu'à 384 pour le SVCD; jusqu'à 1536 pour le DVD, mais
|
|
utilise communément une gamme de valeurs de 192 kbps pour le stéréo à
|
|
384 kbps 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 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 matériaux à 30 fps, ou 15 pour les matériaux à 25/24 fps.
|
|
Les producteurs commerciaux semblent préférer des keyframe à des intervales
|
|
de 12.
|
|
Il est possible de l'avoir plus grand et et d'être encor 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. Pëut être laissé seul 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 souhaiter utiliser des valeurs plus
|
|
basse dépendamment de vos propres préférences et conditions personnelles .
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
<emphasis role="bold">vbitrate</emphasis>:
|
|
1152 pour le VCD;
|
|
jusqu'à 2500 pour le SVCD;
|
|
jusqu'à 9800 pour le DVD.
|
|
Pour les deux derniers formats, vbitrate devrait être règlé basé sur des
|
|
préférences personnelles.
|
|
Par exemple, si vous insistez à faire tenir 20 heures ou plus sur un DVD,
|
|
vous pourriez utiliser vbitrate=400.
|
|
La qualité vidéo résutlante sera probablement assez mauvaise.
|
|
Si vous essayez d'avoir la qualité maximum possible sur un DVD, utilisez
|
|
vbitrate=9800, mais soyez prévenu que cela pourrait vous contraindre
|
|
à n'avoir 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 minimum 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é</title>
|
|
<para>
|
|
Pour une qualité plus élevé d'encodage, vous pourriez aussi souhaiter ajouter
|
|
des options d'amélioration de qualité à lavcopts, comme <option>trell</option>,
|
|
<option>mbd=2</option>, et autres.
|
|
Notez que <option>qpel</option> et <option>v4mv</option>, tandis que souvent
|
|
utile avec le MPEG-4, ne sont pas utilisable 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 plates
|
|
colorées.
|
|
Les mettre toute ensemble, ceci est un exemple d'un paramètrage de lavcopts
|
|
pour un DVD de plus 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>
|
|
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 librairies,
|
|
cependant il devrait toujours être disponible en utilisation.
|
|
VCD supporte seulement l'audio avec un bitrate constant (CBR) alorsque SVCD
|
|
supporte aussi le bitrate variable (VBR).
|
|
Soyez purdent 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 le VCD et le SVCD:
|
|
<screen>
|
|
-oac toolame -toolameopts br=224
|
|
</screen>
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-vcd-dvd-audio-twolame">
|
|
<title>twolame</title>
|
|
<para>
|
|
Pour le VCD et le SVCD:
|
|
<screen>
|
|
-oac twolame -twolameopts br=224
|
|
</screen>
|
|
</para>
|
|
</sect3>
|
|
|
|
<sect3 id="menc-feat-vcd-dvd-audio-lavc">
|
|
<title>libavcodec</title>
|
|
<para>
|
|
Pour le DVD avec le son 2 canaux:
|
|
<screen>
|
|
-oac lavc -lavcopts acodec=ac3:abitrate=192
|
|
</screen>
|
|
</para>
|
|
<para>
|
|
Pour le DVD avec le son 5.1 canaux:
|
|
<screen>
|
|
-channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384
|
|
</screen>
|
|
</para>
|
|
<para>
|
|
Pour le VCD et le SVCD:
|
|
<screen>
|
|
-oac lavc -lavcopts acodec=mp2:abitrate=224
|
|
</screen>
|
|
</para>
|
|
</sect3>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-vcd-dvd-all">
|
|
<title>Les mettre tous Ensemble</title>
|
|
<para>
|
|
Cette section montre certaines commandes complètes pour créer des vidéos
|
|
compatible 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, utilise la copie -oac 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>
|
|
|
|
|