1
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>10.5. Encodage avec le codec x264</title><link rel="stylesheet" href="default.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="MPlayer - Le Lecteur Vidéo"><link rel="up" href="encoding-guide.html" title="Chapitre 10. L'encodage avec MEncoder"><link rel="prev" href="menc-feat-xvid.html" title="10.4. Encodage avec le codec Xvid"><link rel="next" href="menc-feat-video-for-windows.html" title="10.6. Encoder avec la famille de codecs Video For Windows"><link rel="preface" href="howtoread.html" title="Comment lire cette documentation"><link rel="chapter" href="intro.html" title="Chapitre 1. Introduction"><link rel="chapter" href="install.html" title="Chapitre 2. Installation"><link rel="chapter" href="usage.html" title="Chapitre 3. Utilisation"><link rel="chapter" href="cd-dvd.html" title="Chapitre 4. Utilisation des CD/DVD"><link rel="chapter" href="tv.html" title="Chapitre 5. TV"><link rel="chapter" href="radio.html" title="Chapitre 6. Radio"><link rel="chapter" href="video.html" title="Chapitre 7. Sorties vidéo"><link rel="chapter" href="ports.html" title="Chapitre 8. Ports"><link rel="chapter" href="mencoder.html" title="Chapitre 9. Utilisation basique de MEncoder"><link rel="chapter" href="encoding-guide.html" title="Chapitre 10. L'encodage avec MEncoder"><link rel="chapter" href="faq.html" title="Chapitre 11. Foire Aux Questions"><link rel="appendix" href="bugreports.html" title="Annexe A. Comment rapporter les bogues"><link rel="appendix" href="skin.html" title="Annexe B. Format de skins MPlayer"><link rel="subsection" href="menc-feat-x264.html#menc-feat-x264-encoding-options" title="10.5.1. Les options d'encodage de x264"><link rel="subsection" href="menc-feat-x264.html#menc-feat-x264-example-settings" title="10.5.2. Exemples de paramètre d'encodage"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">10.5. Encodage avec le codec <code class="systemitem">x264</code></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="menc-feat-xvid.html">Précédent</a> </td><th width="60%" align="center">Chapitre 10. L'encodage avec <span class="application">MEncoder</span></th><td width="20%" align="right"> <a accesskey="n" href="menc-feat-video-for-windows.html">Suivant</a></td></tr></table><hr></div><div class="sect1" title="10.5. Encodage avec le codec x264"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="menc-feat-x264"></a>10.5. Encodage avec le codec <code class="systemitem">x264</code></h2></div></div></div><p>
2
<code class="systemitem">x264</code> est une librairie libre pour
3
encoder des flux vidéo H.264/AVC.
4
Avant de commencer à encoder, vous avez besoin de <a class="link" href="codec-installation.html#x264" title="2.5.2. x264">
5
paramétrer <span class="application">MEncoder</span> pour qu'il le supporte</a>.
6
</p><div class="sect2" title="10.5.1. Les options d'encodage de x264"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-x264-encoding-options"></a>10.5.1. Les options d'encodage de x264</h3></div></div></div><p>
7
Veuillez commencer par passer en revue la section
8
<code class="systemitem">x264</code> de la page man
9
de <span class="application">MPlayer</span>.
10
Cette section est prévue pour être un complément à la page man.
11
Ici, vous trouverez des conseils sur les options qui sont
12
le plus susceptible d'intéresser la plupart des gens. La page man
13
est plus laconique mais aussi plus exhaustive et offre
14
parfois de bien meilleurs détails techniques.
15
</p><div class="sect3" title="10.5.1.1. Introduction"><div class="titlepage"><div><div><h4 class="title"><a name="menc-feat-x264-encoding-options-intro"></a>10.5.1.1. Introduction</h4></div></div></div><p>
16
Ce guide considère deux principales catégories d'options d'encodage :
17
</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Les options qui traitent principalement du compromis entre la durée d'encodage et la qualité
18
</p></li><li class="listitem"><p>Les options susceptibles de satisfaire diverses préférences personnelles
19
et exigences spéciales</p></li></ol></div><p>
20
Finalement, seul vous pouvez décider quelles sont les meilleures options en fonction de vos objectifs.
21
La décision pour la première catégorie d'options est la plus simple :
22
vous devez seulement décider si les différences de qualité
23
justifient les différences de vitesse. Pour la deuxième catégorie d'options,
24
les préférences peuvent être bien plus subjectives, et plus de facteurs
25
peuvent être impliqués. Notez que certaines des options de type
26
"préférences personnelles et exigences spéciales" peuvent aussi avoir
27
un impact important sur la vitesse ou la qualité, mais ce n'est pas là leur
28
utilité première. Quelques unes des options de "préférences
29
personnelles" peuvent même avoir des effets jugés bénéfiques par certaines personnes
30
mais néfastes par d'autres.
32
Avant de continuer, il est important que vous sachiez que ce guide
33
utilise une unique mesure de qualité : le PSNR global.
34
Pour une brève explication du PSNR, voir
35
<a class="ulink" href="http://fr.wikipedia.org/wiki/PSNR" target="_top">l'article Wikipedia sur le PSNR</a>.
36
Le PSNR global est le dernier nombre PSNR donné quand vous incluez l'option
37
<tt class="option">psnr</tt> dans <tt class="option">x264encopts</tt>.
38
Pour toutes les assertions faites sur le PSNR, il sera supposé un débit constant.
40
Pratiquement tous les commentaires de ce guide supposent que vous effectuez
41
un encodage en deux passes.
42
Lors de la comparaison d'options, il y a deux raisons principales pour
43
l'utilisation d'un encodage en deux passes.
44
Premièrement, l'utilisation de deux passes permet souvent de gagner environ 1dB
45
en PSNR, ce qui est une très grande différence.
46
Deuxièmement, tester les options en faisant des comparaisons directes de
47
qualité avec un encodage en une passe introduit est facteur d'erreur :
48
le débit varie souvent de façon significative avec chaque encodage.
49
Il n'est pas toujours facile de dire si les changements de qualité sont
50
principalement dûs aux changements d'options, ou si ils
51
reflètent essentiellement des différences aléatoires dans le débit atteint.
52
</p></div><div class="sect3" title="10.5.1.2. Options qui affectent principalement la vitesse et la qualité"><div class="titlepage"><div><div><h4 class="title"><a name="menc-feat-x264-encoding-options-speedvquality"></a>10.5.1.2. Options qui affectent principalement la vitesse et la qualité</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
53
<span class="bold"><strong>subq</strong></span> :
54
Des options qui vous permettent de jouer sur le compromis vitesse-qualité,
55
<tt class="option">subq</tt> et <tt class="option">frameref</tt> (voir ci-dessous) sont
56
habituellement de loin les plus importantes.
57
Si vous êtes intéressés par le bidouillage soit de la vitesse soit de la
58
qualité, ces options sont les premières que vous devriez prendre en
60
Sur la vitesse, les options <tt class="option">frameref</tt>
61
et <tt class="option">subq</tt> interagissent entre elles assez fortement.
62
L'expérience montre que, avec une image de référence,
63
<tt class="option">subq=5</tt> (le réglage par défaut) est environ 35% plus lent que
64
<tt class="option">subq=1</tt>.
65
Avec 6 images de référence, la pénalité passe au dessus des 60%.
66
L'effet de <tt class="option">subq</tt> sur le PSNR semble assez constant
67
indépendamment du nombre d'images de référence.
68
Typiquement, <tt class="option">subq=5</tt> résulte en un PSNR global supérieur de
69
0.2-0.5 dB par rapport à <tt class="option">subq=1</tt>.
70
C'est habituellement assez pour être visible.
72
<tt class="option">subq=6</tt> est le mode le plus lent et le plus élevé en qualité.
73
Par rapport à <tt class="option">subq=5</tt>, il gagne habituellement
74
de 0.1-0.4 dB en PSNR avec des coûts en vitesse variant de 25% à 100%.
75
A la différence des autres niveaux de <tt class="option">subq</tt>, le comportement
76
de <tt class="option">subq=6</tt> ne dépend pas beaucoup de <tt class="option">frameref</tt>
77
et <tt class="option">me</tt>. Au lieu de cela, l'efficacité de <tt class="option">subq=6</tt>
78
dépend principalement du nombre d'images B utilisées. Lors d'une utilisation
79
normale, cela signifie que <tt class="option">subq=6</tt> a un grand impact sur la
80
vitesse et la qualité dans le cas de scènes d'action complexes,
81
mais il peut ne pas avoir beaucoup d'effets sur les scènes avec peu de mouvements.
82
Notez qu'il est recommandé de toujours régler <tt class="option">bframes</tt>
83
à des valeurs autres que zéro (voir ci-dessous).
85
<tt class="option">subq=7</tt> est le mode le plus lent, offrant la meilleure qualité.
86
En comparaison de <tt class="option">subq=6</tt>, il permet de gagner 0.01-0.05 dB en PSNR
87
global avec un ralentissement de la vitesse d'encodage variant de 15 à 33%.
88
Comme le compromis temps d'encodage/qualité est plutôt faible, il vaut mieux l'utiliser
89
lorsque vous voulez sauver le maximum de bits et que le temps d'encodage ne vous pose pas de
91
</p></li><li class="listitem"><p>
92
<span class="bold"><strong>frameref</strong></span> :
93
<tt class="option">frameref</tt> est réglé à 1 par défaut, mais il ne faut pas penser que cela implique
94
qu'il est raisonnable de le laisser à 1.
95
Augmenter simplement <tt class="option">frameref</tt> à 2 permet un gain de PSNR d'environ
96
0.15dB, avec une pénalité de 5-10% sur la vitesse; cela semble être
98
<tt class="option">frameref=3</tt> gagne environ 0.25dB de PSNR par rapport à
99
<tt class="option">frameref=1</tt>, ce qui devrait être une différence visible.
100
<tt class="option">frameref=3</tt> est environ 15% plus lent que <tt class="option">frameref=1</tt>.
101
Malheureusement, les gains diminuent rapidement.
102
<tt class="option">frameref=6</tt> peut entraîner un gain de seulement 0.05-0.1 dB
103
par rapport à <tt class="option">frameref=3</tt> avec une pénalité de
105
Au delà de <tt class="option">frameref=6</tt>, les gains en qualité sont
106
habituellement très faible (bien que vous deviez garder à l'esprit
107
à travers toute cette discussion que cela peut varier fortement selon la source vidéo utilisée).
108
Dans un cas raisonnablement typique, <tt class="option">frameref=12</tt> améliorera le PSNR
109
global d'un minuscule 0.02dB par rapport à <tt class="option">frameref=6</tt>,
110
avec un surcoût sur la vitesse de 15%-20%.
111
Avec des valeurs aussi élevées de <tt class="option">frameref</tt>, la seule vraie bonne
112
chose qui puisse être dite est que de l'augmenter même au delà ne
113
<span class="bold"><strong>nuira</strong></span> presque certainement jamais au PSNR,
114
mais les bénéfices sur la qualité sont à peine mesurables, et encore
116
</p><div class="note" title="Note :" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note :</h3><p>
117
Augmenter <tt class="option">frameref</tt> à des valeurs inutilement élevées
118
<span class="bold"><strong>peut affecter</strong></span> et <span class="bold"><strong>habituellement affecte</strong></span>
119
l'efficacité d'encodage si vous désactivez le CABAC.
120
Avec le CABAC activé (comportement par défaut), la possibilité de régler
121
<tt class="option">frameref</tt> "trop haut" semble trop éloignée pour s'en inquiéter,
122
et dans le futur, il est possible que des optimisations l'élimine complètement.
124
Si la vitesse vous intéresse, un compromis raisonnable est
125
d'utiliser des valeurs de <tt class="option">subq</tt> et <tt class="option">frameref</tt> basses
126
pour la première passe, et de les augmenter ensuite sur pour la seconde passe.
127
Typiquement, cela a un effet négatif négligeable sur la qualité
129
vous perdrez probablement bien moins de 0.1dB en PSNR, ce qui devrait
130
être une différence beaucoup trop faible pour être visible.
131
Cependant, des valeurs différentes de <tt class="option">frameref</tt> peuvent
132
parfois affecter le choix du type de frame.
133
Ce sont très probablement des cas périphériques rares, mais si vous voulez
134
en être complètement certain, regardez si votre vidéo a soit des motifs
135
plein écran, clignotants et répétitifs, soit de très
136
grandes occlusions provisoires qui pourraient nécessiter une image I1.
137
Ajustez le <tt class="option">frameref</tt> de la première passe pour qu'il soit assez
138
grand pour contenir la durée du cycle de clignotement (ou d'occlusion).
139
Par exemple, si la scène fait clignoter deux images
140
sur une durée de trois images, réglez le <tt class="option">frameref</tt> de la
141
première passe à 3 ou plus.
142
Ce problème est probablement extrêmement rare sur des vidéos de type
143
action, mais cela arrive quelquefois dans des captures de jeu vidéo.
144
</p></li><li class="listitem"><p>
145
<span class="bold"><strong>me</strong></span> :
146
Cette option sert pour le choix de la méthode de recherche d'estimation de mouvement.
147
Cette option modifie de manière directe le compromis entre qualité et vitesse.
148
<tt class="option">me=dia</tt> n'est plus rapide que de quelques pourcents par rapport à
149
la recherche par défaut et entraîne une diminution du PSNR global inférieure à 0.1dB. Le
150
paramètre par défaut (<tt class="option">me=hex</tt>) est un compromis raisonnable
151
entre vitesse et qualité. <tt class="option">me=umh</tt> améliore de moins de 0.1dB le
152
PSNR global avec une pénalité sur la vitesse variant en fonction
153
de <tt class="option">frameref</tt>. Pour de hautes valeurs de <tt class="option">frameref</tt>
154
(par exemple 12 ou plus), <tt class="option">me=umh</tt> est environ 40% plus lent que le
155
<tt class="option">me=2</tt> par défaut. Avec <tt class="option">frameref=3</tt>,
156
la pénalité sur la vitesse chute à 25%-30%.
158
<tt class="option">me=esa</tt> utilise une recherche exhaustive qui est trop lente pour
159
une utilisation pratique.
160
</p></li><li class="listitem"><p>
161
<span class="bold"><strong>partitions=all</strong></span> :
162
Cette option autorise l'utilisation des sous-partitions 8x4, 4x8 et 4x4
163
(en plus de celles présentes par défaut) dans
164
les macroblocs prédits. L'autoriser résulte en une perte de vitesse raisonnablement
165
consistente de 10%-15%. Cette option est plutôt inutile pour les videos sources contenant
166
uniquements de faibles mouvements, particulièrement pour les sources avec
167
beaucoup de petits objets en mouvement. Un gain d'environ 0.1dB peut être espéré.
168
</p></li><li class="listitem"><p>
169
<span class="bold"><strong>bframes</strong></span> :
170
Si vous avez l'habitude d'encoder avec d'autre codecs, vous avez peut-être réalisé
171
que les images B ne sont pas toujours utiles.
172
Avec le H.264, ceci a changé : il y a de nouvelles techniques et types
173
de blocs qui sont possibles avec les images B.
174
Habituellement, même un algorithme de choix d'image B naïf peut avoir un
175
bénéfice significatif sur le PSNR.
176
Il est intéressant de noter que l'utilisation d'images B accélère
177
habituellement légèrement la seconde passe, et peut aussi accélérer
178
l'encodage en une seule passe si le choix adaptatif d'image B est désactivé.
180
Avec le choix adaptatif d'image B désactivé
181
(l'option <tt class="option">nob_adapt</tt> de <tt class="option">x264encopts</tt>),
182
le réglage optimal n'est habituellement pas supérieur à
183
<tt class="option">bframes=1</tt>, sinon les scènes riches en mouvement vont en souffrir.
184
Avec le choix adaptatif d'image B activé (le comportement par défaut), cela
185
ne pose plus de problème d'utiliser des valeurs plus élevées;
186
l'encodeur réduira l'utilisation d'images B dans les scènes où
187
cela endommagerait la compression.
188
L'encodeur choisi rarement d'utiliser plus de 3 ou 4 images B;
189
régler cette option à une valeur plus élevée aura peu d'effet.
190
</p></li><li class="listitem"><p>
191
<span class="bold"><strong>b_adapt</strong></span> :
192
Note : activé par défaut.
194
Avec cette option activée, l'encodeur utilise une procédure de décision
195
raisonnablement rapide pour réduire le nombre d'images B utilisées dans
196
les scènes pour lesquelles leur utilisation n'apporterait pas grand-chose.
197
Vous pouvez utiliser <tt class="option">b_bias</tt> pour affiner la tendance
198
de l'encodeur à insérer des images B.
199
La pénalité de vitesse du chois adaptatif d'images B est actuellement
200
plutôt modeste, mais il en est de même pour le potentiel gain en qualité.
201
En général, cela ne fait pas de mal.
202
Notez que cela affecte uniquement la vitesse et le choix du type d'image
203
lors de la première passe.
204
Les options <tt class="option">b_adapt</tt> et <tt class="option">b_bias</tt> n'ont pas
205
d'effet lors des passages suivants.
206
</p></li><li class="listitem"><p>
207
<span class="bold"><strong>b_pyramid</strong></span> :
208
Vous pouvez aussi activer cette option si vous utilisez 2 images B ou plus;
209
comme l'indique la page man, vous obtiendrez une faible amélioration de la
210
qualité sans surcoût en vitesse.
211
Notez que ces vidéos ne peuvent pas être lues avec les décodeurs basés sur
212
libavcodec antérieurs au 5 mars 2005 (environ).
213
</p></li><li class="listitem"><p>
214
<span class="bold"><strong>weight_b</strong></span> :
215
En théorie, il n'y a beaucoup de gain à espérer de cette option.
216
Cependant, dans les scènes de fondu, la prédiction
217
pondérée permet d'économiser beaucoup en débit (kbit/s).
218
Dans le MPEG-4 ASP, un fondu-au-noir est habituellement le mieux compressé
219
en tant qu'une coûteuse série d'images I; utiliser la prédiction pondérée pour les
220
images B permet d'en convertir au moins une partie images B bien plus légères.
221
Le coût en durée d'encodage est minimal, étant donné qu'aucun choix
222
supplémentaire n'a besoin d'être fait.
223
Aussi, contrairement à ce que les gens semblent deviner, les besoins en puissance informatique
224
du décodeur ne sont pas beaucoup affectés par la prédiction pondérée, tout
225
le reste étant équivalent.
227
Malheureusement, l'algorithme adaptatif de choix d'images B actuel
228
a une forte tendance à éviter les images B pendant les fondus.
229
Jusqu'à ce que cela change, cela peut être une bonne idée d'ajouter <tt class="option">nob_adapt</tt>
230
à votre <tt class="option">x264encopts</tt> si vous pensez que les fondus auront un impact important
232
</p></li><li class="listitem"><p><a name="menc-feat-x264-encoding-options-speedvquality-threads"></a>
233
<span class="bold"><strong>threads</strong></span> :
234
Cette option permet de lancer des threads autorisant ainsi l'encodage en parallèle sur plusieurs CPUs.
235
Il est possible de choisir manuellement le nombre de threads à créer ou, mieux, d'utiliser
236
<tt class="option">threads=auto</tt> et laisser
237
<code class="systemitem">x264</code> détecter le nombre de CPU disponible et choisir
238
le nombre de threads approprié.
239
Si vous possédez une machine multi-processeurs, vous devriez songer à utiliser cette option.
240
Elle permet d'augmenter la vitesse d'encodage linéairement en fonction du nombre de coeur de CPU
241
(à peu prés de 94% par coeur), tout en impliquant une réduction de qualité minime
242
(aux environs de 0.005dB pour un processeur double-coeurs, 0.01dB pour une machine quadri-coeurs).
243
</p></li></ul></div></div><div class="sect3" title="10.5.1.3. Options relatives à diverses préférences"><div class="titlepage"><div><div><h4 class="title"><a name="menc-feat-x264-encoding-options-misc-preferences"></a>10.5.1.3. Options relatives à diverses préférences</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
244
<span class="bold"><strong>Encodage en deux passes</strong></span> :
245
On a suggéré ci-dessus de toujours utiliser un encodage en deux passages,
246
mais il reste tout de même quelques raisons pour ne pas l'utiliser. Par exemple, si vous
247
faites une capture de la télévision et l'encodez en temps réel, vous
248
êtes obligé d'utiliser un encodage 1 passe.
249
De plus, le 1 passe est évidemment plus rapide que le 2 passes;
250
si vous utilisez exactement les mêmes options lors des 2 passes, l'encodage 2 passes
251
est presque deux fois plus lent.
253
Cependant, il y a de très bonnes raisons pour utiliser l'encodage 2 passes.
254
D'une part, le contrôle de débit du mono-passe n'est pas medium et
255
fait donc souvent des choix peu raisonnables parce qu'il n'a pas de vue d'ensemble
256
de la vidéo. Par exemple, supposez que vous ayez une vidéo de deux minutes
257
consistant en deux moitiés distinctes. La première moitié est une scène
258
riche en mouvements qui dure 60 secondes qui, isolée, requière
259
environ 2500kbit/s pour être correct. Suit immédiatement une
260
scène de 60 secondes beaucoup moins exigeante qui peut être très bien à
261
300kbit/s. Supposez que vous demandiez 1400kbps en supposant
262
que cela soit suffisant pour s'accomoder des deux scènes. Le contrôle de débit
263
du mono-passe commettra des "fautes" dans un tel cas.
264
Premièrement, il visera 1400kbit/s pour les deux segments. Le premier segment
265
sera quantifié à l'excès et aura donc des artefacts de blocs de façon irrationnelle
266
et inacceptable. Le second segment sera trop peu quantifié, il aura l'air parfait,
267
mais le coût en débit de cette perfection sera complètement irrationnel.
268
Ce qui est encore plus difficile à éviter est le problème de transition entre les 2 scènes.
269
Les premières secondes de la seconde partie seront grandement surquantifiées, parce que
270
le contrôle de débit s'attend encore aux exigences qu'il a rencontrées dans la première partie.
271
Cette "période d'erreur" pendant laquelle les faibles mouvements sont sur-quantifiés
272
aura l'air parkinsonien, et utilisera en réalité moins
273
que les 300kbit/s qu'il aurait pris pour le rendre correct. Il y a des façons
274
d'atténuer les pièges de l'encodage en simple passe, mais ils peuvent avoir
275
tendance à augmenter les erreurs de prédiction de débit.
277
Le contrôle du débit en multi-passes peut apporter d'énormes avantages par rapport
278
au mono-passe. En utilisant les statistiques récupérées lors de la première
279
passe d'encodage, l'encodeur peut estimer, avec une précision raisonnable, le "coût"
280
(en bits) de l'encodage de n'importe quelle image, à n'importe quel
281
quantificateur. Cela permet d'avoir une allocation des bits beaucoup plus
282
rationnelle et mieux planifiée entre les scènes coûteuses (beaucoup de
283
mouvements) et celles bon marché (peu de mouvements). Voir
284
<tt class="option">qcomp</tt> ci-dessous pour quelques suggestions sur la manière
285
d'ajuster cette allocation à votre guise.
287
De plus, l'encodage en deux passes ne prend pas nécessairement deux fois plus de temps
288
que le simple passe. Vous pouvez jouer avec les options lors de la première passe
289
pour avoir une vitesse plus élevée et une qualité plus faible.
290
Si vous choisissez bien vos options, vous pouvez obtenir une première passe
292
La qualité résultante de la seconde passe sera légèrement plus basse parce
293
que la prédiction de la taille sera moins précise, mais la différence de qualité
294
sera normalement trop faible pour être visible. Essayez, par exemple,
295
d'ajouter <tt class="option">subq=1:frameref=1</tt> à la première passe <tt class="option">x264encopts</tt>.
296
Ensuite, sur la seconde passe, utilisez des options plus lentes pour avoir une
298
<tt class="option">subq=6:frameref=15:partitions=all:me=umh</tt>
299
</p></li><li class="listitem"><p>
300
<span class="bold"><strong>Encodage en trois passes</strong></span> ?
301
x264 offre la possibilité de faire un nombre arbitraire de passes consécutives.
302
Si vous spécifiez <tt class="option">pass=1</tt> lors de la première passe, puis
303
utilisez <tt class="option">pass=3</tt> pour la passe suivante, cette dernière passe
304
lira les statistiques calculées lors du passage précédent, et écrira ses propres
305
statistiques. Une autre passe suivante aura une très bonne base pour
306
faire des prédictions très précises de tailles des images pour un quantificateur donné.
307
En pratique, les gains sur la qualité d'ensemble sont généralement proches de zéro et
308
il est très possible que la troisième passe donne un PSNR global plus faible que le précédent.
309
Typiquement, le 3 passes aide si vous obtenez une mauvaise
310
prédiction de débit ou un mauvais rendu lors des transitions de scènes
311
quand vous utilisez seulement deux passes.
312
Ceci peut se produire sur les clips extrêmement courts. Il y a aussi quelques
313
cas spéciaux dans lesquels trois (ou plus) passes sont utiles pour les
314
utilisateurs avancés, mais par souci de brièveté, ce guide ne traitera pas
316
</p></li><li class="listitem"><p>
317
<span class="bold"><strong>qcomp</strong></span> :
318
<tt class="option">qcomp</tt> gère l'allocation des bits entre les images
319
"coûteuses" des scènes riches en mouvement et celles "bon marché" des scènes de faible mouvement.
320
La valeur minimale, <tt class="option">qcomp=0</tt> s'emplie à réaliser un vrai débit constant.
321
Typiquement, cela rendrait des scènes riches en mouvements vraiment laides,
322
alors que les scènes plus statiques seraient absolument parfaites, mais cela
323
utiliserait aussi beaucoup plus de bits que nécessaire pour les rendre excellentes.
324
La valeur maximale, <tt class="option">qcomp=1</tt> rend les paramètres de quantifications
325
(QP) presque constants. Un QP constant donne un bon rendu, mais la plupart des
326
gens pensent qu'il est plus raisonnable d'enlever quelques bits des scènes
327
coûteuses (où la perte de qualité n'est pas aussi visible) et de les ré-allouer
328
aux scènes qui sont plus faciles à encoder à une excellente qualité.
329
<tt class="option">qcomp</tt> vaut 0.6 par défaut, ce qui peut être légèrement
330
trop faible au goût de nombre de personnes (0.7-0.8 sont aussi communément
332
</p></li><li class="listitem"><p>
333
<span class="bold"><strong>keyint</strong></span> :
334
<tt class="option">keyint</tt> permet de jouer sur le compromis entre la
335
précision de la navigation dans les fichiers et leur efficacité de compression.
336
Par défaut, <tt class="option">keyint</tt> est égal à 250.
337
Sur des videos à 25 images par secondes, cela garantit que la navigation peut se faire
338
avec une précision de 10 secondes.
339
Si vous pensez qu'il est important et utile de pouvoir faire une recherche
340
avec une granularité de 5 secondes, règlez à <tt class="option">keyint=125</tt>;
341
cela dégradera légèrement le rapport qualité/débit. Si vous vous souciez seulement
342
de la qualité et non de la capacité à faire une recherche, vous pouvez le
343
mettre à des valeurs beaucoup plus élevées (bien entendu, plus
344
vous augmenterez, moins il aura de gain visuels).
345
Le flux vidéo aura toujours des points de recherche tant qu'il y aura des changements de
347
</p></li><li class="listitem"><p>
348
<span class="bold"><strong>deblock</strong></span> :
349
Ce sujet risque d'être une source de controverses.
351
H.264 définit une procédure simple de déblocage sur les blocs I
352
ayant des forces et des seuils pré-réglés en fonction du QP du
354
Par défaut, les blocs à QP élevés sont fortement filtrés et les blocs à faible QP
355
ne le sont pas du tout.
356
Les forces pré-réglées définies par les standards sont bien choisies et
357
il y a de grandes chances pour qu'elles soient optimales du point de vue du PSNR
358
quel que soit la vidéo que vous encodez.
359
Les paramètres de <tt class="option">deblock</tt>
360
vous permettent de spécifier des décalages par rapport aux seuils de déblocage pré-définis.
362
Beaucoup de gens semblent penser que baisser grandement la force du filtre de
363
déblocage (par exemple -3) est une bonne idée.
364
Ce n'est cependant presque jamais le cas et dans la plupart des cas,
365
ceux qui le font ne comprennent pas très bien comment le déblocage
366
fonctionne par défaut.
368
La première et plus importante chose à savoir à propos du filtre de déblocage
369
de H264 est que les seuils par défaut sont presque toujours optimaux du point de vue du PSNR.
370
Dans les rares cas où ils ne le sont pas, le décalage idéal est de plus ou
372
Décaler les paramètres de déblocage d'une plus grande valeur est presqu'une garantie de
374
Augmenter la force du filtre diluera les détails; la baisser
375
augmentera l'effet de bloc.
377
C'est une mauvaise idée que de baisser les seuils de déblocage si
378
votre source est principalement de faible complexité spatiale (c-à-d avec peu de
379
détails ou de bruit).
380
Le filtre de H264 réussit très bien à camoufler les artefacts qui se apparaissent.
381
De toutes façons, si la complexité spatiale de la source est élevée, les
382
artefacts sont moins discernables parce qu'ils tendent à ressembler
383
à du détail ou du bruit.
384
La vision humaine remarque facilement qu'un détail a été enlevé
385
mais ne remarque pas si facilement quand un bruit est mal représenté.
386
Quand il s'agit de qualité subjective, le bruit et les détails sont
387
d'une certaine façon interchangeables.
388
En baissant la force du filtre de déblocage, vous allez très probablement
389
augmenter les erreurs en ajoutant des artefacts mais
390
l'oeil ne les remarquera pas parce qu'il les confondra avec des détails.
392
Cependant, ceci ne justifie <span class="bold"><strong>toujours</strong></span> pas une diminution de
393
la force du filtre de déblocage.
394
Vous pouvez généralement obtenir une meilleure qualité de bruit lors du
396
Si votre encodage en H.264 est trop flou ou sale, essayez de jouer avec
397
<tt class="option">-vf noise</tt> quand vous visionner votre film encodé.
398
<tt class="option">-vf noise=8a:4a</tt> devrait camoufler la plupart des artefacts légers.
399
Cela aura l'air certainement mieux que ce que vous obtiendriez en jouant
400
uniquement avec le filtre de déblocage.
401
</p></li></ul></div></div></div><div class="sect2" title="10.5.2. Exemples de paramètre d'encodage"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-x264-example-settings"></a>10.5.2. Exemples de paramètre d'encodage</h3></div></div></div><p>
402
Les paramètres ci-dessous sont des exemples de différentes combinaisons
403
d'option de compression qui affectent le compromis entre vitesse et
404
qualité pour un même débit cible.
406
Tous les paramètres d'encodage sont testés sur un échantillon vidéo à
407
720x448 à30000/1001 images par seconde, le débit cible est à 900kbit/s, et la machine
408
est un AMD-64 3400+ à 2400 MHz en mode 64 bits.
409
Chaque paramètre d'encodage exploite la vitesse de compression mesurée (en
410
images par seconde) et la perte de PSNR (en dB) en la comparant au paramètre
411
de "très haute qualité".
412
Veuillez comprendre que selon votre source, le type de votre machine et
413
les derniers développements logiciels, vous pourrez obtenir des résultats
416
</p><div class="informaltable"><table border="1"><colgroup><col><col><col><col></colgroup><thead><tr><th>Description</th><th>Options d'encodage</th><th>vitesse (en images/s)</th><th>Perte PSNR relative (en dB)</th></tr></thead><tbody><tr><td>Très haute qualité</td><td><tt class="option">subq=6:partitions=all:8x8dct:me=umh:frameref=5:bframes=3:b_pyramid:weight_b</tt></td><td>6</td><td>0dB</td></tr><tr><td>Haute qualité</td><td><tt class="option">subq=5:partitions=all:8x8dct:frameref=2:bframes=3:b_pyramid:weight_b</tt></td><td>13</td><td>-0.89dB</td></tr><tr><td>Rapide</td><td><tt class="option">subq=4:bframes=2:b_pyramid:weight_b</tt></td><td>17</td><td>-1.48dB</td></tr></tbody></table></div><p>
417
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="menc-feat-xvid.html">Précédent</a> </td><td width="20%" align="center"><a accesskey="u" href="encoding-guide.html">Niveau supérieur</a></td><td width="40%" align="right"> <a accesskey="n" href="menc-feat-video-for-windows.html">Suivant</a></td></tr><tr><td width="40%" align="left" valign="top">10.4. Encodage avec le codec <code class="systemitem">Xvid</code> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Sommaire</a></td><td width="40%" align="right" valign="top"> 10.6. Encoder avec la famille de codecs <code class="systemitem">Video For Windows</code></td></tr></table></div></body></html>