Mercurial > mplayer.hg
comparison DOCS/xml/it/encoding-guide.xml @ 25279:2838dc7a68f3
initial submit for revision... 24% synced with r22753
| author | ptt |
|---|---|
| date | Wed, 05 Dec 2007 19:06:12 +0000 |
| parents | |
| children | 136ee4a91f00 |
comparison
equal
deleted
inserted
replaced
| 25278:b037a816be70 | 25279:2838dc7a68f3 |
|---|---|
| 1 <?xml version="1.0" encoding="utf-8"?> | |
| 2 <!-- 24% synced with r22753 --> | |
| 3 <chapter id="encoding-guide"> | |
| 4 <title>La codifica con <application>MEncoder</application></title> | |
| 5 | |
| 6 <sect1 id="menc-feat-dvd-mpeg4"> | |
| 7 <title>Produrre un rip di un film da DVD in un | |
| 8 MPEG-4 ("DivX") di alta qualità</title> | |
| 9 | |
| 10 <para> | |
| 11 Una domanda frequente è "Come posso generare il rip con la migliore quallità | |
| 12 per una dimensione data?". Un'altra domanda è "Come posso fare il rip da DVD | |
| 13 migliore in assoluto? Non mi interessa la dimensione del file, voglio solo la | |
| 14 più alta qualità." | |
| 15 </para> | |
| 16 | |
| 17 <para> | |
| 18 L'ultima domanda è perlomeno forse posta malamente. Dopo tutto, se non ti | |
| 19 interessa la dimensione del file, perché non ti copi semplicemente l'intero | |
| 20 flusso video MPEG-2 dal DVD? Certo, avrai un AVI di 5GB, prendere o lasciare, | |
| 21 ma se vuoi la miglior qualità e non ti importa della dimensione, è | |
| 22 sicuramente la scelta migliore. | |
| 23 </para> | |
| 24 | |
| 25 <para> | |
| 26 Invero, la ragione per cui vuoi codificare un DVD in MPEG-4 è proprio perché | |
| 27 ti interessa <emphasis role="bold">davvero</emphasis> la dimensione del file. | |
| 28 </para> | |
| 29 | |
| 30 <para> | |
| 31 E' difficile offrire una ricetta da libro su come generare un rip da DVD in | |
| 32 qualità molto alta. Bisogna considerare vari fattori, e dovresti comprendere | |
| 33 questi dettagli, altrimenti alla fine probabilmente sarai insoddisfatto del | |
| 34 risultato. Più sotto evidenziamo alcuni di questi argomenti e poi passiamo ad | |
| 35 esaminare un esempio. Partiamo dal principio che per codificare il video tu | |
| 36 stia usando <systemitem class="library">libavcodec</systemitem> anche se la | |
| 37 teoria si applica allo stesso modo agli altri codec. | |
| 38 </para> | |
| 39 | |
| 40 <para> | |
| 41 Se questo ti sembra troppo, dovresti probabilmente usare una delle belle | |
| 42 interfacce elencate nella | |
| 43 <ulink url="http://www.mplayerhq.hu/design7/projects.html#mencoder_frontends">sezione su MEncoder</ulink> | |
| 44 nella pagina dei progetti collegati (related projects). | |
| 45 In tal modo riuscirai ad ottenere rip di alta qualità senza pensarci troppo, | |
| 46 dato che la maggior parte di questi strumenti sono progettati per prendere | |
| 47 decisioni sagge al tuo posto. | |
| 48 </para> | |
| 49 | |
| 50 <!-- ********** --> | |
| 51 | |
| 52 <sect2 id="menc-feat-dvd-mpeg4-preparing-encode"> | |
| 53 <title>Prepararsi alla codifica: identificare il materiale sorgente e la frequenza fotogrammi (framerate)</title> | |
| 54 | |
| 55 <para> | |
| 56 Prima ancora di pensare a codificare un film, devi fare alcuni passi | |
| 57 preliminari. | |
| 58 </para> | |
| 59 | |
| 60 <para> | |
| 61 Il primo e più importante passo prima della codifica dovrebbe essere | |
| 62 determinare il tipo di contenuto che stai trattando. | |
| 63 Se il tuo materiale di partenza arriva da un DVD o da TV in | |
| 64 broadcast/via cavo/satellite, sarà salvato in uno dei due formati: NTSC per | |
| 65 il Nord America e il Giappone, PAL per l'Europa, etc... | |
| 66 E' importante tuttavia comprendere che questo è solo il formato per la | |
| 67 trasmissione in televisione, e spesso <emphasis role="bold">non</emphasis> | |
| 68 corrisponde al formato originario del film. | |
| 69 L'esperienza insegna che il materiale NTSC è molto più difficile da | |
| 70 codificare, perché ci sono più elementi da identificare nel sorgente. | |
| 71 Per generare una codifica adeguata, devi sapere il formato originario. | |
| 72 Il non tenerne conto porterà a molti __flaws__ nella tua codifica, inclusi | |
| 73 artefatti orrendi __combing__ (interlacing) e fotogrammi duplicati o addirittura | |
| 74 perduti. | |
| 75 Oltre ad essere brutti, gli artefatti influenzano negativamente l'efficenza | |
| 76 della codifica: otterrai una peggior qualità a parità di bitrate. | |
| 77 </para> | |
| 78 | |
| 79 | |
| 80 <sect3 id="menc-feat-dvd-mpeg4-preparing-encode-fps"> | |
| 81 <title>Identificare la frequenza fotogrammi (framerate) del sorgente</title> | |
| 82 | |
| 83 <para> | |
| 84 C'è qui un elenco di tipi comuni di materiale sorgente, dove facilmente si | |
| 85 trovano e le loro proprietà: | |
| 86 </para> | |
| 87 | |
| 88 <itemizedlist> | |
| 89 <listitem><para> | |
| 90 <emphasis role="bold">Film standard</emphasis>: prodotti per la visione | |
| 91 su schermi da cinema a 24fps. | |
| 92 </para></listitem> | |
| 93 <listitem><para> | |
| 94 <emphasis role="bold">Video PAL</emphasis>: registrati con una videocamera | |
| 95 PAL a 50 campi al secondo. | |
| 96 Un campo è composto dalle sole linee pari o dispari di un fotogramma. | |
| 97 La televisione è stata progettata per aggiornarle alternativamente come un | |
| 98 metodo economico di compressione analogica. | |
| 99 L'occhio umano teoricamente compensa la cosa, ma una volta che capisci come | |
| 100 funziona l'interlacciatura imparerai a vederla anche in TV e non ti piacerà | |
| 101 più la TV. | |
| 102 Due campi <emphasis role="bold">non</emphasis> fanno un fotogramma intero, | |
| 103 poiché sono registrati a 1/50 di secondo di distanza nel tempo e quindi non | |
| 104 si allineano a meno che non ci sia movimento alcuno. | |
| 105 </para></listitem> | |
| 106 <listitem><para> | |
| 107 <emphasis role="bold">Video NTSC</emphasis>: registrati con una videocamera | |
| 108 NTSC a 60000/1001 campi al secondi, o 60 campi al secondo nell'era precedente | |
| 109 al colore. | |
| 110 Per il resto sono simili ai PAL. | |
| 111 </para></listitem> | |
| 112 <listitem><para> | |
| 113 <emphasis role="bold">Animazione</emphasis>: solitamente disegnati a 24fps, | |
| 114 ma se ne trovano anche in tipologie con frequenza di fotogrammi mista. | |
| 115 </para></listitem> | |
| 116 <listitem><para> | |
| 117 <emphasis role="bold">Computer Graphics (CG)</emphasis>: possono essere con | |
| 118 qualsiasi frequenza di fotogrammi, ma alcuni sono più comuni di altri; | |
| 119 sono tipici 24 e 30 fotogrammi al secondo per NTSC e 25fps per PAL. | |
| 120 </para></listitem> | |
| 121 <listitem><para> | |
| 122 <emphasis role="bold">Vecchi Film</emphasis>: varie e più basse frequenze di | |
| 123 fotogrammi. | |
| 124 </para></listitem> | |
| 125 </itemizedlist> | |
| 126 </sect3> | |
| 127 | |
| 128 | |
| 129 <sect3 id="menc-feat-dvd-mpeg4-preparing-encode-material"> | |
| 130 <title>Identificare il materiale sorgente</title> | |
| 131 | |
| 132 <para> | |
| 133 I film composti da fotogrammi sono indicati come "progressivi", mentre quelli | |
| 134 composti da campi indipendenti sono chiamati "interlacciati" o video - anche se | |
| 135 quest'ultimo termine è ambiguo. | |
| 136 </para> | |
| 137 | |
| 138 <para> | |
| 139 Per complicare ulteriormente le cose, alcuni film possono essere un misto di | |
| 140 molti dei suddetti. | |
| 141 </para> | |
| 142 | |
| 143 <para> | |
| 144 La più importante distinzione da farsi tra tutti questi formati è che alcuni | |
| 145 sono basati su fotogrammi mentre gli altri sono basati su campi. | |
| 146 <emphasis role="bold">Ogniqualvolta</emphasis> un film viene preparato per la | |
| 147 visualizzazione in televisione (DVD inclusi), viene convertito in un formato | |
| 148 basato su campi. | |
| 149 I vari metodi con cui si può fare sono conosciuti nel loro insieme come | |
| 150 "telecine", di cui il tristemente famoso "3:2 pulldown" NTSC è una tipologia. | |
| 151 A meno che il materiale originale sia anch'esso basato su campi (e con la stessa | |
| 152 frequenza di campi) otterrai un filmato in un formato diverso da quello che è | |
| 153 in origine. | |
| 154 </para> | |
| 155 | |
| 156 <itemizedlist> | |
| 157 <title>Ci sono vari tipi usuali di "pulldown":</title> | |
| 158 <listitem><para> | |
| 159 <emphasis role="bold">Pulldown PAL 2:2</emphasis>: il più bello di tutti. | |
| 160 Ciascun fotogramma viene mostrato per la durata di due campi, estraendo le | |
| 161 linee pari e dispari e mostrandole alternativamente. | |
| 162 Se il materiale di origine è a 24fps questo processo velocizza il filmato | |
| 163 del 4%. | |
| 164 </para></listitem> | |
| 165 <listitem><para> | |
| 166 <emphasis role="bold">Pulldown PAL 2:2:2:2:2:2:2:2:2:2:2:3</emphasis>: | |
| 167 Ogni dodicesimo fotogramma viene mostrato per la durata di tre campi, invece | |
| 168 che solamente per due. | |
| 169 Questo evita il problema dell'aumento del 4% di velocità, ma rende il | |
| 170 processo molto più difficile da __reversare__. | |
| 171 Solitamente viene usato nelle produzioni musicali, dove modificare del 4% la | |
| 172 velocità rovinerebbe pesantemente la colonna sonora. | |
| 173 </para></listitem> | |
| 174 <listitem><para> | |
| 175 <emphasis role="bold">Telecine NTSC 3:2</emphasis>: i fotogrammi vengono | |
| 176 mostrati alternativamente per la durata di 3 o 2 campi. | |
| 177 Questo porta ad una frequenza di campi di 2.5 volte la frequenza orginaria. | |
| 178 Il risultato viene anche leggermente rallentato da 60 campi al secondo fino a | |
| 179 60000/1001 campi al secondo, per mantenere la frequenza dei campi di NTSC. | |
| 180 </para></listitem> | |
| 181 <listitem><para> | |
| 182 <emphasis role="bold">Pulldown NTSC 2:2</emphasis>: utilizzato per mostrare | |
| 183 materiale a 30fps su NTSC. | |
| 184 Carino, proprio come il pulldown PAL 2:2. | |
| 185 </para></listitem> | |
| 186 </itemizedlist> | |
| 187 | |
| 188 <para> | |
| 189 Ci sono anche alcuni metodi per convertire tra video NTSC e PAL, ma gli | |
| 190 arogmenti relativi non sono obiettivo di questa guida. | |
| 191 Se ti trovi di fronte a un film di questo genere e lo vuoi codificare, la tua | |
| 192 scelta migliore è cercarne una copia nel formato originale. | |
| 193 La conversione tra questi due formati è altamente distruttiva e non può | |
| 194 essere __reversed__ in maniera pulita, perciò la tua codifica __soffrirà__ | |
| 195 molto se eseguita da una sorgente convertita. | |
| 196 </para> | |
| 197 | |
| 198 <para> | |
| 199 Quando il video viene salvato du un DVD, coppie consecutive di campi sono | |
| 200 raggruppati in un fotogramma, anche se non sono pensati per esser mostrati | |
| 201 nello stesso momento. | |
| 202 Lo standard MPEG-2 usato sui DVD e per la TV digitale fornisce un modo sia per | |
| 203 codificare i fotogrammi progressivi originali, che uno per memorizzare | |
| 204 nell'intestazione del fotogramma il numero dei campi per cui il fotogramma | |
| 205 stesso debba essere mostrato. | |
| 206 Se viene usato questo metodo il filmato verrà spesso indicato come | |
| 207 "soft telecine", visto che il procedimento indica semplicemente al lettore DVD | |
| 208 di applicare il pulldown al film, invece che modificare il film stesso. | |
| 209 Questa situazione è decisamente preferibile, dato che può essere facilmente | |
| 210 __reversed__ (__actually ignored__) dal condificatore, e dato che mantiene la | |
| 211 massima qualità. | |
| 212 Tuttavia, molti studi di produzione DVD e di trasmissione non usano tecniche di | |
| 213 codifica appropriate, ma al contrario producono filmati con "hard telecine", in | |
| 214 cui i campi sono sotanzialmente duplicati nell'MPEG-2 codificato. | |
| 215 </para> | |
| 216 | |
| 217 <para> | |
| 218 Le modalità per gestire questi casi verranno descritte | |
| 219 <link linkend="menc-feat-telecine">più avanti in questa guida</link>. | |
| 220 Per adesso ti lasciamo alcune indicazioni su come identificare il tipo di | |
| 221 materiale che stai trattando: | |
| 222 </para> | |
| 223 | |
| 224 <itemizedlist> | |
| 225 <title>Regioni NTSC:</title> | |
| 226 <listitem><para> | |
| 227 Se <application>MPlayer</application> dice che la frequenza fotogrammi passa | |
| 228 a 24000/1001 durante la visione del film e non ritorna come prima, è quasi | |
| 229 sicuramente un qualche contenuto progressivo che è stato modificato in | |
| 230 "soft telecine". | |
| 231 </para></listitem> | |
| 232 <listitem><para> | |
| 233 Se <application>MPlayer</application> dice che la frequenza fotogrammi va | |
| 234 avanti e indietro tra 24000/1001 e 30000/1001 e ogni tanto vedi delle "righe", | |
| 235 allora ci sono varie possibilità. | |
| 236 Le parti a 24000/1001 fps sono quasi certamente contenuto progressivo, in | |
| 237 "soft telecine", ma le parti a 30000/1001 fps possono essere sia contenuto in | |
| 238 "hard telecine" a 24000/1001 fps che video NTSC a 60000/1001 campi al secondo. | |
| 239 Usa le stesse linee guida dei due casi seguenti per determinare quale. | |
| 240 </para></listitem> | |
| 241 <listitem><para> | |
| 242 Se <application>MPlayer</application> non mostra mai una modifica alla | |
| 243 frequenza dei fotogrammi e ogni singolo fotogramma con del movimento appare | |
| 244 "rigato", il tuo filmato è video NTSC a 60000/1001 campi al secondo. | |
| 245 </para></listitem> | |
| 246 <listitem><para> | |
| 247 Se <application>MPlayer</application> non mostra mai una modifica alla | |
| 248 frequenza dei fotogrammi e due fotogrammi ogni cinque sono "rigati", il tuo | |
| 249 film è contenuto a 24000/1001fps in "hard telecine". | |
| 250 </para></listitem> | |
| 251 </itemizedlist> | |
| 252 | |
| 253 <itemizedlist> | |
| 254 <title>Regioni PAL:</title> | |
| 255 <listitem><para> | |
| 256 Se non vedi mai alcuna "riga", il tuo film è pulldown 2:2. | |
| 257 </para></listitem> | |
| 258 <listitem><para> | |
| 259 Se vedi delle "righe" che vanno e vengono ogni mezzo secondo, | |
| 260 allora il tuo film è pulldown 2:2:2:2:2:2:2:2:2:2:2:3. | |
| 261 </para></listitem> | |
| 262 <listitem><para> | |
| 263 Se vedi sempre "righe" durante il movimento, allora il tuo film è video | |
| 264 PAL a 50 campi al secondo. | |
| 265 </para></listitem> | |
| 266 </itemizedlist> | |
| 267 | |
| 268 <note><title>Consiglio:</title> | |
| 269 <para> | |
| 270 <application>MPlayer</application> può rallentare la riproduzione del film | |
| 271 con l'opzione -speed o riprodurlo fotogramma per fotogramma. | |
| 272 Prova ad usare <option>-speed</option> 0.2 per guardare molto lentamente il | |
| 273 film o premi ripetutamente il tasto "<keycap>.</keycap>" per riprodurre un | |
| 274 fotogramma per volta ed identificare la sequenza, se non riesci a vederla a | |
| 275 velocità normale. | |
| 276 </para> | |
| 277 </note> | |
| 278 </sect3> | |
| 279 </sect2> | |
| 280 | |
| 281 <!-- ********** --> | |
| 282 | |
| 283 <sect2 id="menc-feat-dvd-mpeg4-2pass"> | |
| 284 <title>Quantizzatore costante vs. multipassaggio</title> | |
| 285 | |
| 286 <para> | |
| 287 E' possibile codificare il filmato in un'ampia gamma di qualità. | |
| 288 Con i codificatori video moderni e un pelo di compressione pre-codec | |
| 289 (ridimensionando e ripulendo), è possibile raggiungere una qualità molto | |
| 290 buona in 700 MB, per un film di 90-110 minuti in widescreen. | |
| 291 Inoltre tutti i film tranne i più lunghi possono essere codificati con una | |
| 292 qualità pressoché perfetta in 1400 MB. | |
| 293 </para> | |
| 294 | |
| 295 <para> | |
| 296 Ci sono tre approcci per codificare il video: bitrate costante (CBR), | |
| 297 quantizzatore costante, e multipassaggio (ABR, o bitrate medio). | |
| 298 </para> | |
| 299 | |
| 300 <para> | |
| 301 La complessità dei fotogrammi di un filmato, e di conseguenza il numero di | |
| 302 bit necessari per comprimerli, può variare molto da una scena ad un'altra. | |
| 303 I codificatori video moderni possono adattarsi via via a queste necessità | |
| 304 e cambiare il bitrate. | |
| 305 In modalità semplici come CBR, tuttavia, i codificatori non sanno il bitrate | |
| 306 necessario alle scene venture e perciò non possono stare sopra al bitrate | |
| 307 richiesto per lunghi periodi di tempo. | |
| 308 Modalità più avanzate, come la codifica in multipassaggio, possono tener | |
| 309 conto delle statistiche del passo precedente; questo corregge il problema | |
| 310 suddetto. | |
| 311 </para> | |
| 312 | |
| 313 <note><title>Nota:</title> | |
| 314 <para> | |
| 315 La maggior parte dei codec che gestisce la codifica in ABR può usare solo la | |
| 316 codifica a due passaggi mentre altri come | |
| 317 <systemitem class="library">x264</systemitem>, | |
| 318 <systemitem class="library">Xvid</systemitem> e | |
| 319 <systemitem class="library">libavcodec</systemitem> gestiscono il | |
| 320 multipassaggio, che migliora leggermente la qualità ad ogni passo, anche se | |
| 321 tale moglioramento non è più misurabile né visibile veramente oltre il | |
| 322 quarto passo o giù di lì. | |
| 323 Perciò in questa sezione due passaggi e multipassaggio avranno lo stesso | |
| 324 significato. | |
| 325 </para> | |
| 326 </note> | |
| 327 | |
| 328 <para> | |
| 329 In ambedue i modi, il codec video (come | |
| 330 <systemitem class="library">libavcodec</systemitem>) spezza il fotogramma video | |
| 331 in macroblocchi da 16x16 pixel e poi applica un quantizzatore a ciascun | |
| 332 macroblocco. Più basso è il quantizzatore, migliore sarà la qualità e | |
| 333 più alto il bitrate. | |
| 334 Il metodo usato dal codificatore del filmato per determinare quale quantizzatore | |
| 335 utilizzare per un dato macroblocco varia ed è altamente configurabile. | |
| 336 (Questa è una semplificazione estrema del vero processo, ma il concetto di base | |
| 337 è comodo per capire.) | |
| 338 </para> | |
| 339 | |
| 340 <para> | |
| 341 Quando specifichi un bitrate constante, il codec video codificherà il video, | |
| 342 scartando dettagli tanto quanto è necessario e il meno possibile, in modo da | |
| 343 rimanere al di sotto del bitrate voluto. Se non ti interessa davvero la | |
| 344 dimensione del file, potresti anche usare CBR e specificare un bitrate | |
| 345 infinito. (In pratica, questo significa un valore abbastanza alto da non porre | |
| 346 limiti, come 10000Kbit.) Con nessun limite sul bitrate, il risultato è che il | |
| 347 codec userà il quantizzatore più basso possibile per ciascun macroblocco | |
| 348 (come specificato da <option>vqmin</option> per | |
| 349 <systemitem class="library">libavcodec</systemitem>, che è 2 di default). | |
| 350 Appena specifichi un bitrate abbastanza basso tale che il codec venga forzato | |
| 351 ad utilizzare un quantizzatore più alto, allora stai sicuramente diminuendo la | |
| 352 qualità del tuo video. | |
| 353 Per evitarlo, dovresti probabilmente ridurre la dimensione del tuo video, | |
| 354 seguendo il metodo descritto più avanti in questa guida. | |
| 355 In generale dovresti evitare del tutto CBR se ti interessa la qualità. | |
| 356 </para> | |
| 357 | |
| 358 <para> | |
| 359 Con il quantizzatore costante, il codec utilizza lo stesso quantizzatore per | |
| 360 ogni macroblocco, come specificato dall'opzione <option>vqscale</option> (per | |
| 361 <systemitem class="library">libavcodec</systemitem>). | |
| 362 Se vuoi la più alta qualità possibile di rip, sempre ignorantdo il bitrate, | |
| 363 puoi usare <option>vqscale=2</option>. | |
| 364 Ciò porterà gli stessi bitrate e PSNR (peak signal-to-noise ratio) come CBR | |
| 365 con <option>vbitrate</option>=infinito e <option>vqmin</option> di default a 2. | |
| 366 </para> | |
| 367 | |
| 368 <para> | |
| 369 Il problema con la quantizzazione costante è che usa il quantizzatore indicato | |
| 370 sia che il macroblocco ne abbia bisogno o no. Perciò è possibile che venga | |
| 371 usato un quantizzatore più alto su un macroblocco senza sacrificare la | |
| 372 qualità visiva. Perché sprecare i bit di un quantizzatore basso che non | |
| 373 serve? La tua CPU ha tanti cicli fin quando c'è tempo, ma c'è solo un certo | |
| 374 numero di bit sul tuo disco rigido. | |
| 375 </para> | |
| 376 | |
| 377 <para> | |
| 378 Con una codifica a due passi, il primo codificherà il filmato come se fosse | |
| 379 CBR, ma manterrà una registrazione delle caratteristiche di ogni fotogramma. | |
| 380 Questi dati sono poi utilizzati durante il secondo passo in modo da effettuare | |
| 381 scelte intelligenti su quale quantizzatore usare. Durante le scene con azione | |
| 382 veloce o molti dettagliate, verrano usati più probabilmente quantizzatori più | |
| 383 alti, e durante scene lente o con pochi dettagli, verranno usati quantizzatori | |
| 384 più bassi. Solitamente è molto più importante la quantità di movimento | |
| 385 che la quantità di dettagli. | |
| 386 </para> | |
| 387 | |
| 388 <para> | |
| 389 Se usi <option>vqscale=2</option>, allora stai sprecando dei bit. Se usi | |
| 390 <option>vqscale=3</option>, allora non stai ottenendo la miglior qualità. | |
| 391 Supponi di rippare un DVD a <option>vqscale=3</option> e che il risultato sia | |
| 392 1800Kbit. Se fai una codifica a due passi con <option>vbitrate=1800</option> il | |
| 393 video risultante avrà una <emphasis role="bold">qualità superiore</emphasis> | |
| 394 a <emphasis role="bold">parità di bitrate</emphasis>. | |
| 395 </para> | |
| 396 | |
| 397 <para> | |
| 398 Dato che ora sei convinto che i due passaggi siano la strada da percorrere, la | |
| 399 vera domanda adesso è quale bitrate usare? La risposta à che non c'è una | |
| 400 risposta definitiva. Idealmente vuoi scegliere un bitrate che porti al miglior | |
| 401 equilibrio tra qualità e dimensione del file. Tutto ciò varia in dipendenza | |
| 402 del video di origine. | |
| 403 </para> | |
| 404 | |
| 405 <para> | |
| 406 Se la dimensione non è importante, un buon punto di partenza per un rip di | |
| 407 qualità molto elevata è intorno a 2000Kbit più o meno 200Kbit. | |
| 408 Per video con scene di azione veloce o con molti dettagli, oppure se | |
| 409 semplicemente hai l'occhio critico, potresti scegliere 2400 o 2600. | |
| 410 Per alcuni DVD potresti non notare alcuna differenza a 1400Kbit. Sperimentare | |
| 411 con alcune scene a vari bitrate è una buona idea per farsi un'opinione. | |
| 412 </para> | |
| 413 | |
| 414 <para> | |
| 415 Se punti a una data dimensione, dovrai calcolare il bitrate in un qualche modo. | |
| 416 Prima di farlo, però, devi sapere quanto spazio devi riservare per la traccia | |
| 417 (le tracce) audio, per cui devi dapprima fare il | |
| 418 <link linkend="menc-feat-dvd-mpeg4-audio">rip di queste</link>. | |
| 419 Puoi calcolare il bitrate con l'equazione che segue: | |
| 420 <systemitem>bitrate = (dimensione_voluta_in_Mbytes - dimensione_audio_in_Mbytes) | |
| 421 * 1024 * 1024 / lunghezza_in_secondi * 8 / 1000</systemitem> | |
| 422 Per esempio, per far stare un film di due ore su un CD da 702MB, con 60MB di | |
| 423 traccia audio, il bitrate video diventerà: | |
| 424 <systemitem>(702 - 60) * 1024 * 1024 / (120*60) * 8 / 1000 | |
| 425 = 740kbps</systemitem> | |
| 426 </para> | |
| 427 </sect2> | |
| 428 | |
| 429 <!-- ********** --> | |
| 430 | |
| 431 <sect2 id="menc-feat-dvd-mpeg4-constraints"> | |
| 432 <title>Vincoli per una codifica efficiente</title> | |
| 433 | |
| 434 <para> | |
| 435 A causa della natura del tipo di compressione MPEG, ci sono alcuni vincoli da | |
| 436 seguire per avere la massima qualità. | |
| 437 L'MPEG divide il video in quadrati da 16x16 chiamati macroblocchi, ciascuno di | |
| 438 essi composto da blocchi 4x4 con informazioni sulla luminanza (intensità) e | |
| 439 due blocchi da 8x8 a metà risoluzione per la crominanza (colore) (uno per | |
| 440 l'asse rosso-ciano e l'altro per l'asse blu-giallo). | |
| 441 Anche se la larghezza e l'altezza del tuo filmato non sono multipli di 16 il | |
| 442 codificatore userà tanti macroblocchi 16x16 in modo da coprire tutta la | |
| 443 superficie dell'immagine, e lo spazio in esubero sarà sprecato. | |
| 444 Indi, per migliorare la qualità a una dimensione prefissata è una brutta | |
| 445 idea utilizzare dimensioni che non siano multiple di 16. | |
| 446 </para> | |
| 447 | |
| 448 <para> | |
| 449 La maggior parte dei DVD ha anche alcune con bordi neri sui lati. Lasciarli lì | |
| 450 avrà un'influenza <emphasis role="bold">molto</emphasis> negativa sulla | |
| 451 qualità in svariati modi. | |
| 452 </para> | |
| 453 | |
| 454 <orderedlist> | |
| 455 <listitem> | |
| 456 <para> | |
| 457 Il tipo di compressione MPEG è pesantemente dipendente dalle trasformazioni | |
| 458 di dominio frequenti, in particolare la "trasformazione discreta del coseno" | |
| 459 (Discrete Cosine Transform (DCT)), che xxièe' simile alla trasformazione di | |
| 460 Fourier. Quest'approccio di codifica è efficiente nella rappresentazione di | |
| 461 motivi e transizioni delicate, ma trova difficoltà con spigoli più | |
| 462 definiti. Per codificarli deve usare molti più bit oppure apparirà un | |
| 463 artefatto conosciuto come 'ringing'. | |
| 464 </para> | |
| 465 | |
| 466 <para> | |
| 467 La trasformazione di frequenza (DCT) prende luogo separatemente in ogni | |
| 468 macroblocco (praticamente in ogni blocco) perciò questo problema si applica | |
| 469 solo quando lo spigolo definito è dentro a un blocco. Se il bordo nero inizia | |
| 470 esattamente sul lato di un multiplo di 16, questo non e' un problema. | |
| 471 Tuttavia i bordi neri sui DVD difficilmente sono ben allineati, perciò | |
| 472 nella realtà dovrai sempre tagliarli via per evitare questi problemi. | |
| 473 </para> | |
| 474 </listitem> | |
| 475 </orderedlist> | |
| 476 | |
| 477 <para> | |
| 478 Oltre alle trasformazioni del dominio di frequenza, il tipo di compressione | |
| 479 MPEG usa dei vettori di movimento per rappresetare le variazioni da un | |
| 480 fotogramma al successivo. Naturalmente i vettori di movimento funzionano molto | |
| 481 meno bene per i nuovi contenuti che arrivano dai bordi dell'immagine, dato che | |
| 482 non erano presenti nel fotogramma precedente. Fintanto che l'immagine arriva | |
| 483 fino al bordo dell'area codificata, i vettori di movimento non incontrano | |
| 484 alcun problema con li contenuto che esce dall'immagine. Tuttavia ci possono | |
| 485 esser problemi quando ci sono dei bordi neri: | |
| 486 </para> | |
| 487 | |
| 488 <orderedlist continuation="continues"> | |
| 489 <listitem> | |
| 490 <para> | |
| 491 Per ogni macroblocco il tipo di compressione MPEG memorizza un vettore, che | |
| 492 identifica quale parte del fotogramma precedente debba essere copiata nel | |
| 493 macroblocco stesso, come base per predire il fotogramma successivo. Serve | |
| 494 codificare solo le differenze restanti. Se un macroblocco oltrepassa il | |
| 495 bordo dell'immagine e contiene parte del bordo nero, allora i vettori di | |
| 496 movimento provenienti da altre zone dell'immagine ricopriranno il bordo | |
| 497 nero. Questo significa che si devono utilizzare molti bit o per riannerire il | |
| 498 bordo che è stato ricoperto, oppure (più verosimilmente) un vettore di | |
| 499 movimento non sarà proprio usato e tutti i cambiamenti in questo | |
| 500 macroblocco dovranno venir esplicitamente codificate. In un modo o nell'altro | |
| 501 si ricuce di gran lunga l'efficienza della codifica. | |
| 502 </para> | |
| 503 | |
| 504 <para> | |
| 505 Inoltre questo problema si applica solo se i bordi neri non sono allinati | |
| 506 su limiti di multipli di 16. | |
| 507 </para> | |
| 508 </listitem> | |
| 509 | |
| 510 <listitem> | |
| 511 <para> | |
| 512 Immagina infine di avere un macroblocco all'interno dell'immagine, ed un | |
| 513 oggetto che passa da questo blocco verso il bordo dell'immagine. La | |
| 514 codifica MPEG non può dire "copia la parte che è dentro all'immagine, ma | |
| 515 non il bordo nero". Perciò anche il bordo nero vi verrà copiato | |
| 516 all'interno, e molti bit saranno sprecati codificando l'immagine che si | |
| 517 suppone stia lì. | |
| 518 </para> | |
| 519 | |
| 520 <para> | |
| 521 Se l'immagine arriva al limite della superficie codificata, l'MPEG ha una | |
| 522 particolare ottimizzazione che consta nel copiare ripetutamente i pixel sul | |
| 523 bordo dell'immagine quando un vettore di movimento arriva dall'esterno della | |
| 524 superficie codificata. Questa funzionalità diventa inutile quando il film | |
| 525 ha dei bordi neri. Diversamente dai problemi 1 e 2, allineare i bordi a | |
| 526 multipli di 16 in questo caso non aiuta. | |
| 527 </para> | |
| 528 </listitem> | |
| 529 | |
| 530 <listitem><para> | |
| 531 A dispetto del fatto che i bordi siano completamente neri e non cambino mai, | |
| 532 c'è perlomeno un piccolo spreco nell'avere più macroblocchi. | |
| 533 </para></listitem> | |
| 534 </orderedlist> | |
| 535 | |
| 536 <para> | |
| 537 Per tutte queste ragioni si consiglia di tagliar via completamente i bordi neri. | |
| 538 Inoltre, se c'è una zona di rumore/distorsione sui bordi dell'immagine, | |
| 539 tagliarla migliorerà ancora l'efficienza di codifica. I puristi videofili che | |
| 540 vogliono mantenere il più possibile l'originale potrebbero obiettare su questo | |
| 541 taglio, ma a meno di non codificare a una quantizzazione costante, la qualità | |
| 542 guadagnata tagliando sorpasserà di gran lunga la quantità di informazioni | |
| 543 perse sui bordi. | |
| 544 </para> | |
| 545 </sect2> | |
| 546 | |
| 547 <!-- ********** --> | |
| 548 | |
| 549 <sect2 id="menc-feat-dvd-mpeg4-crop"> | |
| 550 <title>Tagliare e Ridimensionare</title> | |
| 551 | |
| 552 <para> | |
| 553 Ricorda dalla sezione precedente che la dimensione finale dell'immagine che | |
| 554 codifichi dovrebbe essere un multiplo di 16 (sia in larghezza che altezza). | |
| 555 Si può ottenere ciò tagliando, ridimensionando o combinando le due cose. | |
| 556 </para> | |
| 557 | |
| 558 <para> | |
| 559 Quando tagli, ci sono alcune linee guida che si devono seguire per evitare di | |
| 560 rovinare il tuo filmato. | |
| 561 Il formato YUV abituale, 4:2:0, memorizza le informazioni sulla crominanza | |
| 562 (colore) sottocampionate, per es. la crominanza viene campionata in ogni | |
| 563 direzione solo la metà di quanto venga la luminanza (intensità). | |
| 564 Osserva questo diagramma, dove L indica i punti di campionamente della | |
| 565 luminanza e C quelli della crominanza. | |
| 566 </para> | |
| 567 | |
| 568 <informaltable> | |
| 569 <?dbhtml table-width="40%" ?> | |
| 570 <?dbfo table-width="40%" ?> | |
| 571 <tgroup cols="8" align="center"> | |
| 572 <colspec colnum="1" colname="col1"/> | |
| 573 <colspec colnum="2" colname="col2"/> | |
| 574 <colspec colnum="3" colname="col3"/> | |
| 575 <colspec colnum="4" colname="col4"/> | |
| 576 <colspec colnum="5" colname="col5"/> | |
| 577 <colspec colnum="6" colname="col6"/> | |
| 578 <colspec colnum="7" colname="col7"/> | |
| 579 <colspec colnum="8" colname="col8"/> | |
| 580 <spanspec spanname="spa1-2" namest="col1" nameend="col2"/> | |
| 581 <spanspec spanname="spa3-4" namest="col3" nameend="col4"/> | |
| 582 <spanspec spanname="spa5-6" namest="col5" nameend="col6"/> | |
| 583 <spanspec spanname="spa7-8" namest="col7" nameend="col8"/> | |
| 584 <tbody> | |
| 585 <row> | |
| 586 <entry>L</entry> | |
| 587 <entry>L</entry> | |
| 588 <entry>L</entry> | |
| 589 <entry>L</entry> | |
| 590 <entry>L</entry> | |
| 591 <entry>L</entry> | |
| 592 <entry>L</entry> | |
| 593 <entry>L</entry> | |
| 594 </row> | |
| 595 <row> | |
| 596 <entry spanname="spa1-2">C</entry> | |
| 597 <entry spanname="spa3-4">C</entry> | |
| 598 <entry spanname="spa5-6">C</entry> | |
| 599 <entry spanname="spa7-8">C</entry> | |
| 600 </row> | |
| 601 <row> | |
| 602 <entry>L</entry> | |
| 603 <entry>L</entry> | |
| 604 <entry>L</entry> | |
| 605 <entry>L</entry> | |
| 606 <entry>L</entry> | |
| 607 <entry>L</entry> | |
| 608 <entry>L</entry> | |
| 609 <entry>L</entry> | |
| 610 </row> | |
| 611 <row> | |
| 612 <entry>L</entry> | |
| 613 <entry>L</entry> | |
| 614 <entry>L</entry> | |
| 615 <entry>L</entry> | |
| 616 <entry>L</entry> | |
| 617 <entry>L</entry> | |
| 618 <entry>L</entry> | |
| 619 <entry>L</entry> | |
| 620 </row> | |
| 621 <row> | |
| 622 <entry spanname="spa1-2">C</entry> | |
| 623 <entry spanname="spa3-4">C</entry> | |
| 624 <entry spanname="spa5-6">C</entry> | |
| 625 <entry spanname="spa7-8">C</entry> | |
| 626 </row> | |
| 627 <row> | |
| 628 <entry>L</entry> | |
| 629 <entry>L</entry> | |
| 630 <entry>L</entry> | |
| 631 <entry>L</entry> | |
| 632 <entry>L</entry> | |
| 633 <entry>L</entry> | |
| 634 <entry>L</entry> | |
| 635 <entry>L</entry> | |
| 636 </row> | |
| 637 </tbody> | |
| 638 </tgroup> | |
| 639 </informaltable> | |
| 640 | |
| 641 <para> | |
| 642 Come puoi vedere, le righe e le colonne dell'immagine vengono sempre a coppie. | |
| 643 Quindi i tuoi valori di spostamento e dimensione <emphasis>devono</emphasis> | |
| 644 essere numeri pari. | |
| 645 Se non lo sono la crominanza non sarà più allineata correttamente con la | |
| 646 luminanza. | |
| 647 In teoria è possibile tagliare con uno spostamento dispari, ma richiede che la | |
| 648 crominanza venga ricampionata, il che potenzialmente è un'operazione in perdita | |
| 649 e non è gestita dal filtro crop. | |
| 650 </para> | |
| 651 | |
| 652 <para> | |
| 653 Inoltre, il video interlacciato viene campionato come segue: | |
| 654 </para> | |
| 655 | |
| 656 <informaltable> | |
| 657 <?dbhtml table-width="80%" ?> | |
| 658 <?dbfo table-width="80%" ?> | |
| 659 <tgroup cols="16" align="center"> | |
| 660 <colspec colnum="1" colname="col1"/> | |
| 661 <colspec colnum="2" colname="col2"/> | |
| 662 <colspec colnum="3" colname="col3"/> | |
| 663 <colspec colnum="4" colname="col4"/> | |
| 664 <colspec colnum="5" colname="col5"/> | |
| 665 <colspec colnum="6" colname="col6"/> | |
| 666 <colspec colnum="7" colname="col7"/> | |
| 667 <colspec colnum="8" colname="col8"/> | |
| 668 <colspec colnum="9" colname="col9"/> | |
| 669 <colspec colnum="10" colname="col10"/> | |
| 670 <colspec colnum="11" colname="col11"/> | |
| 671 <colspec colnum="12" colname="col12"/> | |
| 672 <colspec colnum="13" colname="col13"/> | |
| 673 <colspec colnum="14" colname="col14"/> | |
| 674 <colspec colnum="15" colname="col15"/> | |
| 675 <colspec colnum="16" colname="col16"/> | |
| 676 <spanspec spanname="spa1-2" namest="col1" nameend="col2"/> | |
| 677 <spanspec spanname="spa3-4" namest="col3" nameend="col4"/> | |
| 678 <spanspec spanname="spa5-6" namest="col5" nameend="col6"/> | |
| 679 <spanspec spanname="spa7-8" namest="col7" nameend="col8"/> | |
| 680 <spanspec spanname="spa9-10" namest="col9" nameend="col10"/> | |
| 681 <spanspec spanname="spa11-12" namest="col11" nameend="col12"/> | |
| 682 <spanspec spanname="spa13-14" namest="col13" nameend="col14"/> | |
| 683 <spanspec spanname="spa15-16" namest="col15" nameend="col16"/> | |
| 684 <tbody> | |
| 685 <row> | |
| 686 <entry namest="col1" nameend="col8">Campo superiore</entry> | |
| 687 <entry namest="col9" nameend="col16">Campo inferiore</entry> | |
| 688 </row> | |
| 689 <row> | |
| 690 <entry>L</entry> | |
| 691 <entry>L</entry> | |
| 692 <entry>L</entry> | |
| 693 <entry>L</entry> | |
| 694 <entry>L</entry> | |
| 695 <entry>L</entry> | |
| 696 <entry>L</entry> | |
| 697 <entry>L</entry> | |
| 698 <entry></entry> | |
| 699 <entry></entry> | |
| 700 <entry></entry> | |
| 701 <entry></entry> | |
| 702 <entry></entry> | |
| 703 <entry></entry> | |
| 704 <entry></entry> | |
| 705 <entry></entry> | |
| 706 </row> | |
| 707 <row> | |
| 708 <entry spanname="spa1-2">C</entry> | |
| 709 <entry spanname="spa3-4">C</entry> | |
| 710 <entry spanname="spa5-6">C</entry> | |
| 711 <entry spanname="spa7-8">C</entry> | |
| 712 <entry></entry> | |
| 713 <entry></entry> | |
| 714 <entry></entry> | |
| 715 <entry></entry> | |
| 716 <entry></entry> | |
| 717 <entry></entry> | |
| 718 <entry></entry> | |
| 719 <entry></entry> | |
| 720 </row> | |
| 721 <row> | |
| 722 <entry></entry> | |
| 723 <entry></entry> | |
| 724 <entry></entry> | |
| 725 <entry></entry> | |
| 726 <entry></entry> | |
| 727 <entry></entry> | |
| 728 <entry></entry> | |
| 729 <entry></entry> | |
| 730 <entry>L</entry> | |
| 731 <entry>L</entry> | |
| 732 <entry>L</entry> | |
| 733 <entry>L</entry> | |
| 734 <entry>L</entry> | |
| 735 <entry>L</entry> | |
| 736 <entry>L</entry> | |
| 737 <entry>L</entry> | |
| 738 </row> | |
| 739 <row> | |
| 740 <entry>L</entry> | |
| 741 <entry>L</entry> | |
| 742 <entry>L</entry> | |
| 743 <entry>L</entry> | |
| 744 <entry>L</entry> | |
| 745 <entry>L</entry> | |
| 746 <entry>L</entry> | |
| 747 <entry>L</entry> | |
| 748 <entry></entry> | |
| 749 <entry></entry> | |
| 750 <entry></entry> | |
| 751 <entry></entry> | |
| 752 <entry></entry> | |
| 753 <entry></entry> | |
| 754 <entry></entry> | |
| 755 <entry></entry> | |
| 756 </row> | |
| 757 <row> | |
| 758 <entry></entry> | |
| 759 <entry></entry> | |
| 760 <entry></entry> | |
| 761 <entry></entry> | |
| 762 <entry></entry> | |
| 763 <entry></entry> | |
| 764 <entry></entry> | |
| 765 <entry></entry> | |
| 766 <entry spanname="spa9-10">C</entry> | |
| 767 <entry spanname="spa11-12">C</entry> | |
| 768 <entry spanname="spa13-14">C</entry> | |
| 769 <entry spanname="spa15-16">C</entry> | |
| 770 </row> | |
| 771 <row> | |
| 772 <entry></entry> | |
| 773 <entry></entry> | |
| 774 <entry></entry> | |
| 775 <entry></entry> | |
| 776 <entry></entry> | |
| 777 <entry></entry> | |
| 778 <entry></entry> | |
| 779 <entry></entry> | |
| 780 <entry>L</entry> | |
| 781 <entry>L</entry> | |
| 782 <entry>L</entry> | |
| 783 <entry>L</entry> | |
| 784 <entry>L</entry> | |
| 785 <entry>L</entry> | |
| 786 <entry>L</entry> | |
| 787 <entry>L</entry> | |
| 788 </row> | |
| 789 <row> | |
| 790 <entry>L</entry> | |
| 791 <entry>L</entry> | |
| 792 <entry>L</entry> | |
| 793 <entry>L</entry> | |
| 794 <entry>L</entry> | |
| 795 <entry>L</entry> | |
| 796 <entry>L</entry> | |
| 797 <entry>L</entry> | |
| 798 <entry></entry> | |
| 799 <entry></entry> | |
| 800 <entry></entry> | |
| 801 <entry></entry> | |
| 802 <entry></entry> | |
| 803 <entry></entry> | |
| 804 <entry></entry> | |
| 805 <entry></entry> | |
| 806 </row> | |
| 807 <row> | |
| 808 <entry spanname="spa1-2">C</entry> | |
| 809 <entry spanname="spa3-4">C</entry> | |
| 810 <entry spanname="spa5-6">C</entry> | |
| 811 <entry spanname="spa7-8">C</entry> | |
| 812 <entry></entry> | |
| 813 <entry></entry> | |
| 814 <entry></entry> | |
| 815 <entry></entry> | |
| 816 <entry></entry> | |
| 817 <entry></entry> | |
| 818 <entry></entry> | |
| 819 <entry></entry> | |
| 820 </row> | |
| 821 <row> | |
| 822 <entry></entry> | |
| 823 <entry></entry> | |
| 824 <entry></entry> | |
| 825 <entry></entry> | |
| 826 <entry></entry> | |
| 827 <entry></entry> | |
| 828 <entry></entry> | |
| 829 <entry></entry> | |
| 830 <entry>L</entry> | |
| 831 <entry>L</entry> | |
| 832 <entry>L</entry> | |
| 833 <entry>L</entry> | |
| 834 <entry>L</entry> | |
| 835 <entry>L</entry> | |
| 836 <entry>L</entry> | |
| 837 <entry>L</entry> | |
| 838 </row> | |
| 839 <row> | |
| 840 <entry>L</entry> | |
| 841 <entry>L</entry> | |
| 842 <entry>L</entry> | |
| 843 <entry>L</entry> | |
| 844 <entry>L</entry> | |
| 845 <entry>L</entry> | |
| 846 <entry>L</entry> | |
| 847 <entry>L</entry> | |
| 848 <entry></entry> | |
| 849 <entry></entry> | |
| 850 <entry></entry> | |
| 851 <entry></entry> | |
| 852 <entry></entry> | |
| 853 <entry></entry> | |
| 854 <entry></entry> | |
| 855 <entry></entry> | |
| 856 </row> | |
| 857 <row> | |
| 858 <entry></entry> | |
| 859 <entry></entry> | |
| 860 <entry></entry> | |
| 861 <entry></entry> | |
| 862 <entry></entry> | |
| 863 <entry></entry> | |
| 864 <entry></entry> | |
| 865 <entry></entry> | |
| 866 <entry spanname="spa9-10">C</entry> | |
| 867 <entry spanname="spa11-12">C</entry> | |
| 868 <entry spanname="spa13-14">C</entry> | |
| 869 <entry spanname="spa15-16">C</entry> | |
| 870 </row> | |
| 871 <row> | |
| 872 <entry></entry> | |
| 873 <entry></entry> | |
| 874 <entry></entry> | |
| 875 <entry></entry> | |
| 876 <entry></entry> | |
| 877 <entry></entry> | |
| 878 <entry></entry> | |
| 879 <entry></entry> | |
| 880 <entry>L</entry> | |
| 881 <entry>L</entry> | |
| 882 <entry>L</entry> | |
| 883 <entry>L</entry> | |
| 884 <entry>L</entry> | |
| 885 <entry>L</entry> | |
| 886 <entry>L</entry> | |
| 887 <entry>L</entry> | |
| 888 </row> | |
| 889 </tbody> | |
| 890 </tgroup> | |
| 891 </informaltable> | |
| 892 | |
| 893 <para> | |
| 894 Come puoi notare, il motivo non si ripete fino a dopo 4 linee. | |
| 895 Quindi per il video interlacciato, il tuo spostamento sull'asse y e l'altezza | |
| 896 devono essere multipli di 4. | |
| 897 </para> | |
| 898 | |
| 899 <para> | |
| 900 La risoluzione nativa DVD è 720x480 per NTSC e 720x576 per PAL, ma c'è un | |
| 901 flag per l'aspetto che indica se è full-screen (4:3) o wide-screen (16:9). | |
| 902 Molti (se non quasi tutti) i DVD in widescreen non sono esattamente 16:9 e | |
| 903 possono essere sia 1.85:1 o 2.35:1 (cinescope). Questo significa che nel video | |
| 904 ci saranno bordi neri che bisogna tagliare via. | |
| 905 </para> | |
| 906 | |
| 907 <para> | |
| 908 <application>MPlayer</application> fornisce un filtro che rileva i valori di | |
| 909 taglio e fornisce il rettangolo per crop (<option>-vf cropdetect</option>). | |
| 910 Esegui <application>MPlayer</application> con <option>-vf cropdetect</option> ed | |
| 911 emetterà le impostazioni di taglio per crop al fine di rimuovere i bordi. | |
| 912 Dovresti lasciare andare avanti il film abbastanza da ottenere valori di taglio | |
| 913 precisi. | |
| 914 </para> | |
| 915 | |
| 916 <para> | |
| 917 Dopodiché prova con <application>MPlayer</application> i valori ottenuti usando | |
| 918 la linea comando emessa da <option>cropdetect</option>, e correggi il | |
| 919 rettangolo se e come serve. | |
| 920 Il filtro <option>rectangle</option> può esserti di aiuto, dato che ti | |
| 921 permette di impostare interattivamente la posizione del rettangolo di taglio | |
| 922 sopra al filmato. | |
| 923 Ricordati di seguire le linee guida sui multipli in modo da non disallineare | |
| 924 i piani di crominanza. | |
| 925 </para> | |
| 926 | |
| 927 <para> | |
| 928 In talune occasioni, il ridimensionamento può essere indesiderabile. | |
| 929 Il ridimensionamento sulla direzione verticale è difficoltoso con video | |
| 930 interlacciato e se vuoi mantenere l'interlacciamento, dovresti evitare il | |
| 931 ridimensionamento. | |
| 932 Se non ridimensionerai, ma vuoi comunque usare dimensioni multiple di 16, | |
| 933 dovrai tagliare di più. | |
| 934 Evita di tagliare di meno, dato che i bordi neri sono un male per la codifica! | |
| 935 </para> | |
| 936 | |
| 937 <para> | |
| 938 Dato che MPEG-4 usa macroblocchi 16x16 vorrai esser sicuro che ambedue le | |
| 939 dimensioni del video che stai per codificare siano multiple di 16, altrimenti | |
| 940 perderai in qualità, soprattutto a bitrate più bassi. Puoi farlo abbassando | |
| 941 la larghezza e l'altezza del rettangolo di taglio al multiplo di 16 più vicino. | |
| 942 Come detto precedentemente, quando tagli, vorrai aumentare lo scostamento Y | |
| 943 della metà della differenza tra la nuova e la vecchia altezza, in modo che il | |
| 944 video risultante sia preso dal centro del fotogramma. Inoltre, a causa del modo | |
| 945 in cui il video DVD viene campionato, assicurati che lo scostamento sia un | |
| 946 numero pari. (Infatti, come regola, non utilizzare mai valori dispari per alcun | |
| 947 parametro quando tagli e ridimensioni un video.) Se non ti va di scartare dei | |
| 948 pixel in più, potresti piuttosto preferire il ridimensionamento del video. | |
| 949 Prenderemo in esame questa situazione più avanti. | |
| 950 Puoi in verità lasciare che tutte le considerazioni suddette vengano fatte | |
| 951 dal filtro <option>cropdetect</option>, visto che ha un parametro | |
| 952 <option>round</option> facoltativo, che è impostato a 16 di default. | |
| 953 </para> | |
| 954 | |
| 955 <para> | |
| 956 Fai anche attenzione ai pixel "mezzi neri" sui bordi. Assicurati di tagliare | |
| 957 anch'essi, altrimenti sprecherai bit più utili altrove. | |
| 958 </para> | |
| 959 | |
| 960 <para> | |
| 961 Dopo aver detto e fatto tutto ciò, probabilmente avrei un vide i cui pixel | |
| 962 non saranno proprio 1.85:1 o 2.35:1, ma piuttosto un valore vicino. Potresti | |
| 963 calcolare a mano il nuovo rapporto di aspetto, ma | |
| 964 <application>MEncoder</application> ha un'opzione per <systemitem | |
| 965 class="library">libavcodec</systemitem> chiamata <option>autoaspect</option> | |
| 966 che lo farà per te. Non aumentare assolutamente le dimensioni del video per | |
| 967 avere i pixel quadrati, a meno che tu non voglia sprecare il tuo spazio disco. | |
| 968 Il ridimensionamento dovrebbe essere eseguito in riproduzione, e per definire | |
| 969 la risoluzione giusta il riproduttore userà l'aspetto memorizzato nell'AVI. | |
| 970 Sfortunatamente non tutti i riproduttori verificano l'informazione sul rapporto | |
| 971 perciò potresti voler comunque effettuare il ridimensionamento. | |
| 972 </para> | |
| 973 </sect2> | |
| 974 | |
| 975 <!-- ********** --> | |
| 976 | |
| 977 <sect2 id="menc-feat-dvd-mpeg4-resolution-bitrate"> | |
| 978 <title>Scegliere la risoluzione e il bitrate</title> | |
| 979 | |
| 980 <para> | |
| 981 Other parameters such as scaling, cropping, etc. will | |
| 982 <emphasis role="bold">not</emphasis> alter the file size unless you | |
| 983 change the bitrate as well!. | |
| 984 A meno che tu non stia per codificare con quantizzazione costante devi | |
| 985 impostare un bitrate. | |
| 986 La logica del bitrate è abbastanza semplice. | |
| 987 Normalmente il bitrate viene misurato in kilobit (1000 bit) al secondo. | |
| 988 La dimensione del filmato sul disco è il bitrate moltiplicato per la durata | |
| 989 del filmato, più un piccolo quantitativo in "surplus" (vedi per esempio la | |
| 990 sezione sul | |
| 991 <link linkend="menc-feat-dvd-mpeg4-muxing-avi-limitations">contenitore AVI</link>). | |
| 992 Altri parametri come ridimensionamento, taglio, etc... | |
| 993 <emphasis role="bold">non</emphasis> influiscono sulla dimensione del file a | |
| 994 meno che tu non cambi anche il bitrate! | |
| 995 </para> | |
| 996 | |
| 997 <para> | |
| 998 Il bitrate <emphasis role="bold">non</emphasis> è direttamente proporzionale | |
| 999 alla risoluzione. | |
| 1000 Tanto per capirci, un file 320x240 a 200 kbit/sec non avrà la stessa qualità | |
| 1001 dello stesso filmato a 640x480 e 800 kbit/sec! | |
| 1002 Ci sono due ragioni per ciò: | |
| 1003 <orderedlist> | |
| 1004 <listitem><para> | |
| 1005 <emphasis role="bold">Percettiva</emphasis>: noti di più gli artefatti MPEG | |
| 1006 quando sono più grandi! | |
| 1007 Gli artefatti appaiono a livello dei blocchi (8x8). | |
| 1008 Il tuo occhio non noterà errori in 4800 piccoli blocchi tanti quanti ne | |
| 1009 vedrà in 1200 grossi blocchi (assumendo che tu li stia ridimensionando tutti | |
| 1010 e due a schermo intero). | |
| 1011 </para></listitem> | |
| 1012 <listitem><para> | |
| 1013 <emphasis role="bold">Teorica</emphasis> : quando rimpicciolisci un immagine | |
| 1014 ma usi la stessa dimensione dei blocchi (8x8) per la trasformazione spaziale | |
| 1015 della frequenza, hai più dati nelle bande ad alta frequenza. In parole | |
| 1016 povere, ogni pixel contiene più dettagli di quanti ne contenesse prima. | |
| 1017 Quindi anche se la tua immagine rimpicciolita contiene 1/4 delle informazioni | |
| 1018 sulle direzioni spaziali, potrebbe ancora contenere una gran parte delle | |
| 1019 informazioni nel dominio delal frequenza (assumendo che le alte frequenze | |
| 1020 siano sotto-utilizzate nell'immagine di origine a 640x480). | |
| 1021 </para></listitem> | |
| 1022 </orderedlist> | |
| 1023 </para> | |
| 1024 | |
| 1025 <para> | |
| 1026 Guide precendenti hanno consigliato di scegliere un bitrate e una risoluzione | |
| 1027 in base ad un approccio "bit al secondo", ma di solito ciò non è valido a | |
| 1028 causa delle ragioni suddette. | |
| 1029 Una stima migliore pare essere che il bitrate è proporzionale alla radice | |
| 1030 quadrata della risoluzione, per cui 320x240 e 400 kbit/sec sarà | |
| 1031 paragonabile a 640x480 a 800 kbit/sec. | |
| 1032 Tuttavia ciò non è stato verificato con certezza empirica o teorica. | |
| 1033 Inoltre, dato che i filmati hanno diversi livelli di disturbo, dettaglio, angoli | |
| 1034 di movimento, etc..., è vano dare consigli generici su bit per lunghezza della | |
| 1035 diagonale (analogamente a bit per pixel, usando la radice quadrata). | |
| 1036 </para> | |
| 1037 <para> | |
| 1038 Finora abbiamo parlato della difficoltà nel scegliere un bitrate e una | |
| 1039 risoluzione. | |
| 1040 </para> | |
| 1041 | |
| 1042 | |
| 1043 <sect3 id="menc-feat-dvd-mpeg4-resolution-bitrate-compute"> | |
| 1044 <title>Calcolare la risoluzione</title> | |
| 1045 | |
| 1046 <para> | |
| 1047 I passaggi seguenti ti guideranno nel calcolo della risoluzione per la tua | |
| 1048 codifica senza distorcere troppo il video, tenendo in considerazione vari tipo | |
| 1049 di informazioni riguardo la sorgente video. | |
| 1050 Per prima cosa dovresti calcolare il rapporto di aspetto codificato: | |
| 1051 <systemitem>ARc = (Wc x (ARa / PRdvd )) / Hc</systemitem> | |
| 1052 | |
| 1053 <itemizedlist> | |
| 1054 <title>dove:</title> | |
| 1055 <listitem><para> | |
| 1056 Wc e Hc sono la larghezza e l'altezza del video tagliato, | |
| 1057 </para></listitem> | |
| 1058 <listitem><para> | |
| 1059 ARa è il rapporto di aspetto mostrato, che di solito è 4/3 o 16/9, | |
| 1060 </para></listitem> | |
| 1061 <listitem><para> | |
| 1062 PRdvd à il rapporto del pixel del DVD che è uguale a 1.25=(720/576) per DVD | |
| 1063 PAL e 1.5=(720/480) per DVD NTSC. | |
| 1064 </para></listitem> | |
| 1065 </itemizedlist> | |
| 1066 </para> | |
| 1067 | |
| 1068 <para> | |
| 1069 Dopo puoi calcolare la risoluzione X e Y, basandoti su un dato fattore | |
| 1070 di qualità di compressione (Compression Quality, CQ): | |
| 1071 <systemitem>ResY = INT(SQRT( 1000*Bitrate/25/ARc/CQ )/16) * 16</systemitem> | |
| 1072 and | |
| 1073 <systemitem>ResX = INT( ResY * ARc / 16) * 16</systemitem> | |
| 1074 </para> | |
| 1075 | |
| 1076 <para> | |
| 1077 Okay, ma cos'è la CQ? | |
| 1078 However, if you have a target size for your movie (1 or 2 CDs for instance), | |
| 1079 there is a limited total number of bits that you can spend; therefore it is | |
| 1080 necessary to find a good tradeoff between compressibility and quality. | |
| 1081 Il CQ rappresenta il numero di bit per pixel e per fotogramma in codifica. | |
| 1082 Parlando più semplicemente, più alto è la CQ, più difficilmente si vedranno | |
| 1083 codificati degli artefatti. | |
| 1084 </para> | |
| 1085 | |
| 1086 <para> | |
| 1087 La CQ dipende dal bitrate, dall'efficienza del codec video e dalla risoluzione | |
| 1088 del filmato. | |
| 1089 Per alzare la CQ, di solito dovrai rimpicciolire il filmato visto che il bitrate | |
| 1090 viene calcolato in funzione della dimensione voluta e della lunghezza del | |
| 1091 filmato, che sono delle costanti. | |
| 1092 Con codec MPEG-4 ASP come <systemitem class="library">Xvid</systemitem> e | |
| 1093 <systemitem class="library">libavcodec</systemitem>, una CQ inferiore a 0.18 | |
| 1094 solitamente genera un'immagine abbastanza squadrettata, perché non ci sono | |
| 1095 abbastanza bit per codificare l'informazione di ogni macroblocco. (MPEG4, come | |
| 1096 molti altri codec, ragruppa i pixel in blocchi di pixel per comprimere | |
| 1097 l'immagine; se non ci sono abbastanza bit, si vedono i bordi dei blocchi.) | |
| 1098 E' saggio anche prendere una CQ compresa tra 0.20 e 0.22 per un rip a 1 CD, | |
| 1099 e 0.26-0.28 per un rip a 2 CD con impostazioni standard di codifica. | |
| 1100 Opzioni più evolute di codifica come quelle qui indicate per | |
| 1101 <link linkend="menc-feat-mpeg4-lavc-example-settings"><systemitem class="library">libavcodec</systemitem></link> | |
| 1102 e | |
| 1103 <link linkend="menc-feat-xvid-example-settings"><systemitem class="library">Xvid</systemitem></link> | |
| 1104 dovrebbero permetterti di ottenere la stessa qualità con CQ compresa tra | |
| 1105 0.18 e 0.20 per un rip da 1 CD, e da 0.24 a 0.26 per 2 CD. | |
| 1106 Con codec MPEG-4 AVC come <systemitem class="library">x264</systemitem>, | |
| 1107 puoi usare una CQ che varia da 0.14 a 0.16 con opzioni standard di codifica, e | |
| 1108 dovresti riuscire a scendere tra 0.10 e 0.12 con <link linkend="menc-feat-x264-example-settings">impostazioni avanzate di codifica | |
| 1109 <systemitem class="library">x264</systemitem></link>. | |
| 1110 </para> | |
| 1111 | |
| 1112 <para> | |
| 1113 Prendi per favore nota che CQ è solo un valore indicativo, dato che dipende dal | |
| 1114 contenuto che viene codificato, una CQ di 0.18 può andar bene per un Bergman, | |
| 1115 mentre per un film come Matrix, che contiene molte scene ad alta velocità, no. | |
| 1116 D'altro canto è inutile portare la CQ oltre 0.30 dato che sprecherai dei bit | |
| 1117 senza avere alcun guadagno visibile in qualità. | |
| 1118 Nota anche che come detto precedentemente in questa guida, per video a bassa | |
| 1119 risoluzione serve una CQ più alta (in rapporto, per esempio, alla risoluzione | |
| 1120 DVD) perché si vedano bene. | |
| 1121 </para> | |
| 1122 </sect3> | |
| 1123 </sect2> | |
| 1124 | |
| 1125 <!-- ********** --> | |
| 1126 | |
| 1127 <sect2 id="menc-feat-dvd-mpeg4-filtering"> | |
| 1128 <title>Filtraggio</title> | |
| 1129 | |
| 1130 <para> | |
| 1131 Imparare come usare i filtri video di <application>MEncoder</application> è | |
| 1132 essenziale per produrre delle buone codfiche. | |
| 1133 Tutta l'elaborazione video è eseguita attraverso i filtri -- taglio, | |
| 1134 ridimensionamento, aggiustamento del colore, rimozione del disturbo, rilevamento | |
| 1135 margini, deinterlacciatura, telecine, telecine inverso, e deblocco, solo per | |
| 1136 nominarne qualcuno. | |
| 1137 Insieme con la vasta gamma di formati di entrata gestiti, la varietà dei | |
| 1138 filtri disponibili in <application>MEncoder</application> è uno dei suoi | |
| 1139 più grandi vantaggi sugli altri programmi similari. | |
| 1140 </para> | |
| 1141 | |
| 1142 <para> | |
| 1143 I filtri vengono caricati in catena usando l'opzione -vf: | |
| 1144 | |
| 1145 <screen>-vf filtro1=opzioni,filtro2=opzioni,...</screen> | |
| 1146 | |
| 1147 La maggior parte dei filtri riceve alcune opzioni numeriche separate da due | |
| 1148 punti, ma la sintassi per le opzioni cambia da filtro a filtro, indi leggiti la | |
| 1149 pagina man per i dettagli sul filtro che desideri usare. | |
| 1150 </para> | |
| 1151 | |
| 1152 <para> | |
| 1153 I filtri lavorano sul video nell'ordine in cui vengono caricati. | |
| 1154 Per esempio la catena seguente: | |
| 1155 | |
| 1156 <screen>-vf crop=688:464:12:4,scale=640:464</screen> | |
| 1157 | |
| 1158 dapprima taglia la zona 688x464 dell'immagine con uno scostamento dall'alto a | |
| 1159 sinistra di (12,4), e poi ridimensiona il risultato a 640x464. | |
| 1160 </para> | |
| 1161 | |
| 1162 <para> | |
| 1163 Taluni filtri devono essere caricati all'inizio o vicino all'inizio della | |
| 1164 catena di filtri, in modo da trarre vantaggio dalle informazioni che arrivano | |
| 1165 dal decoder video, che potrebbero essere perse o invalidate da altri filtri. | |
| 1166 Gli esempi principali sono <option>pp</option> (post elaborazione | |
| 1167 (postprocessing), solo quando esegue operazioni di deblock o dering), | |
| 1168 <option>spp</option> (un altra post elaborazione per eliminare artefatti MPEG), | |
| 1169 <option>pullup</option> (telecine inverso), e <option>softpulldown</option> | |
| 1170 (per passare da telecine soft a hard). | |
| 1171 </para> | |
| 1172 | |
| 1173 <para> | |
| 1174 In generale vorrai filtrare il meno possibile in modo da rimaner fedele alla | |
| 1175 sorgente DVD originale. Il taglio è spesso necessario (com detto sopra), ma | |
| 1176 evita di ridimensionare il video. Anche se alcune volte si preferisce | |
| 1177 rimpicciolire per poter usare quantizzatori più alti, vogliamo evitare ciò: | |
| 1178 ricorda che abbiamo sin dall'inizio deciso di investire bit in qualità. | |
| 1179 </para> | |
| 1180 | |
| 1181 <para> | |
| 1182 In più, non reimpostare la gamma, il contrasto, la luminosità, etc... | |
| 1183 Quello che si vede bene sul tuo schermo potrebbe non vedersi bene su altro. | |
| 1184 Queste modifiche dovrebbero esser fatte solo durante la riproduzione. | |
| 1185 </para> | |
| 1186 | |
| 1187 <para> | |
| 1188 Una cosa che voresti però fare è tuttavia far passare il video attraverso un | |
| 1189 leggero filtro di rimozione disturbo, come <option>-vf hqdn3d=2:1:2</option>. | |
| 1190 Ancora, è una questione di poter meglio utilizzare quei bit: perché sprecarli | |
| 1191 codificando disturbo mentre puoi semplicemente aggiungerlo di nuovo durante la | |
| 1192 riproduzione? Alzando i parametri per <option>hqdn3d</option> aumenterà | |
| 1193 ancora la compressione, ma se aumenti troppo i valori, rischi un degrado pesante | |
| 1194 dell'immagine. I valori sopra consigliati (<option>2:1:2</option>) sono | |
| 1195 abbastanza conservativi; sentiti libero di sperimentare con valori più alti e | |
| 1196 verificare da solo il risultato. | |
| 1197 </para> | |
| 1198 </sect2> | |
| 1199 | |
| 1200 <!-- ********** --> | |
| 1201 | |
| 1202 <sect2 id="menc-feat-dvd-mpeg4-interlacing"> | |
| 1203 <title>Interlacciamento e Telecine</title> | |
| 1204 | |
| 1205 <para> | |
| 1206 Quasi tutti i film vengono ripresi a 24 fps. Dato che NTSC è 30000/1001 fps, | |
| 1207 si devono eseguire alcune elaborazioni affinché questo video a 24 fps sia | |
| 1208 letto al giusto framerate NTSC. Il processo è chiamato "3:2 pulldown", meglio | |
| 1209 conosciuto come "telecine" (poiché pulldown viene spesso applicato durante il | |
| 1210 processo di telecine), e descritto rozzamente, agisce rallentando il film a | |
| 1211 24000/1001 fps, e ripetendo ogni quarto fotogramma. | |
| 1212 </para> | |
| 1213 | |
| 1214 <para> | |
| 1215 Non viene invece eseguita alcuna elaborazione sul video per i DVD PAL, che | |
| 1216 girano a 25 fps. (Tecnicamente, PAL può subire il telecine, chiamato | |
| 1217 "2:2 pulldown", ma non è usanza abituale.) Il film a 24 fps viene | |
| 1218 semplicemente riprodotto a 25 fps. Il risultato è che il filmato è leggermente | |
| 1219 più veloce, ma a meno che tu non sia un alieno, probabilmente non noterai la | |
| 1220 differenza. | |
| 1221 La maggior parte dei DVD PAL hanno audio corretto ai picchi, in modo che quando | |
| 1222 siano riprodotti a 25 fps le cose suonino giuste, anche se la traccia audio | |
| 1223 (e quindi tutto il filmato) ha un tempo di riproduzione che è il 4% inferiore | |
| 1224 ai DVD NTSC. | |
| 1225 </para> | |
| 1226 | |
| 1227 <para> | |
| 1228 A causa del fatto che il video nei DVD PAL non è stato alterato, non dovrai | |
| 1229 preoccuperti molto della frequenza fotogrammi. La sorgente è 25 fps, e il tuo | |
| 1230 rip sarà a 25 fps. Tuttavia, se stai codificando un film da DVD NTSC, | |
| 1231 potresti dover applicare il telecine inverso. | |
| 1232 </para> | |
| 1233 | |
| 1234 <para> | |
| 1235 Per film ripresi a 24 fps, il video sul DVD NTSC è o con telecine a 30000/1001, | |
| 1236 oppure è progressivo a 24000/1001 fps e destinato a subire il telecine al volo | |
| 1237 da un lettore DVD. D'altro canto le serie TV sono solitamente solo | |
| 1238 interlacciate, senza telecine. Questa non è una regola ferrea: alcune serie TV | |
| 1239 sono interlacciate (come Buffy the Vampire Slayer) mentre alcune sono un misto | |
| 1240 di progressivo e interlacciato (come Angel, o 24). | |
| 1241 </para> | |
| 1242 | |
| 1243 <para> | |
| 1244 Si consiglia vivamente di leggere la sezione su | |
| 1245 <link linkend="menc-feat-telecine">Come trattare il telecine e l'interlacciamento nei DVD NTSC</link> | |
| 1246 per imparare come gestire le varie possibilità. | |
| 1247 </para> | |
| 1248 | |
| 1249 <para> | |
| 1250 Ciononostante, se stai principalmente rippando solo film, solitamente ti | |
| 1251 troverai di fronte a video a 24 fps progressivo o con telecine, nel qual caso | |
| 1252 puoi usare il filtro <option>pullup</option> <option>-vf | |
| 1253 pullup,softskip</option>. | |
| 1254 </para> | |
| 1255 </sect2> | |
| 1256 | |
| 1257 <!-- ********** --> | |
| 1258 | |
| 1259 <sect2 id="menc-feat-dvd-mpeg4-encoding-interlaced"> | |
| 1260 <title>Codificare video interlacciato</title> | |
| 1261 | |
| 1262 <para> | |
| 1263 Se il film che vuoi codificare è interlacciato (video NTSC o PAL) dovrai | |
| 1264 scegliere se vuoi de-interlacciare o no. | |
| 1265 Se da un lato de-interlacciare renderà il tuo filmato utilizzabile su | |
| 1266 schermi a scansione progressiva come monitor di computer o proiettori, porta | |
| 1267 con sé un costo: la frequenza dei campi di 50 o 60000/1001 campi al secondo | |
| 1268 viene dimezzata a 25 o 30000/1001 fotogrammi al secondo, e circa la metà delle | |
| 1269 informazioni nel tuo film saranno perdute, in scene con movimento significativo. | |
| 1270 </para> | |
| 1271 | |
| 1272 <para> | |
| 1273 Per di più, se stai codificando puntando ad alta qualità di archiviazione. | |
| 1274 si consiglia di non de-interlacciare. | |
| 1275 Puoi sempre de-interlacciare il film durante la riproduzione attraverso | |
| 1276 dispositivi a scansione progressiva. | |
| 1277 La potenza dei computer attuali forza per i riproduttori l'utilizzo di un filtro | |
| 1278 di de-interlacciamento, che porta un leggero degrado dell'immagine. | |
| 1279 Ma i lettori del futuro saranno in grado di simulare lo schermo di una TV, | |
| 1280 de-interlacciando a piena frequenza di campi e interpolando 50 o 60000/1001 | |
| 1281 fotogrammi interi al secondo dal video interlacciato | |
| 1282 </para> | |
| 1283 | |
| 1284 <para> | |
| 1285 Bisogna porre speciale attenzione quando si lavora con video interlacciato: | |
| 1286 </para> | |
| 1287 | |
| 1288 <orderedlist> | |
| 1289 <listitem><para> | |
| 1290 Altezza e scostamento del taglio devono essere multipli di 4. | |
| 1291 </para></listitem> | |
| 1292 <listitem><para> | |
| 1293 Qualsiasi ridimensionamento verticale va fatto in modalità interlacciata. | |
| 1294 </para></listitem> | |
| 1295 <listitem><para> | |
| 1296 I filtri di post elaborazione e di rimozione disturbo potrebbero non | |
| 1297 funzionare come ci si aspetta a meno che tu non ponga particolare attenzione | |
| 1298 per farli lavorare su un campo per volta, e possono rovinare il video quando | |
| 1299 usati in modo non corretto. | |
| 1300 </para></listitem> | |
| 1301 </orderedlist> | |
| 1302 | |
| 1303 <para> | |
| 1304 Tenendo a mente queste cose, ecco il nostro primo esempio: | |
| 1305 <screen> | |
| 1306 mencoder <replaceable>capture.avi</replaceable> -mc 0 -oac lavc -ovc lavc -lavcopts \ | |
| 1307 vcodec=mpeg2video:vbitrate=6000:ilme:ildct:acodec=mp2:abitrate=224 | |
| 1308 </screen> | |
| 1309 Nota le opzioni <option>ilme</option> e <option>ildct</option>. | |
| 1310 </para> | |
| 1311 </sect2> | |
| 1312 | |
| 1313 <!-- ********** --> | |
| 1314 | |
| 1315 <sect2 id="menc-feat-dvd-mpeg4-av-sync"> | |
| 1316 <title>Notes on Audio/Video synchronization</title> | |
| 1317 | |
| 1318 <para> | |
| 1319 <application>MEncoder</application>'s audio/video synchronization | |
| 1320 algorithms were designed with the intention of recovering files with | |
| 1321 broken sync. | |
| 1322 However, in some cases they can cause unnecessary skipping and duplication of | |
| 1323 frames, and possibly slight A/V desync, when used with proper input | |
| 1324 (of course, A/V sync issues apply only if you process or copy the | |
| 1325 audio track while transcoding the video, which is strongly encouraged). | |
| 1326 Therefore, you may have to switch to basic A/V sync with | |
| 1327 the <option>-mc 0</option> option, or put this in your | |
| 1328 <systemitem>~/.mplayer/mencoder</systemitem> config file, as long as | |
| 1329 you are only working with good sources (DVD, TV capture, high quality | |
| 1330 MPEG-4 rips, etc) and not broken ASF/RM/MOV files. | |
| 1331 </para> | |
| 1332 | |
| 1333 <para> | |
| 1334 If you want to further guard against strange frame skips and | |
| 1335 duplication, you can use both <option>-mc 0</option> and | |
| 1336 <option>-noskip</option>. | |
| 1337 This will prevent <emphasis>all</emphasis> A/V sync, and copy frames | |
| 1338 one-to-one, so you cannot use it if you will be using any filters that | |
| 1339 unpredictably add or drop frames, or if your input file has variable | |
| 1340 framerate! | |
| 1341 Therefore, using <option>-noskip</option> is not in general recommended. | |
| 1342 </para> | |
| 1343 | |
| 1344 <para> | |
| 1345 The so-called "three-pass" audio encoding which | |
| 1346 <application>MEncoder</application> supports has been reported to cause A/V | |
| 1347 desync. | |
| 1348 This will definitely happen if it is used in conjunction with certain | |
| 1349 filters, therefore, it is now recommended <emphasis>not</emphasis> to | |
| 1350 use three-pass audio mode. | |
| 1351 This feature is only left for compatibility purposes and for expert | |
| 1352 users who understand when it is safe to use and when it is not. | |
| 1353 If you have never heard of three-pass mode before, forget that we | |
| 1354 even mentioned it! | |
| 1355 </para> | |
| 1356 | |
| 1357 <para> | |
| 1358 There have also been reports of A/V desync when encoding from stdin | |
| 1359 with <application>MEncoder</application>. | |
| 1360 Do not do this! Always use a file or CD/DVD/etc device as input. | |
| 1361 </para> | |
| 1362 </sect2> | |
| 1363 | |
| 1364 <!-- ********** --> | |
| 1365 | |
| 1366 <sect2 id="menc-feat-dvd-mpeg4-codec"> | |
| 1367 <title>Choosing the video codec</title> | |
| 1368 | |
| 1369 <para> | |
| 1370 Which video codec is best to choose depends on several factors, | |
| 1371 like size, quality, streamability, usability and popularity, some of | |
| 1372 which widely depend on personal taste and technical constraints. | |
| 1373 </para> | |
| 1374 <itemizedlist> | |
| 1375 <listitem> | |
| 1376 <para> | |
| 1377 <emphasis role="bold">Compression efficiency</emphasis>: | |
| 1378 It is quite easy to understand that most newer-generation codecs are | |
| 1379 made to increase quality and compression. | |
| 1380 Therefore, the authors of this guide and many other people suggest that | |
| 1381 you cannot go wrong | |
| 1382 <footnote id='fn-menc-feat-dvd-mpeg4-codec-cpu'><para> | |
| 1383 Be careful, however: Decoding DVD-resolution MPEG-4 AVC videos | |
| 1384 requires a fast machine (i.e. a Pentium 4 over 1.5GHz or a Pentium M | |
| 1385 over 1GHz). | |
| 1386 </para></footnote> | |
| 1387 when choosing MPEG-4 AVC codecs like | |
| 1388 <systemitem class="library">x264</systemitem> instead of MPEG-4 ASP codecs | |
| 1389 such as <systemitem class="library">libavcodec</systemitem> MPEG-4 or | |
| 1390 <systemitem class="library">Xvid</systemitem>. | |
| 1391 (Advanced codec developers may be interested in reading Michael | |
| 1392 Niedermayer's opinion on | |
| 1393 "<ulink url="http://guru.multimedia.cx/?p=10">why MPEG4-ASP sucks</ulink>".) | |
| 1394 Likewise, you should get better quality using MPEG-4 ASP than you | |
| 1395 would with MPEG-2 codecs. | |
| 1396 </para> | |
| 1397 | |
| 1398 <para> | |
| 1399 However, newer codecs which are in heavy development can suffer from | |
| 1400 bugs which have not yet been noticed and which can ruin an encode. | |
| 1401 This is simply the tradeoff for using bleeding-edge technology. | |
| 1402 </para> | |
| 1403 | |
| 1404 <para> | |
| 1405 What is more, beginning to use a new codec requires that you spend some | |
| 1406 time becoming familiar with its options, so that you know what | |
| 1407 to adjust to achieve a desired picture quality. | |
| 1408 </para> | |
| 1409 </listitem> | |
| 1410 | |
| 1411 <listitem><para> | |
| 1412 <emphasis role="bold">Hardware compatibility</emphasis>: | |
| 1413 It usually takes a long time for standalone video players to begin to | |
| 1414 include support for the latest video codecs. | |
| 1415 As a result, most only support MPEG-1 (like VCD, XVCD and KVCD), MPEG-2 | |
| 1416 (like DVD, SVCD and KVCD) and MPEG-4 ASP (like DivX, | |
| 1417 <systemitem class="library">libavcodec</systemitem>'s LMP4 and | |
| 1418 <systemitem class="library">Xvid</systemitem>) | |
| 1419 (Beware: Usually, not all MPEG-4 ASP features are supported). | |
| 1420 Please refer to the technical specs of your player (if they are available), | |
| 1421 or google around for more information. | |
| 1422 </para></listitem> | |
| 1423 | |
| 1424 <listitem> | |
| 1425 <para> | |
| 1426 <emphasis role="bold">Best quality per encoding time</emphasis>: | |
| 1427 Codecs that have been around for some time (such as | |
| 1428 <systemitem class="library">libavcodec</systemitem> MPEG-4 and | |
| 1429 <systemitem class="library">Xvid</systemitem>) are usually heavily | |
| 1430 optimized with all kinds of smart algorithms and SIMD assembly code. | |
| 1431 That is why they tend to yield the best quality per encoding time ratio. | |
| 1432 However, they may have some very advanced options that, if enabled, | |
| 1433 will make the encode really slow for marginal gains. | |
| 1434 </para> | |
| 1435 | |
| 1436 <para> | |
| 1437 If you are after blazing speed you should stick around the default | |
| 1438 settings of the video codec (although you should still try the other | |
| 1439 options which are mentioned in other sections of this guide). | |
| 1440 </para> | |
| 1441 | |
| 1442 <para> | |
| 1443 You may also consider choosing a codec which can do multi-threaded | |
| 1444 processing, though this is only useful for users of machines with | |
| 1445 several CPUs. | |
| 1446 <systemitem class="library">libavcodec</systemitem> MPEG-4 does | |
| 1447 allow that, but speed gains are limited, and there is a slight | |
| 1448 negative effect on picture quality. | |
| 1449 <systemitem class="library">Xvid</systemitem>'s multi-threaded encoding, | |
| 1450 activated by the <option>threads</option> option, can be used to | |
| 1451 boost encoding speed — by about 40-60% in typical cases — | |
| 1452 with little if any picture degradation. | |
| 1453 <systemitem class="library">x264</systemitem> also allows multi-threaded | |
| 1454 encoding, which currently speeds up encoding by 94% per CPU core while | |
| 1455 lowering PSNR between 0.005dB and 0.01dB on a typical setup. | |
| 1456 </para> | |
| 1457 </listitem> | |
| 1458 | |
| 1459 <listitem> | |
| 1460 <para> | |
| 1461 <emphasis role="bold">Personal taste</emphasis>: | |
| 1462 This is where it gets almost irrational: For the same reason that some | |
| 1463 hung on to DivX 3 for years when newer codecs were already doing wonders, | |
| 1464 some folks will prefer <systemitem class="library">Xvid</systemitem> | |
| 1465 or <systemitem class="library">libavcodec</systemitem> MPEG-4 over | |
| 1466 <systemitem class="library">x264</systemitem>. | |
| 1467 </para> | |
| 1468 <para> | |
| 1469 You should make your own judgement; do not take advice from people who | |
| 1470 swear by one codec. | |
| 1471 Take a few sample clips from raw sources and compare different | |
| 1472 encoding options and codecs to find one that suits you best. | |
| 1473 The best codec is the one you master, and the one that looks | |
| 1474 best to your eyes on your display | |
| 1475 <footnote id='fn-menc-feat-dvd-mpeg4-codec-playback'><para> | |
| 1476 The same encode may not look the same on someone else's monitor or | |
| 1477 when played back by a different decoder, so future-proof your encodes by | |
| 1478 playing them back on different setups. | |
| 1479 </para></footnote>! | |
| 1480 </para> | |
| 1481 </listitem> | |
| 1482 </itemizedlist> | |
| 1483 | |
| 1484 <para> | |
| 1485 Please refer to the section | |
| 1486 <link linkend="menc-feat-selecting-codec">selecting codecs and container formats</link> | |
| 1487 to get a list of supported codecs. | |
| 1488 </para> | |
| 1489 </sect2> | |
| 1490 | |
| 1491 <!-- ********** --> | |
| 1492 | |
| 1493 <sect2 id="menc-feat-dvd-mpeg4-audio"> | |
| 1494 <title>Audio</title> | |
| 1495 | |
| 1496 <para> | |
| 1497 Audio is a much simpler problem to solve: if you care about quality, just | |
| 1498 leave it as is. | |
| 1499 Even AC-3 5.1 streams are at most 448Kbit/s, and they are worth every bit. | |
| 1500 You might be tempted to transcode the audio to high quality Vorbis, but | |
| 1501 just because you do not have an A/V receiver for AC-3 pass-through today | |
| 1502 does not mean you will not have one tomorrow. Future-proof your DVD rips by | |
| 1503 preserving the AC-3 stream. | |
| 1504 You can keep the AC-3 stream either by copying it directly into the video | |
| 1505 stream <link linkend="menc-feat-mpeg4">during the encoding</link>. | |
| 1506 You can also extract the AC-3 stream in order to mux it into containers such | |
| 1507 as NUT or Matroska. | |
| 1508 <screen> | |
| 1509 mplayer <replaceable>source_file.vob</replaceable> -aid 129 -dumpaudio -dumpfile <replaceable>sound.ac3</replaceable> | |
| 1510 </screen> | |
| 1511 will dump into the file <replaceable>sound.ac3</replaceable> the | |
| 1512 audio track number 129 from the file | |
| 1513 <replaceable>source_file.vob</replaceable> (NB: DVD VOB files | |
| 1514 usually use a different audio numbering, | |
| 1515 which means that the VOB audio track 129 is the 2nd audio track of the file). | |
| 1516 </para> | |
| 1517 | |
| 1518 <para> | |
| 1519 But sometimes you truly have no choice but to further compress the | |
| 1520 sound so that more bits can be spent on the video. | |
| 1521 Most people choose to compress audio with either MP3 or Vorbis audio codecs. | |
| 1522 While the latter is a very space-efficient codec, MP3 is better supported | |
| 1523 by hardware players, although this trend is changing. | |
| 1524 </para> | |
| 1525 | |
| 1526 <para> | |
| 1527 Do <emphasis>not</emphasis> use <option>-nosound</option> when encoding | |
| 1528 a file with audio, even if you will be encoding and muxing audio | |
| 1529 separately later. | |
| 1530 Though it may work in ideal cases, using <option>-nosound</option> is | |
| 1531 likely to hide some problems in your encoding command line setting. | |
| 1532 In other words, having a soundtrack during your encode assures you that, | |
| 1533 provided you do not see messages such as | |
| 1534 <quote>Too many audio packets in the buffer</quote>, you will be able | |
| 1535 to get proper sync. | |
| 1536 </para> | |
| 1537 | |
| 1538 <para> | |
| 1539 You need to have <application>MEncoder</application> process the sound. | |
| 1540 You can for example copy the orignal soundtrack during the encode with | |
| 1541 <option>-oac copy</option> or convert it to a "light" 4 kHz mono WAV | |
| 1542 PCM with <option>-oac pcm -channels 1 -srate 4000</option>. | |
| 1543 Otherwise, in some cases, it will generate a video file that will not sync | |
| 1544 with the audio. | |
| 1545 Such cases are when the number of video frames in the source file does | |
| 1546 not match up to the total length of audio frames or whenever there | |
| 1547 are discontinuities/splices where there are missing or extra audio frames. | |
| 1548 The correct way to handle this kind of problem is to insert silence or | |
| 1549 cut audio at these points. | |
| 1550 However <application>MPlayer</application> cannot do that, so if you | |
| 1551 demux the AC-3 audio and encode it with a separate app (or dump it to PCM with | |
| 1552 <application>MPlayer</application>), the splices will be left incorrect | |
| 1553 and the only way to correct them is to drop/dup video frames at the | |
| 1554 splice. | |
| 1555 As long as <application>MEncoder</application> sees the audio when it is | |
| 1556 encoding the video, it can do this dropping/duping (which is usually OK | |
| 1557 since it takes place at full black/scenechange), but if | |
| 1558 <application>MEncoder</application> cannot see the audio, it will just | |
| 1559 process all frames as-is and they will not fit the final audio stream when | |
| 1560 you for example merge your audio and video track into a Matroska file. | |
| 1561 </para> | |
| 1562 | |
| 1563 <para> | |
| 1564 First of all, you will have to convert the DVD sound into a WAV file that the | |
| 1565 audio codec can use as input. | |
| 1566 For example: | |
| 1567 <screen> | |
| 1568 mplayer <replaceable>source_file.vob</replaceable> -ao pcm:file=<replaceable>destination_sound.wav</replaceable> \ | |
| 1569 -vc dummy -aid 1 -vo null | |
| 1570 </screen> | |
| 1571 will dump the second audio track from the file | |
| 1572 <replaceable>source_file.vob</replaceable> into the file | |
| 1573 <replaceable>destination_sound.wav</replaceable>. | |
| 1574 You may want to normalize the sound before encoding, as DVD audio tracks | |
| 1575 are commonly recorded at low volumes. | |
| 1576 You can use the tool <application>normalize</application> for instance, | |
| 1577 which is available in most distributions. | |
| 1578 If you are using Windows, a tool such as <application>BeSweet</application> | |
| 1579 can do the same job. | |
| 1580 You will compress in either Vorbis or MP3. | |
| 1581 For example: | |
| 1582 <screen>oggenc -q1 <replaceable>destination_sound.wav</replaceable></screen> | |
| 1583 will encode <replaceable>destination_sound.wav</replaceable> with | |
| 1584 the encoding quality 1, which is roughly equivalent to 80Kb/s, and | |
| 1585 is the minimum quality at which you should encode if you care about | |
| 1586 quality. | |
| 1587 Please note that <application>MEncoder</application> currently cannot | |
| 1588 mux Vorbis audio tracks | |
| 1589 into the output file because it only supports AVI and MPEG | |
| 1590 containers as an output, each of which may lead to audio/video | |
| 1591 playback synchronization problems with some players when the AVI file | |
| 1592 contain VBR audio streams such as Vorbis. | |
| 1593 Do not worry, this document will show you how you can do that with third | |
| 1594 party programs. | |
| 1595 </para> | |
| 1596 </sect2> | |
| 1597 | |
| 1598 <!-- ********** --> | |
| 1599 | |
| 1600 <sect2 id="menc-feat-dvd-mpeg4-muxing"> | |
| 1601 <title>Muxing</title> | |
| 1602 | |
| 1603 <para> | |
| 1604 Now that you have encoded your video, you will most likely want | |
| 1605 to mux it with one or more audio tracks into a movie container, such | |
| 1606 as AVI, MPEG, Matroska or NUT. | |
| 1607 <application>MEncoder</application> is currently only able to natively output | |
| 1608 audio and video into MPEG and AVI container formats. | |
| 1609 for example: | |
| 1610 <screen> | |
| 1611 mencoder -oac copy -ovc copy -o <replaceable>output_movie.avi</replaceable> \ | |
| 1612 -audiofile <replaceable>input_audio.mp2</replaceable> <replaceable>input_video.avi</replaceable> | |
| 1613 </screen> | |
| 1614 This would merge the video file <replaceable>input_video.avi</replaceable> | |
| 1615 and the audio file <replaceable>input_audio.mp2</replaceable> | |
| 1616 into the AVI file <replaceable>output_movie.avi</replaceable>. | |
| 1617 This command works with MPEG-1 layer I, II and III (more commonly known | |
| 1618 as MP3) audio, WAV and a few other audio formats too. | |
| 1619 </para> | |
| 1620 | |
| 1621 <para> | |
| 1622 <application>MEncoder</application> features experimental support for | |
| 1623 <systemitem class="library">libavformat</systemitem>, which is a | |
| 1624 library from the FFmpeg project that supports muxing and demuxing | |
| 1625 a variety of containers. | |
| 1626 For example: | |
| 1627 <screen> | |
| 1628 mencoder -oac copy -ovc copy -o <replaceable>output_movie.asf</replaceable> -audiofile <replaceable>input_audio.mp2</replaceable> \ | |
| 1629 <replaceable>input_video.avi</replaceable> -of lavf -lavfopts format=asf | |
| 1630 </screen> | |
| 1631 This will do the same thing as the previous example, except that | |
| 1632 the output container will be ASF. | |
| 1633 Please note that this support is highly experimental (but getting | |
| 1634 better every day), and will only work if you compiled | |
| 1635 <application>MPlayer</application> with the support for | |
| 1636 <systemitem class="library">libavformat</systemitem> enabled (which | |
| 1637 means that a pre-packaged binary version will not work in most cases). | |
| 1638 </para> | |
| 1639 | |
| 1640 | |
| 1641 <sect3 id="menc-feat-dvd-mpeg4-muxing-filter-issues"> | |
| 1642 <title>Improving muxing and A/V sync reliability</title> | |
| 1643 | |
| 1644 <para> | |
| 1645 You may experience some serious A/V sync problems while trying to mux | |
| 1646 your video and some audio tracks, where no matter how you adjust the | |
| 1647 audio delay, you will never get proper sync. | |
| 1648 That may happen when you use some video filters that will drop or | |
| 1649 duplicate some frames, like the inverse telecine filters. | |
| 1650 It is strongly encouraged to append the <option>harddup</option> video | |
| 1651 filter at the end of the filter chain to avoid this kind of problem. | |
| 1652 </para> | |
| 1653 | |
| 1654 <para> | |
| 1655 Without <option>harddup</option>, if <application>MEncoder</application> | |
| 1656 wants to duplicate a frame, it relies on the muxer to put a mark on the | |
| 1657 container so that the last frame will be displayed again to maintain | |
| 1658 sync while writing no actual frame. | |
| 1659 With <option>harddup</option>, <application>MEncoder</application> | |
| 1660 will instead just push the last frame displayed again into the filter | |
| 1661 chain. | |
| 1662 This means that the encoder receives the <emphasis>exact</emphasis> | |
| 1663 same frame twice, and compresses it. | |
| 1664 This will result in a slightly bigger file, but will not cause problems | |
| 1665 when demuxing or remuxing into other container formats. | |
| 1666 </para> | |
| 1667 | |
| 1668 <para> | |
| 1669 You may also have no choice but to use <option>harddup</option> with | |
| 1670 container formats that are not too tightly linked with | |
| 1671 <application>MEncoder</application> such as the ones supported through | |
| 1672 <systemitem class="library">libavformat</systemitem>, which may not | |
| 1673 support frame duplication at the container level. | |
| 1674 </para> | |
| 1675 </sect3> | |
| 1676 | |
| 1677 | |
| 1678 <sect3 id="menc-feat-dvd-mpeg4-muxing-avi-limitations"> | |
| 1679 <title>Limitations of the AVI container</title> | |
| 1680 | |
| 1681 <para> | |
| 1682 Although it is the most widely-supported container format after MPEG-1, | |
| 1683 AVI also has some major drawbacks. | |
| 1684 Perhaps the most obvious is the overhead. | |
| 1685 For each chunk of the AVI file, 24 bytes are wasted on headers and index. | |
| 1686 This translates into a little over 5 MB per hour, or 1-2.5% | |
| 1687 overhead for a 700 MB movie. This may not seem like much, but it could | |
| 1688 mean the difference between being able to use 700 kbit/sec video or | |
| 1689 714 kbit/sec, and every bit of quality counts. | |
| 1690 </para> | |
| 1691 | |
| 1692 <para> | |
| 1693 In addition this gross inefficiency, AVI also has the following major | |
| 1694 limitations: | |
| 1695 </para> | |
| 1696 | |
| 1697 <orderedlist> | |
| 1698 <listitem><para> | |
| 1699 Only fixed-fps content can be stored. This is particularly limiting | |
| 1700 if the original material you want to encode is mixed content, for | |
| 1701 example a mix of NTSC video and film material. | |
| 1702 Actually there are hacks that can be used to store mixed-framerate | |
| 1703 content in AVI, but they increase the (already huge) overhead | |
| 1704 fivefold or more and so are not practical. | |
| 1705 </para></listitem> | |
| 1706 <listitem><para> | |
| 1707 Audio in AVI files must be either constant-bitrate (CBR) or | |
| 1708 constant-framesize (i.e. all frames decode to the same number of | |
| 1709 samples). | |
| 1710 Unfortunately, the most efficient codec, Vorbis, does not meet | |
| 1711 either of these requirements. | |
| 1712 Therefore, if you plan to store your movie in AVI, you will have to | |
| 1713 use a less efficient codec such as MP3 or AC-3. | |
| 1714 </para></listitem> | |
| 1715 </orderedlist> | |
| 1716 | |
| 1717 <para> | |
| 1718 Having said all that, <application>MEncoder</application> does not | |
| 1719 currently support variable-fps output or Vorbis encoding. | |
| 1720 Therefore, you may not see these as limitations if | |
| 1721 <application>MEncoder</application> is the | |
| 1722 only tool you will be using to produce your encodes. | |
| 1723 However, it is possible to use <application>MEncoder</application> | |
| 1724 only for video encoding, and then use external tools to encode | |
| 1725 audio and mux it into another container format. | |
| 1726 </para> | |
| 1727 </sect3> | |
| 1728 | |
| 1729 | |
| 1730 <sect3 id="menc-feat-dvd-mpeg4-muxing-matroska"> | |
| 1731 <title>Muxing into the Matroska container</title> | |
| 1732 | |
| 1733 <para> | |
| 1734 Matroska is a free, open standard container format, aiming | |
| 1735 to offer a lot of advanced features, which older containers | |
| 1736 like AVI cannot handle. | |
| 1737 For example, Matroska supports variable bitrate audio content | |
| 1738 (VBR), variable framerates (VFR), chapters, file attachments, | |
| 1739 error detection code (EDC) and modern A/V Codecs like "Advanced Audio | |
| 1740 Coding" (AAC), "Vorbis" or "MPEG-4 AVC" (H.264), next to nothing | |
| 1741 handled by AVI. | |
| 1742 </para> | |
| 1743 | |
| 1744 <para> | |
| 1745 The tools required to create Matroska files are collectively called | |
| 1746 <application>mkvtoolnix</application>, and are available for most | |
| 1747 Unix platforms as well as <application>Windows</application>. | |
| 1748 Because Matroska is an open standard you may find other | |
| 1749 tools that suit you better, but since mkvtoolnix is the most | |
| 1750 common, and is supported by the Matroska team itself, we will | |
| 1751 only cover its usage. | |
| 1752 </para> | |
| 1753 | |
| 1754 <para> | |
| 1755 Probably the easiest way to get started with Matroska is to use | |
| 1756 <application>MMG</application>, the graphical frontend shipped with | |
| 1757 <application>mkvtoolnix</application>, and follow the | |
| 1758 <ulink url="http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html">guide to mkvmerge GUI (mmg)</ulink> | |
| 1759 </para> | |
| 1760 | |
| 1761 <para> | |
| 1762 You may also mux audio and video files using the command line: | |
| 1763 <screen> | |
| 1764 mkvmerge -o <replaceable>output.mkv</replaceable> <replaceable>input_video.avi</replaceable> <replaceable>input_audio1.mp3</replaceable> <replaceable>input_audio2.ac3</replaceable> | |
| 1765 </screen> | |
| 1766 This would merge the video file <replaceable>input_video.avi</replaceable> | |
| 1767 and the two audio files <replaceable>input_audio1.mp3</replaceable> | |
| 1768 and <replaceable>input_audio2.ac3</replaceable> into the Matroska | |
| 1769 file <replaceable>output.mkv</replaceable>. | |
| 1770 Matroska, as mentioned earlier, is able to do much more than that, like | |
| 1771 multiple audio tracks (including fine-tuning of audio/video | |
| 1772 synchronization), chapters, subtitles, splitting, etc... | |
| 1773 Please refer to the documentation of those applications for | |
| 1774 more details. | |
| 1775 </para> | |
| 1776 </sect3> | |
| 1777 </sect2> | |
| 1778 </sect1> | |
| 1779 | |
| 1780 | |
| 1781 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> | |
| 1782 | |
| 1783 | |
| 1784 <sect1 id="menc-feat-telecine"> | |
| 1785 <title>How to deal with telecine and interlacing within NTSC DVDs</title> | |
| 1786 | |
| 1787 <sect2 id="menc-feat-telecine-intro"> | |
| 1788 <title>Introduction</title> | |
| 1789 | |
| 1790 <formalpara> | |
| 1791 <title>What is telecine?</title> | |
| 1792 <para> | |
| 1793 If you do not understand much of what is written in this document, read the | |
| 1794 <ulink url="http://en.wikipedia.org/wiki/Telecine">Wikipedia entry on telecine</ulink>. | |
| 1795 It is an understandable and reasonably comprehensive | |
| 1796 description of what telecine is. | |
| 1797 </para></formalpara> | |
| 1798 | |
| 1799 <formalpara> | |
| 1800 <title>A note about the numbers.</title> | |
| 1801 <para> | |
| 1802 Many documents, including the guide linked above, refer to the fields | |
| 1803 per second value of NTSC video as 59.94 and the corresponding frames | |
| 1804 per second values as 29.97 (for telecined and interlaced) and 23.976 | |
| 1805 (for progressive). For simplicity, some documents even round these | |
| 1806 numbers to 60, 30, and 24. | |
| 1807 </para></formalpara> | |
| 1808 | |
| 1809 <para> | |
| 1810 Strictly speaking, all those numbers are approximations. Black and | |
| 1811 white NTSC video was exactly 60 fields per second, but 60000/1001 | |
| 1812 was later chosen to accomodate color data while remaining compatible | |
| 1813 with contemporary black and white televisions. Digital NTSC video | |
| 1814 (such as on a DVD) is also 60000/1001 fields per second. From this, | |
| 1815 interlaced and telecined video are derived to be 30000/1001 frames | |
| 1816 per second; progressive video is 24000/1001 frames per second. | |
| 1817 </para> | |
| 1818 | |
| 1819 <para> | |
| 1820 Older versions of the <application>MEncoder</application> documentation | |
| 1821 and many archived mailing list posts refer to 59.94, 29.97, and 23.976. | |
| 1822 All <application>MEncoder</application> documentation has been updated | |
| 1823 to use the fractional values, and you should use them too. | |
| 1824 </para> | |
| 1825 | |
| 1826 <para> | |
| 1827 <option>-ofps 23.976</option> is incorrect. | |
| 1828 <option>-ofps 24000/1001</option> should be used instead. | |
| 1829 </para> | |
| 1830 | |
| 1831 <formalpara> | |
| 1832 <title>How telecine is used.</title> | |
| 1833 <para> | |
| 1834 All video intended to be displayed on an NTSC | |
| 1835 television set must be 60000/1001 fields per second. Made-for-TV movies | |
| 1836 and shows are often filmed directly at 60000/1001 fields per second, but | |
| 1837 the majority of cinema is filmed at 24 or 24000/1001 frames per | |
| 1838 second. When cinematic movie DVDs are mastered, the video is then | |
| 1839 converted for television using a process called telecine. | |
| 1840 </para></formalpara> | |
| 1841 | |
| 1842 <para> | |
| 1843 On a DVD, the video is never actually stored as 60000/1001 fields per | |
| 1844 second. For video that was originally 60000/1001, each pair of fields is | |
| 1845 combined to form a frame, resulting in 30000/1001 frames per | |
| 1846 second. Hardware DVD players then read a flag embedded in the video | |
| 1847 stream to determine whether the odd- or even-numbered lines should | |
| 1848 form the first field. | |
| 1849 </para> | |
| 1850 | |
| 1851 <para> | |
| 1852 Usually, 24000/1001 frames per second content stays as it is when | |
| 1853 encoded for a DVD, and the DVD player must perform telecining | |
| 1854 on-the-fly. Sometimes, however, the video is telecined | |
| 1855 <emphasis>before</emphasis> being stored on the DVD; even though it | |
| 1856 was originally 24000/1001 frames per second, it becomes 60000/1001 fields per | |
| 1857 second. When it is stored on the DVD, pairs of fields are combined to form | |
| 1858 30000/1001 frames per second. | |
| 1859 </para> | |
| 1860 | |
| 1861 <para> | |
| 1862 When looking at individual frames formed from 60000/1001 fields per | |
| 1863 second video, telecined or otherwise, interlacing is clearly visible | |
| 1864 wherever there is any motion, because one field (say, the | |
| 1865 even-numbered lines) represents a moment in time 1/(60000/1001) | |
| 1866 seconds later than the other. Playing interlaced video on a computer | |
| 1867 looks ugly both because the monitor is higher resolution and because | |
| 1868 the video is shown frame-after-frame instead of field-after-field. | |
| 1869 </para> | |
| 1870 | |
| 1871 <itemizedlist> | |
| 1872 <title>Notes:</title> | |
| 1873 <listitem><para> | |
| 1874 This section only applies to NTSC DVDs, and not PAL. | |
| 1875 </para></listitem> | |
| 1876 <listitem><para> | |
| 1877 The example <application>MEncoder</application> lines throughout the | |
| 1878 document are <emphasis role="bold">not</emphasis> intended for | |
| 1879 actual use. They are simply the bare minimum required to encode the | |
| 1880 pertaining video category. How to make good DVD rips or fine-tune | |
| 1881 <systemitem class="library">libavcodec</systemitem> for maximal | |
| 1882 quality is not within the scope of this document. | |
| 1883 </para></listitem> | |
| 1884 <listitem><para> | |
| 1885 There are a couple footnotes specific to this guide, linked like this: | |
| 1886 <link linkend="menc-feat-telecine-footnotes">[1]</link> | |
| 1887 </para></listitem> | |
| 1888 </itemizedlist> | |
| 1889 </sect2> | |
| 1890 | |
| 1891 <!-- ********** --> | |
| 1892 | |
| 1893 <sect2 id="menc-feat-telecine-ident"> | |
| 1894 <title>How to tell what type of video you have</title> | |
| 1895 | |
| 1896 <sect3 id="menc-feat-telecine-ident-progressive"> | |
| 1897 <title>Progressive</title> | |
| 1898 | |
| 1899 <para> | |
| 1900 Progressive video was originally filmed at 24000/1001 fps, and stored | |
| 1901 on the DVD without alteration. | |
| 1902 </para> | |
| 1903 | |
| 1904 <para> | |
| 1905 When you play a progressive DVD in <application>MPlayer</application>, | |
| 1906 <application>MPlayer</application> will print the following line as | |
| 1907 soon as the movie begins to play: | |
| 1908 <screen> | |
| 1909 demux_mpg: 24000/1001 fps progressive NTSC content detected, switching framerate. | |
| 1910 </screen> | |
| 1911 From this point forward, demux_mpg should never say it finds | |
| 1912 "30000/1001 fps NTSC content." | |
| 1913 </para> | |
| 1914 | |
| 1915 <para> | |
| 1916 When you watch progressive video, you should never see any | |
| 1917 interlacing. Beware, however, because sometimes there is a tiny bit | |
| 1918 of telecine mixed in where you would not expect. I have encountered TV | |
| 1919 show DVDs that have one second of telecine at every scene change, or | |
| 1920 at seemingly random places. I once watched a DVD that had a | |
| 1921 progressive first half, and the second half was telecined. If you | |
| 1922 want to be <emphasis>really</emphasis> thorough, you can scan the | |
| 1923 entire movie: | |
| 1924 <screen>mplayer dvd://1 -nosound -vo null -benchmark</screen> | |
| 1925 Using <option>-benchmark</option> makes | |
| 1926 <application>MPlayer</application> play the movie as quickly as it | |
| 1927 possibly can; still, depending on your hardware, it can take a | |
| 1928 while. Every time demux_mpg reports a framerate change, the line | |
| 1929 immediately above will show you the time at which the change | |
| 1930 occurred. | |
| 1931 </para> | |
| 1932 | |
| 1933 <para> | |
| 1934 Sometimes progressive video on DVDs is referred to as | |
| 1935 "soft-telecine" because it is intended to | |
| 1936 be telecined by the DVD player. | |
| 1937 </para> | |
| 1938 </sect3> | |
| 1939 | |
| 1940 | |
| 1941 <sect3 id="menc-feat-telecine-ident-telecined"> | |
| 1942 <title>Telecined</title> | |
| 1943 | |
| 1944 <para> | |
| 1945 Telecined video was originally filmed at 24000/1001, but was telecined | |
| 1946 <emphasis>before</emphasis> it was written to the DVD. | |
| 1947 </para> | |
| 1948 | |
| 1949 <para> | |
| 1950 <application>MPlayer</application> does not (ever) report any | |
| 1951 framerate changes when it plays telecined video. | |
| 1952 </para> | |
| 1953 | |
| 1954 <para> | |
| 1955 Watching a telecined video, you will see interlacing artifacts that | |
| 1956 seem to "blink": they repeatedly appear and disappear. | |
| 1957 You can look closely at this by | |
| 1958 <orderedlist> | |
| 1959 <listitem><screen>mplayer dvd://1</screen></listitem> | |
| 1960 <listitem><para> | |
| 1961 Seek to a part with motion. | |
| 1962 </para></listitem> | |
| 1963 <listitem><para> | |
| 1964 Use the <keycap>.</keycap> key to step forward one frame at a time. | |
| 1965 </para></listitem> | |
| 1966 <listitem><para> | |
| 1967 Look at the pattern of interlaced-looking and progressive-looking | |
| 1968 frames. If the pattern you see is PPPII,PPPII,PPPII,... then the | |
| 1969 video is telecined. If you see some other pattern, then the video | |
| 1970 may have been telecined using some non-standard method; | |
| 1971 <application>MEncoder</application> cannot losslessly convert | |
| 1972 non-standard telecine to progressive. If you do not see any | |
| 1973 pattern at all, then it is most likely interlaced. | |
| 1974 </para></listitem> | |
| 1975 </orderedlist> | |
| 1976 </para> | |
| 1977 | |
| 1978 <para> | |
| 1979 Sometimes telecined video on DVDs is referred to as | |
| 1980 "hard-telecine". Since hard-telecine is already 60000/1001 fields | |
| 1981 per second, the DVD player plays the video without any manipulation. | |
| 1982 </para> | |
| 1983 | |
| 1984 <para> | |
| 1985 Another way to tell if your source is telecined or not is to play | |
| 1986 the source with the <option>-vf pullup</option> and <option>-v</option> | |
| 1987 command line options to see how <option>pullup</option> matches frames. | |
| 1988 If the source is telecined, you should see on the console a 3:2 pattern | |
| 1989 with <systemitem>0+.1.+2</systemitem> and <systemitem>0++1</systemitem> | |
| 1990 alternating. | |
| 1991 This technique has the advantage that you do not need to watch the | |
| 1992 source to identify it, which could be useful if you wish to automate | |
| 1993 the encoding procedure, or to carry out said procedure remotely via | |
| 1994 a slow connection. | |
| 1995 </para> | |
| 1996 </sect3> | |
| 1997 | |
| 1998 | |
| 1999 <sect3 id="menc-feat-telecine-ident-interlaced"> | |
| 2000 <title>Interlaced</title> | |
| 2001 | |
| 2002 <para> | |
| 2003 Interlaced video was originally filmed at 60000/1001 fields per second, | |
| 2004 and stored on the DVD as 30000/1001 frames per second. The interlacing effect | |
| 2005 (often called "combing") is a result of combining pairs of | |
| 2006 fields into frames. Each field is supposed to be 1/(60000/1001) seconds apart, | |
| 2007 and when they are displayed simultaneously the difference is apparent. | |
| 2008 </para> | |
| 2009 | |
| 2010 <para> | |
| 2011 As with telecined video, <application>MPlayer</application> should | |
| 2012 not ever report any framerate changes when playing interlaced content. | |
| 2013 </para> | |
| 2014 | |
| 2015 <para> | |
| 2016 When you view an interlaced video closely by frame-stepping with the | |
| 2017 <keycap>.</keycap> key, you will see that every single frame is interlaced. | |
| 2018 </para> | |
| 2019 </sect3> | |
| 2020 | |
| 2021 | |
| 2022 <sect3 id="menc-feat-telecine-ident-mixedpt"> | |
| 2023 <title>Mixed progressive and telecine</title> | |
| 2024 | |
| 2025 <para> | |
| 2026 All of a "mixed progressive and telecine" video was originally | |
| 2027 24000/1001 frames per second, but some parts of it ended up being telecined. | |
| 2028 </para> | |
| 2029 | |
| 2030 <para> | |
| 2031 When <application>MPlayer</application> plays this category, it will | |
| 2032 (often repeatedly) switch back and forth between "30000/1001 fps NTSC" | |
| 2033 and "24000/1001 fps progressive NTSC". Watch the bottom of | |
| 2034 <application>MPlayer</application>'s output to see these messages. | |
| 2035 </para> | |
| 2036 | |
| 2037 <para> | |
| 2038 You should check the "30000/1001 fps NTSC" sections to make sure | |
| 2039 they are actually telecine, and not just interlaced. | |
| 2040 </para> | |
| 2041 </sect3> | |
| 2042 | |
| 2043 | |
| 2044 <sect3 id="menc-feat-telecine-ident-mixedpi"> | |
| 2045 <title>Mixed progressive and interlaced</title> | |
| 2046 | |
| 2047 <para> | |
| 2048 In "mixed progressive and interlaced" content, progressive | |
| 2049 and interlaced video have been spliced together. | |
| 2050 </para> | |
| 2051 | |
| 2052 <para> | |
| 2053 This category looks just like "mixed progressive and telecine", | |
| 2054 until you examine the 30000/1001 fps sections and see that they do not have the | |
| 2055 telecine pattern. | |
| 2056 </para> | |
| 2057 </sect3> | |
| 2058 </sect2> | |
| 2059 | |
| 2060 <!-- ********** --> | |
| 2061 | |
| 2062 <sect2 id="menc-feat-telecine-encode"> | |
| 2063 <title>How to encode each category</title> | |
| 2064 <para> | |
| 2065 As I mentioned in the beginning, example <application>MEncoder</application> | |
| 2066 lines below are <emphasis role="bold">not</emphasis> meant to actually be used; | |
| 2067 they only demonstrate the minimum parameters to properly encode each category. | |
| 2068 </para> | |
| 2069 | |
| 2070 | |
| 2071 <sect3 id="menc-feat-telecine-encode-progressive"> | |
| 2072 <title>Progressive</title> | |
| 2073 <para> | |
| 2074 Progressive video requires no special filtering to encode. The only | |
| 2075 parameter you need to be sure to use is <option>-ofps 24000/1001</option>. | |
| 2076 Otherwise, <application>MEncoder</application> | |
| 2077 will try to encode at 30000/1001 fps and will duplicate frames. | |
| 2078 </para> | |
| 2079 | |
| 2080 <para> | |
| 2081 <screen>mencoder dvd://1 -oac copy -ovc lavc -ofps 24000/1001</screen> | |
| 2082 </para> | |
| 2083 | |
| 2084 <para> | |
| 2085 It is often the case, however, that a video that looks progressive | |
| 2086 actually has very short parts of telecine mixed in. Unless you are | |
| 2087 sure, it is safest to treat the video as | |
| 2088 <link linkend="menc-feat-telecine-encode-mixedpt">mixed progressive and telecine</link>. | |
| 2089 The performance loss is small | |
| 2090 <link linkend="menc-feat-telecine-footnotes">[3]</link>. | |
| 2091 </para> | |
| 2092 </sect3> | |
| 2093 | |
| 2094 | |
| 2095 <sect3 id="menc-feat-telecine-encode-telecined"> | |
| 2096 <title>Telecined</title> | |
| 2097 | |
| 2098 <para> | |
| 2099 Telecine can be reversed to retrieve the original 24000/1001 content, | |
| 2100 using a process called inverse-telecine. | |
| 2101 <application>MPlayer</application> contains several filters to | |
| 2102 accomplish this; the best filter, <option>pullup</option>, is described | |
| 2103 in the <link linkend="menc-feat-telecine-encode-mixedpt">mixed | |
| 2104 progressive and telecine</link> section. | |
| 2105 </para> | |
| 2106 </sect3> | |
| 2107 | |
| 2108 | |
| 2109 <sect3 id="menc-feat-telecine-encode-interlaced"> | |
| 2110 <title>Interlaced</title> | |
| 2111 | |
| 2112 <para> | |
| 2113 For most practical cases it is not possible to retrieve a complete | |
| 2114 progressive video from interlaced content. The only way to do so | |
| 2115 without losing half of the vertical resolution is to double the | |
| 2116 framerate and try to "guess" what ought to make up the | |
| 2117 corresponding lines for each field (this has drawbacks - see method 3). | |
| 2118 </para> | |
| 2119 | |
| 2120 <orderedlist> | |
| 2121 <listitem><para> | |
| 2122 Encode the video in interlaced form. Normally, interlacing wreaks | |
| 2123 havoc with the encoder's ability to compress well, but | |
| 2124 <systemitem class="library">libavcodec</systemitem> has two | |
| 2125 parameters specifically for dealing with storing interlaced video a | |
| 2126 bit better: <option> ildct</option> and <option>ilme</option>. Also, | |
| 2127 using <option>mbd=2</option> is strongly recommended | |
| 2128 <link linkend="menc-feat-telecine-footnotes">[2] </link> because it | |
| 2129 will encode macroblocks as non-interlaced in places where there is | |
| 2130 no motion. Note that <option>-ofps</option> is NOT needed here. | |
| 2131 <screen>mencoder dvd://1 -oac copy -ovc lavc -lavcopts ildct:ilme:mbd=2</screen> | |
| 2132 </para></listitem> | |
| 2133 <listitem><para> | |
| 2134 Use a deinterlacing filter before encoding. There are several of | |
| 2135 these filters available to choose from, each with its own advantages | |
| 2136 and disadvantages. Consult <option>mplayer -pphelp</option> and | |
| 2137 <option>mplayer -vf help</option> to see what is available | |
| 2138 (grep for "deint"), read Michael's Niedermayer | |
| 2139 <ulink url="http://guru.multimedia.cx/deinterlacing-filters/">Deinterlacing filters comparison</ulink>, | |
| 2140 and search the | |
| 2141 <ulink url="http://www.mplayerhq.hu/design7/mailing_lists.html"> | |
| 2142 MPlayer mailing lists</ulink> to find many discussions about the | |
| 2143 various filters. | |
| 2144 Again, the framerate is not changing, so no | |
| 2145 <option>-ofps</option>. Also, deinterlacing should be done after | |
| 2146 cropping <link linkend="menc-feat-telecine-footnotes">[1]</link> and | |
| 2147 before scaling. | |
| 2148 <screen>mencoder dvd://1 -oac copy -vf yadif -ovc lavc</screen> | |
| 2149 </para></listitem> | |
| 2150 <listitem><para> | |
| 2151 Unfortunately, this option is buggy with | |
| 2152 <application>MEncoder</application>; it ought to work well with | |
| 2153 <application>MEncoder G2</application>, but that is not here yet. You | |
| 2154 might experience crahes. Anyway, the purpose of <option> -vf | |
| 2155 tfields</option> is to create a full frame out of each field, which | |
| 2156 makes the framerate 60000/1001. The advantage of this approach is that no | |
| 2157 data is ever lost; however, since each frame comes from only one | |
| 2158 field, the missing lines have to be interpolated somehow. There are | |
| 2159 no very good methods of generating the missing data, and so the | |
| 2160 result will look a bit similar to when using some deinterlacing | |
| 2161 filters. Generating the missing lines creates other issues, as well, | |
| 2162 simply because the amount of data doubles. So, higher encoding | |
| 2163 bitrates are required to maintain quality, and more CPU power is | |
| 2164 used for both encoding and decoding. tfields has several different | |
| 2165 options for how to create the missing lines of each frame. If you | |
| 2166 use this method, then Reference the manual, and chose whichever | |
| 2167 option looks best for your material. Note that when using | |
| 2168 <option>tfields</option> you | |
| 2169 <emphasis role="bold">have to</emphasis> specify both | |
| 2170 <option>-fps</option> and <option>-ofps</option> to be twice the | |
| 2171 framerate of your original source. | |
| 2172 <screen> | |
| 2173 mencoder dvd://1 -oac copy -vf tfields=2 -ovc lavc \ | |
| 2174 -fps 60000/1001 -ofps 60000/1001<!-- | |
| 2175 --></screen> | |
| 2176 </para></listitem> | |
| 2177 <listitem><para> | |
| 2178 If you plan on downscaling dramatically, you can extract and encode | |
| 2179 only one of the two fields. Of course, you will lose half the vertical | |
| 2180 resolution, but if you plan on downscaling to at most 1/2 of the | |
| 2181 original, the loss will not matter much. The result will be a | |
| 2182 progressive 30000/1001 frames per second file. The procedure is to use | |
| 2183 <option>-vf field</option>, then crop | |
| 2184 <link linkend="menc-feat-telecine-footnotes">[1]</link> and scale | |
| 2185 appropriately. Remember that you will have to adjust the scale to | |
| 2186 compensate for the vertical resolution being halved. | |
| 2187 <screen>mencoder dvd://1 -oac copy -vf field=0 -ovc lavc</screen> | |
| 2188 </para></listitem> | |
| 2189 </orderedlist> | |
| 2190 </sect3> | |
| 2191 | |
| 2192 | |
| 2193 <sect3 id="menc-feat-telecine-encode-mixedpt"> | |
| 2194 <title>Mixed progressive and telecine</title> | |
| 2195 | |
| 2196 <para> | |
| 2197 In order to turn mixed progressive and telecine video into entirely | |
| 2198 progressive video, the telecined parts have to be | |
| 2199 inverse-telecined. There are three ways to accomplish this, | |
| 2200 described below. Note that you should | |
| 2201 <emphasis role="bold">always</emphasis> inverse-telecine before any | |
| 2202 rescaling; unless you really know what you are doing, | |
| 2203 inverse-telecine before cropping, too | |
| 2204 <link linkend="menc-feat-telecine-footnotes">[1]</link>. | |
| 2205 <option>-ofps 24000/1001</option> is needed here because the output video | |
| 2206 will be 24000/1001 frames per second. | |
| 2207 </para> | |
| 2208 | |
| 2209 <itemizedlist> | |
| 2210 <listitem><para> | |
| 2211 <option>-vf pullup</option> is designed to inverse-telecine | |
| 2212 telecined material while leaving progressive data alone. In order to | |
| 2213 work properly, <option>pullup</option> <emphasis role="bold">must</emphasis> | |
| 2214 be followed by the <option>softskip</option> filter or | |
| 2215 else <application>MEncoder</application> will crash. | |
| 2216 <option>pullup</option> is, however, the cleanest and most | |
| 2217 accurate method available for encoding both telecine and | |
| 2218 "mixed progressive and telecine". | |
| 2219 <screen> | |
| 2220 mencoder dvd://1 -oac copy -vf pullup,softskip | |
| 2221 -ovc lavc -ofps 24000/1001<!-- | |
| 2222 --></screen> | |
| 2223 </para></listitem> | |
| 2224 <listitem><para> | |
| 2225 An older method | |
| 2226 is to, rather than inverse-telecine the telecined parts, telecine | |
| 2227 the non-telecined parts and then inverse-telecine the whole | |
| 2228 video. Sound confusing? softpulldown is a filter that goes through | |
| 2229 a video and makes the entire file telecined. If we follow | |
| 2230 softpulldown with either <option>detc</option> or | |
| 2231 <option>ivtc</option>, the final result will be entirely | |
| 2232 progressive. <option>-ofps 24000/1001</option> is needed. | |
| 2233 <screen> | |
| 2234 mencoder dvd://1 -oac copy -vf softpulldown,ivtc=1 -ovc lavc -ofps 24000/1001 | |
| 2235 </screen> | |
| 2236 </para></listitem> | |
| 2237 | |
| 2238 <listitem><para> | |
| 2239 I have not used <option>-vf filmdint</option> myself, but here is what | |
| 2240 D Richard Felker III has to say: | |
| 2241 | |
| 2242 <blockquote><para>It is OK, but IMO it tries to deinterlace rather | |
| 2243 than doing inverse telecine too often (much like settop DVD | |
| 2244 players & progressive TVs) which gives ugly flickering and | |
| 2245 other artifacts. If you are going to use it, you at least need to | |
| 2246 spend some time tuning the options and watching the output first | |
| 2247 to make sure it is not messing up. | |
| 2248 </para></blockquote> | |
| 2249 </para></listitem> | |
| 2250 </itemizedlist> | |
| 2251 </sect3> | |
| 2252 | |
| 2253 | |
| 2254 <sect3 id="menc-feat-telecine-encode-mixedpi"> | |
| 2255 <title>Mixed progressive and interlaced</title> | |
| 2256 | |
| 2257 <para> | |
| 2258 There are two options for dealing with this category, each of | |
| 2259 which is a compromise. You should decide based on the | |
| 2260 duration/location of each type. | |
| 2261 </para> | |
| 2262 | |
| 2263 <itemizedlist> | |
| 2264 <listitem> | |
| 2265 <para> | |
| 2266 Treat it as progressive. The interlaced parts will look interlaced, | |
| 2267 and some of the interlaced fields will have to be dropped, resulting | |
| 2268 in a bit of uneven jumpiness. You can use a postprocessing filter if | |
| 2269 you want to, but it may slightly degrade the progressive parts. | |
| 2270 </para> | |
| 2271 | |
| 2272 <para> | |
| 2273 This option should definitely not be used if you want to eventually | |
| 2274 display the video on an interlaced device (with a TV card, for | |
| 2275 example). If you have interlaced frames in a 24000/1001 frames per | |
| 2276 second video, they will be telecined along with the progressive | |
| 2277 frames. Half of the interlaced "frames" will be displayed for three | |
| 2278 fields' duration (3/(60000/1001) seconds), resulting in a flicking | |
| 2279 "jump back in time" effect that looks quite bad. If you | |
| 2280 even attempt this, you <emphasis role="bold">must</emphasis> use a | |
| 2281 deinterlacing filter like <option>lb</option> or | |
| 2282 <option>l5</option>. | |
| 2283 </para> | |
| 2284 | |
| 2285 <para> | |
| 2286 It may also be a bad idea for progressive display, too. It will drop | |
| 2287 pairs of consecutive interlaced fields, resulting in a discontinuity | |
| 2288 that can be more visible than with the second method, which shows | |
| 2289 some progressive frames twice. 30000/1001 frames per second interlaced | |
| 2290 video is already a bit choppy because it really should be shown at | |
| 2291 60000/1001 fields per second, so the duplicate frames do not stand out as | |
| 2292 much. | |
| 2293 </para> | |
| 2294 | |
| 2295 <para> | |
| 2296 Either way, it is best to consider your content and how you intend to | |
| 2297 display it. If your video is 90% progressive and you never intend to | |
| 2298 show it on a TV, you should favor a progressive approach. If it is | |
| 2299 only half progressive, you probably want to encode it as if it is all | |
| 2300 interlaced. | |
| 2301 </para> | |
| 2302 </listitem> | |
| 2303 | |
| 2304 <listitem><para> | |
| 2305 Treat it as interlaced. Some frames of the progressive parts will | |
| 2306 need to be duplicated, resulting in uneven jumpiness. Again, | |
| 2307 deinterlacing filters may slightly degrade the progressive parts. | |
| 2308 </para></listitem> | |
| 2309 </itemizedlist> | |
| 2310 </sect3> | |
| 2311 </sect2> | |
| 2312 | |
| 2313 <!-- ********** --> | |
| 2314 | |
| 2315 <sect2 id="menc-feat-telecine-footnotes"> | |
| 2316 <title>Footnotes</title> | |
| 2317 | |
| 2318 <orderedlist> | |
| 2319 <listitem> | |
| 2320 <formalpara> | |
| 2321 <title>About cropping:</title> | |
| 2322 <para> | |
| 2323 Video data on DVDs are stored in a format called YUV 4:2:0. In YUV | |
| 2324 video, luma ("brightness") and chroma ("color") | |
| 2325 are stored separately. Because the human eye is somewhat less | |
| 2326 sensitive to color than it is to brightness, in a YUV 4:2:0 picture | |
| 2327 there is only one chroma pixel for every four luma pixels. In a | |
| 2328 progressive picture, each square of four luma pixels (two on each | |
| 2329 side) has one common chroma pixel. You must crop progressive YUV | |
| 2330 4:2:0 to even resolutions, and use even offsets. For example, | |
| 2331 <option>crop=716:380:2:26</option> is OK but | |
| 2332 <option>crop=716:380:3:26 </option> is not. | |
| 2333 </para> | |
| 2334 </formalpara> | |
| 2335 | |
| 2336 <para> | |
| 2337 When you are dealing with interlaced YUV 4:2:0, the situation is a | |
| 2338 bit more complicated. Instead of every four luma pixels in the | |
| 2339 <emphasis>frame</emphasis> sharing a chroma pixel, every four luma | |
| 2340 pixels in each <emphasis> field</emphasis> share a chroma | |
| 2341 pixel. When fields are interlaced to form a frame, each scanline is | |
| 2342 one pixel high. Now, instead of all four luma pixels being in a | |
| 2343 square, there are two pixels side-by-side, and the other two pixels | |
| 2344 are side-by-side two scanlines down. The two luma pixels in the | |
| 2345 intermediate scanline are from the other field, and so share a | |
| 2346 different chroma pixel with two luma pixels two scanlines away. All | |
| 2347 this confusion makes it necessary to have vertical crop dimensions | |
| 2348 and offsets be multiples of four. Horizontal can stay even. | |
| 2349 </para> | |
| 2350 | |
| 2351 <para> | |
| 2352 For telecined video, I recommend that cropping take place after | |
| 2353 inverse telecining. Once the video is progressive you only need to | |
| 2354 crop by even numbers. If you really want to gain the slight speedup | |
| 2355 that cropping first may offer, you must crop vertically by multiples | |
| 2356 of four or else the inverse-telecine filter will not have proper data. | |
| 2357 </para> | |
| 2358 | |
| 2359 <para> | |
| 2360 For interlaced (not telecined) video, you must always crop | |
| 2361 vertically by multiples of four unless you use <option>-vf | |
| 2362 field</option> before cropping. | |
| 2363 </para> | |
| 2364 </listitem> | |
| 2365 | |
| 2366 <listitem><formalpara> | |
| 2367 <title>About encoding parameters and quality:</title> | |
| 2368 <para> | |
| 2369 Just because I recommend <option>mbd=2</option> here does not mean it | |
| 2370 should not be used elsewhere. Along with <option>trell</option>, | |
| 2371 <option>mbd=2</option> is one of the two | |
| 2372 <systemitem class="library">libavcodec</systemitem> options that | |
| 2373 increases quality the most, and you should always use at least those | |
| 2374 two unless the drop in encoding speed is prohibitive (e.g. realtime | |
| 2375 encoding). There are many other options to | |
| 2376 <systemitem class="library">libavcodec</systemitem> that increase | |
| 2377 encoding quality (and decrease encoding speed) but that is beyond | |
| 2378 the scope of this document. | |
| 2379 </para> | |
| 2380 </formalpara></listitem> | |
| 2381 | |
| 2382 <listitem><formalpara> | |
| 2383 <title>About the performance of pullup:</title> | |
| 2384 <para> | |
| 2385 It is safe to use <option>pullup</option> (along with <option>softskip | |
| 2386 </option>) on progressive video, and is usually a good idea unless | |
| 2387 the source has been definitively verified to be entirely progressive. | |
| 2388 The performace loss is small for most cases. On a bare-minimum encode, | |
| 2389 <option>pullup</option> causes <application>MEncoder</application> to | |
| 2390 be 50% slower. Adding sound processing and advanced <option>lavcopts | |
| 2391 </option> overshadows that difference, bringing the performance | |
| 2392 decrease of using <option>pullup</option> down to 2%. | |
| 2393 </para> | |
| 2394 </formalpara></listitem> | |
| 2395 </orderedlist> | |
| 2396 </sect2> | |
| 2397 </sect1> | |
| 2398 | |
| 2399 | |
| 2400 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> | |
| 2401 | |
| 2402 | |
| 2403 <sect1 id="menc-feat-enc-libavcodec"> | |
| 2404 <title>Encoding with the <systemitem class="library">libavcodec</systemitem> | |
| 2405 codec family</title> | |
| 2406 | |
| 2407 <para> | |
| 2408 <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link> | |
| 2409 provides simple encoding to a lot of interesting video and audio formats. | |
| 2410 You can encode to the following codecs (more or less up to date): | |
| 2411 </para> | |
| 2412 | |
| 2413 <!-- ********** --> | |
| 2414 | |
| 2415 <sect2 id="menc-feat-enc-libavcodec-video-codecs"> | |
| 2416 <title><systemitem class="library">libavcodec</systemitem>'s | |
| 2417 video codecs</title> | |
| 2418 | |
| 2419 <para> | |
| 2420 <informaltable frame="all"> | |
| 2421 <tgroup cols="2"> | |
| 2422 <thead> | |
| 2423 <row><entry>Video codec name</entry><entry>Description</entry></row> | |
| 2424 </thead> | |
| 2425 <tbody> | |
| 2426 <row> | |
| 2427 <entry>mjpeg</entry> | |
| 2428 <entry>Motion JPEG</entry> | |
| 2429 </row> | |
| 2430 <row> | |
| 2431 <entry>ljpeg</entry> | |
| 2432 <entry>lossless JPEG</entry> | |
| 2433 </row> | |
| 2434 <row> | |
| 2435 <entry>jpegls</entry> | |
| 2436 <entry>JPEG LS</entry> | |
| 2437 </row> | |
| 2438 <row> | |
| 2439 <entry>targa</entry> | |
| 2440 <entry>Targa image</entry> | |
| 2441 </row> | |
| 2442 <row> | |
| 2443 <entry>gif</entry> | |
| 2444 <entry>GIF image</entry> | |
| 2445 </row> | |
| 2446 <row> | |
| 2447 <entry>bmp</entry> | |
| 2448 <entry>BMP image</entry> | |
| 2449 </row> | |
| 2450 <row> | |
| 2451 <entry>png</entry> | |
| 2452 <entry>PNG image</entry> | |
| 2453 </row> | |
| 2454 <row> | |
| 2455 <entry>h261</entry> | |
| 2456 <entry>H.261</entry> | |
| 2457 </row> | |
| 2458 <row> | |
| 2459 <entry>h263</entry> | |
| 2460 <entry>H.263 </entry> | |
| 2461 </row> | |
| 2462 <row> | |
| 2463 <entry>h263p</entry> | |
| 2464 <entry>H.263+</entry> | |
| 2465 </row> | |
| 2466 <row> | |
| 2467 <entry>mpeg4</entry> | |
| 2468 <entry>ISO standard MPEG-4 (DivX, Xvid compatible)</entry> | |
| 2469 </row> | |
| 2470 <row> | |
| 2471 <entry>msmpeg4</entry> | |
| 2472 <entry>pre-standard MPEG-4 variant by MS, v3 (AKA DivX3)</entry> | |
| 2473 </row> | |
| 2474 <row> | |
| 2475 <entry>msmpeg4v2</entry> | |
| 2476 <entry>pre-standard MPEG-4 by MS, v2 (used in old ASF files)</entry> | |
| 2477 </row> | |
| 2478 <row> | |
| 2479 <entry>wmv1</entry> | |
| 2480 <entry>Windows Media Video, version 1 (AKA WMV7)</entry> | |
| 2481 </row> | |
| 2482 <row> | |
| 2483 <entry>wmv2</entry> | |
| 2484 <entry>Windows Media Video, version 2 (AKA WMV8)</entry> | |
| 2485 </row> | |
| 2486 <row> | |
| 2487 <entry>rv10</entry> | |
| 2488 <entry>RealVideo 1.0</entry> | |
| 2489 </row> | |
| 2490 <row> | |
| 2491 <entry>rv20</entry> | |
| 2492 <entry>RealVideo 2.0</entry> | |
| 2493 </row> | |
| 2494 <row> | |
| 2495 <entry>mpeg1video</entry> | |
| 2496 <entry>MPEG-1 video</entry> | |
| 2497 </row> | |
| 2498 <row> | |
| 2499 <entry>mpeg2video</entry> | |
| 2500 <entry>MPEG-2 video</entry> | |
| 2501 </row> | |
| 2502 <row> | |
| 2503 <entry>huffyuv</entry> | |
| 2504 <entry>lossless compression</entry> | |
| 2505 </row> | |
| 2506 <row> | |
| 2507 <entry>ffvhuff</entry> | |
| 2508 <entry>FFmpeg modified huffyuv lossless</entry> | |
| 2509 </row> | |
| 2510 <row> | |
| 2511 <entry>asv1</entry> | |
| 2512 <entry>ASUS Video v1</entry> | |
| 2513 </row> | |
| 2514 <row> | |
| 2515 <entry>asv2</entry> | |
| 2516 <entry>ASUS Video v2</entry> | |
| 2517 </row> | |
| 2518 <row> | |
| 2519 <entry>ffv1</entry> | |
| 2520 <entry>FFmpeg's lossless video codec</entry> | |
| 2521 </row> | |
| 2522 <row> | |
| 2523 <entry>svq1</entry> | |
| 2524 <entry>Sorenson video 1</entry> | |
| 2525 </row> | |
| 2526 <row> | |
| 2527 <entry>flv</entry> | |
| 2528 <entry>Sorenson H.263 used in Flash Video</entry> | |
| 2529 </row> | |
| 2530 <row> | |
| 2531 <entry>flashsv</entry> | |
| 2532 <entry>Flash Screen Video</entry> | |
| 2533 </row> | |
| 2534 <row> | |
| 2535 <entry>dvvideo</entry> | |
| 2536 <entry>Sony Digital Video</entry> | |
| 2537 </row> | |
| 2538 <row> | |
| 2539 <entry>snow</entry> | |
| 2540 <entry>FFmpeg's experimental wavelet-based codec</entry> | |
| 2541 </row> | |
| 2542 <row> | |
| 2543 <entry>zbmv</entry> | |
| 2544 <entry>Zip Blocks Motion Video</entry> | |
| 2545 </row> | |
| 2546 </tbody> | |
| 2547 </tgroup> | |
| 2548 </informaltable> | |
| 2549 | |
| 2550 The first column contains the codec names that should be passed after the | |
| 2551 <literal>vcodec</literal> config, | |
| 2552 like: <option>-lavcopts vcodec=msmpeg4</option> | |
| 2553 </para> | |
| 2554 | |
| 2555 <informalexample><para> | |
| 2556 An example with MJPEG compression: | |
| 2557 <screen> | |
| 2558 mencoder dvd://2 -o <replaceable>title2.avi</replaceable> -ovc lavc -lavcopts vcodec=mjpeg -oac copy | |
| 2559 </screen> | |
| 2560 </para></informalexample> | |
| 2561 </sect2> | |
| 2562 | |
| 2563 <!-- ********** --> | |
| 2564 | |
| 2565 <sect2 id="menc-feat-enc-libavcodec-audio-codecs"> | |
| 2566 <title><systemitem class="library">libavcodec</systemitem>'s | |
| 2567 audio codecs</title> | |
| 2568 | |
| 2569 <para> | |
| 2570 <informaltable frame="all"> | |
| 2571 <tgroup cols="2"> | |
| 2572 <thead> | |
| 2573 <row><entry>Audio codec name</entry><entry>Description</entry></row> | |
| 2574 </thead> | |
| 2575 <tbody> | |
| 2576 <row> | |
| 2577 <entry>mp2</entry> | |
| 2578 <entry>MPEG Layer 2</entry> | |
| 2579 </row> | |
| 2580 <row> | |
| 2581 <entry>ac3</entry> | |
| 2582 <entry>AC-3, AKA Dolby Digital</entry> | |
| 2583 </row> | |
| 2584 <row> | |
| 2585 <entry>adpcm_ima_wav</entry> | |
| 2586 <entry>IMA adaptive PCM (4 bits per sample, 4:1 compression)</entry> | |
| 2587 </row> | |
| 2588 <row> | |
| 2589 <entry>sonic</entry> | |
| 2590 <entry>experimental FFmpeg lossy codec</entry> | |
| 2591 </row> | |
| 2592 <row> | |
| 2593 <entry>sonicls</entry> | |
| 2594 <entry>experimental FFmpeg lossless codec</entry> | |
| 2595 </row> | |
| 2596 <row> | |
| 2597 <entry>vorbis</entry> | |
| 2598 <entry>Xiph Ogg Vorbis codec</entry> | |
| 2599 </row> | |
| 2600 <row> | |
| 2601 <entry>wmav1</entry> | |
| 2602 <entry>Windows Media Audio v1 codec</entry> | |
| 2603 </row> | |
| 2604 <row> | |
| 2605 <entry>wmav2</entry> | |
| 2606 <entry>Windows Media Audio v2 codec</entry> | |
| 2607 </row> | |
| 2608 </tbody> | |
| 2609 </tgroup> | |
| 2610 </informaltable> | |
| 2611 | |
| 2612 The first column contains the codec names that should be passed after the | |
| 2613 <literal>acodec</literal> option, like: <option>-lavcopts acodec=ac3</option> | |
| 2614 </para> | |
| 2615 | |
| 2616 <informalexample><para> | |
| 2617 An example with AC-3 compression: | |
| 2618 <screen> | |
| 2619 mencoder dvd://2 -o <replaceable>title2.avi</replaceable> -oac lavc -lavcopts acodec=ac3 -ovc copy | |
| 2620 </screen> | |
| 2621 </para></informalexample> | |
| 2622 | |
| 2623 <para> | |
| 2624 Contrary to <systemitem class="library">libavcodec</systemitem>'s video | |
| 2625 codecs, its audio codecs do not make a wise usage of the bits they are | |
| 2626 given as they lack some minimal psychoacoustic model (if at all) | |
| 2627 which most other codec implementations feature. | |
| 2628 However, note that all these audio codecs are very fast and work | |
| 2629 out-of-the-box everywhere <application>MEncoder</application> has been | |
| 2630 compiled with <systemitem class="library">libavcodec</systemitem> (which | |
| 2631 is the case most of time), and do not depend on external libraries. | |
| 2632 </para> | |
| 2633 </sect2> | |
| 2634 | |
| 2635 <!-- ********** --> | |
| 2636 | |
| 2637 <sect2 id="menc-feat-dvd-mpeg4-lavc-encoding-options"> | |
| 2638 <title>Encoding options of libavcodec</title> | |
| 2639 | |
| 2640 <para> | |
| 2641 Ideally, you would probably want to be able to just tell the encoder to switch | |
| 2642 into "high quality" mode and move on. | |
| 2643 That would probably be nice, but unfortunately hard to implement as different | |
| 2644 encoding options yield different quality results depending on the source | |
| 2645 material. That is because compression depends on the visual properties of the | |
| 2646 video in question. | |
| 2647 For example, anime and live action have very different properties and | |
| 2648 thus require different options to obtain optimum encoding. | |
| 2649 The good news is that some options should never be left out, like | |
| 2650 <option>mbd=2</option>, <option>trell</option>, and <option>v4mv</option>. | |
| 2651 See below for a detailed description of common encoding options. | |
| 2652 </para> | |
| 2653 | |
| 2654 <itemizedlist> | |
| 2655 <title>Options to adjust:</title> | |
| 2656 <listitem><para> | |
| 2657 <emphasis role="bold">vmax_b_frames</emphasis>: 1 or 2 is good, depending on | |
| 2658 the movie. | |
| 2659 Note that if you need to have your encode be decodable by DivX5, you | |
| 2660 need to activate closed GOP support, using | |
| 2661 <systemitem class="library">libavcodec</systemitem>'s <option>cgop</option> | |
| 2662 option, but you need to deactivate scene detection, which | |
| 2663 is not a good idea as it will hurt encode efficiency a bit. | |
| 2664 </para></listitem> | |
| 2665 <listitem><para> | |
| 2666 <emphasis role="bold">vb_strategy=1</emphasis>: helps in high-motion scenes. | |
| 2667 On some videos, vmax_b_frames may hurt quality, but vmax_b_frames=2 along | |
| 2668 with vb_strategy=1 helps. | |
| 2669 </para></listitem> | |
| 2670 <listitem><para> | |
| 2671 <emphasis role="bold">dia</emphasis>: motion search range. Bigger is better | |
| 2672 and slower. | |
| 2673 Negative values are a completely different scale. | |
| 2674 Good values are -1 for a fast encode, or 2-4 for slower. | |
| 2675 </para></listitem> | |
| 2676 <listitem><para> | |
| 2677 <emphasis role="bold">predia</emphasis>: motion search pre-pass. | |
| 2678 Not as important as dia. Good values are 1 (default) to 4. Requires preme=2 | |
| 2679 to really be useful. | |
| 2680 </para></listitem> | |
| 2681 <listitem><para> | |
| 2682 <emphasis role="bold">cmp, subcmp, precmp</emphasis>: Comparison function for | |
| 2683 motion estimation. | |
| 2684 Experiment with values of 0 (default), 2 (hadamard), 3 (dct), and 6 (rate | |
| 2685 distortion). | |
| 2686 0 is fastest, and sufficient for precmp. | |
| 2687 For cmp and subcmp, 2 is good for anime, and 3 is good for live action. | |
| 2688 6 may or may not be slightly better, but is slow. | |
| 2689 </para></listitem> | |
| 2690 <listitem><para> | |
| 2691 <emphasis role="bold">last_pred</emphasis>: Number of motion predictors to | |
| 2692 take from the previous frame. | |
| 2693 1-3 or so help at little speed cost. | |
| 2694 Higher values are slow for no extra gain. | |
| 2695 </para></listitem> | |
| 2696 <listitem><para> | |
| 2697 <emphasis role="bold">cbp, mv0</emphasis>: Controls the selection of | |
| 2698 macroblocks. Small speed cost for small quality gain. | |
| 2699 </para></listitem> | |
| 2700 <listitem><para> | |
| 2701 <emphasis role="bold">qprd</emphasis>: adaptive quantization based on the | |
| 2702 macroblock's complexity. | |
| 2703 May help or hurt depending on the video and other options. | |
| 2704 This can cause artifacts unless you set vqmax to some reasonably small value | |
| 2705 (6 is good, maybe as low as 4); vqmin=1 should also help. | |
| 2706 </para></listitem> | |
| 2707 <listitem><para> | |
| 2708 <emphasis role="bold">qns</emphasis>: very slow, especially when combined | |
| 2709 with qprd. | |
| 2710 This option will make the encoder minimize noise due to compression | |
| 2711 artifacts instead of making the encoded video strictly match the source. | |
| 2712 Do not use this unless you have already tweaked everything else as far as it | |
| 2713 will go and the results still are not good enough. | |
| 2714 </para></listitem> | |
| 2715 <listitem><para> | |
| 2716 <emphasis role="bold">vqcomp</emphasis>: Tweak ratecontrol. | |
| 2717 What values are good depends on the movie. | |
| 2718 You can safely leave this alone if you want. | |
| 2719 Reducing vqcomp puts more bits on low-complexity scenes, increasing it puts | |
| 2720 them on high-complexity scenes (default: 0.5, range: 0-1. recommended range: | |
| 2721 0.5-0.7). | |
| 2722 </para></listitem> | |
| 2723 <listitem><para> | |
| 2724 <emphasis role="bold">vlelim, vcelim</emphasis>: Sets the single coefficient | |
| 2725 elimination threshold for luminance and chroma planes. | |
| 2726 These are encoded separately in all MPEG-like algorithms. | |
| 2727 The idea behind these options is to use some good heuristics to determine | |
| 2728 when the change in a block is less than the threshold you specify, and in | |
| 2729 such a case, to just encode the block as "no change". | |
| 2730 This saves bits and perhaps speeds up encoding. vlelim=-4 and vcelim=9 | |
| 2731 seem to be good for live movies, but seem not to help with anime; | |
| 2732 when encoding animation, you should probably leave them unchanged. | |
| 2733 </para></listitem> | |
| 2734 <listitem><para> | |
| 2735 <emphasis role="bold">qpel</emphasis>: Quarter pixel motion estimation. | |
| 2736 MPEG-4 uses half pixel precision for its motion search by default, | |
| 2737 therefore this option comes with an overhead as more information will be | |
| 2738 stored in the encoded file. | |
| 2739 The compression gain/loss depends on the movie, but it is usually not very | |
| 2740 effective on anime. | |
| 2741 qpel always incurs a significant cost in CPU decode time (+25% in | |
| 2742 practice). | |
| 2743 </para></listitem> | |
| 2744 <listitem><para> | |
| 2745 <emphasis role="bold">psnr</emphasis>: does not affect the actual encoding, | |
| 2746 but writes a log file giving the type/size/quality of each frame, and | |
| 2747 prints a summary of PSNR (Peak Signal to Noise Ratio) at the end. | |
| 2748 </para></listitem> | |
| 2749 </itemizedlist> | |
| 2750 | |
| 2751 <itemizedlist> | |
| 2752 <title>Options not recommended to play with:</title> | |
| 2753 <listitem><para> | |
| 2754 <emphasis role="bold">vme</emphasis>: The default is best. | |
| 2755 </para></listitem> | |
| 2756 <listitem><para> | |
| 2757 <emphasis role="bold">lumi_mask, dark_mask</emphasis>: Psychovisual adaptive | |
| 2758 quantization. | |
| 2759 You do not want to play with those options if you care about quality. | |
| 2760 Reasonable values may be effective in your case, but be warned this is very | |
| 2761 subjective. | |
| 2762 </para></listitem> | |
| 2763 <listitem><para> | |
| 2764 <emphasis role="bold">scplx_mask</emphasis>: Tries to prevent blocky | |
| 2765 artifacts, but postprocessing is better. | |
| 2766 </para></listitem> | |
| 2767 </itemizedlist> | |
| 2768 </sect2> | |
| 2769 | |
| 2770 <!-- ********** --> | |
| 2771 | |
| 2772 <sect2 id="menc-feat-mpeg4-lavc-example-settings"> | |
| 2773 <title>Encoding setting examples</title> | |
| 2774 | |
| 2775 <para> | |
| 2776 The following settings are examples of different encoding | |
| 2777 option combinations that affect the speed vs quality tradeoff | |
| 2778 at the same target bitrate. | |
| 2779 </para> | |
| 2780 | |
| 2781 <para> | |
| 2782 All the encoding settings were tested on a 720x448 @30000/1001 fps | |
| 2783 video sample, the target bitrate was 900kbps, and the machine was an | |
| 2784 AMD-64 3400+ at 2400 MHz in 64 bits mode. | |
| 2785 Each encoding setting features the measured encoding speed (in | |
| 2786 frames per second) and the PSNR loss (in dB) compared to the "very | |
| 2787 high quality" setting. | |
| 2788 Please understand that depending on your source, your machine type | |
| 2789 and development advancements, you may get very different results. | |
| 2790 </para> | |
| 2791 | |
| 2792 <para> | |
| 2793 <informaltable frame="all"> | |
| 2794 <tgroup cols="4"> | |
| 2795 <thead> | |
| 2796 <row> | |
| 2797 <entry>Description</entry> | |
| 2798 <entry>Encoding options</entry> | |
| 2799 <entry>speed (in fps)</entry> | |
| 2800 <entry>Relative PSNR loss (in dB)</entry> | |
| 2801 </row> | |
| 2802 </thead> | |
| 2803 <tbody> | |
| 2804 <row> | |
| 2805 <entry>Very high quality</entry> | |
| 2806 <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> | |
| 2807 <entry>6fps</entry> | |
| 2808 <entry>0dB</entry> | |
| 2809 </row> | |
| 2810 <row> | |
| 2811 <entry>High quality</entry> | |
| 2812 <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> | |
| 2813 <entry>15fps</entry> | |
| 2814 <entry>-0.5dB</entry> | |
| 2815 </row> | |
| 2816 <row> | |
| 2817 <entry>Fast</entry> | |
| 2818 <entry><option>vcodec=mpeg4:mbd=2:trell:v4mv:turbo</option></entry> | |
| 2819 <entry>42fps</entry> | |
| 2820 <entry>-0.74dB</entry> | |
| 2821 </row> | |
| 2822 <row> | |
| 2823 <entry>Realtime</entry> | |
| 2824 <entry><option>vcodec=mpeg4:mbd=2:turbo</option></entry> | |
| 2825 <entry>54fps</entry> | |
| 2826 <entry>-1.21dB</entry> | |
| 2827 </row> | |
| 2828 </tbody> | |
| 2829 </tgroup> | |
| 2830 </informaltable> | |
| 2831 </para> | |
| 2832 </sect2> | |
| 2833 | |
| 2834 <!-- ********** --> | |
| 2835 | |
| 2836 <sect2 id="custommatrices"> | |
| 2837 <title>Custom inter/intra matrices</title> | |
| 2838 | |
| 2839 <para> | |
| 2840 With this feature of | |
| 2841 <link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link> | |
| 2842 you are able to set custom inter (I-frames/keyframes) and intra | |
| 2843 (P-frames/predicted frames) matrices. It is supported by many of the codecs: | |
| 2844 <systemitem>mpeg1video</systemitem> and <systemitem>mpeg2video</systemitem> | |
| 2845 are reported as working. | |
| 2846 </para> | |
| 2847 | |
| 2848 <para> | |
| 2849 A typical usage of this feature is to set the matrices preferred by the | |
| 2850 <ulink url="http://www.kvcd.net/">KVCD</ulink> specifications. | |
| 2851 </para> | |
| 2852 | |
| 2853 <para> | |
| 2854 The <emphasis role="bold">KVCD "Notch" Quantization Matrix:</emphasis> | |
| 2855 </para> | |
| 2856 | |
| 2857 <para> | |
| 2858 Intra: | |
| 2859 <screen> | |
| 2860 8 9 12 22 26 27 29 34 | |
| 2861 9 10 14 26 27 29 34 37 | |
| 2862 12 14 18 27 29 34 37 38 | |
| 2863 22 26 27 31 36 37 38 40 | |
| 2864 26 27 29 36 39 38 40 48 | |
| 2865 27 29 34 37 38 40 48 58 | |
| 2866 29 34 37 38 40 48 58 69 | |
| 2867 34 37 38 40 48 58 69 79 | |
| 2868 </screen> | |
| 2869 | |
| 2870 Inter: | |
| 2871 <screen> | |
| 2872 16 18 20 22 24 26 28 30 | |
| 2873 18 20 22 24 26 28 30 32 | |
| 2874 20 22 24 26 28 30 32 34 | |
| 2875 22 24 26 30 32 32 34 36 | |
| 2876 24 26 28 32 34 34 36 38 | |
| 2877 26 28 30 32 34 36 38 40 | |
| 2878 28 30 32 34 36 38 42 42 | |
| 2879 30 32 34 36 38 40 42 44 | |
| 2880 </screen> | |
| 2881 </para> | |
| 2882 | |
| 2883 <para> | |
| 2884 Usage: | |
| 2885 <screen> | |
| 2886 mencoder <replaceable>input.avi</replaceable> -o <replaceable>output.avi</replaceable> -oac copy -ovc lavc \ | |
| 2887 -lavcopts inter_matrix=...:intra_matrix=... | |
| 2888 </screen> | |
| 2889 </para> | |
| 2890 | |
| 2891 <para> | |
| 2892 <screen> | |
| 2893 mencoder <replaceable>input.avi</replaceable> -ovc lavc -lavcopts \ | |
| 2894 vcodec=mpeg2video:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,\ | |
| 2895 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,\ | |
| 2896 29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79\ | |
| 2897 :inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,\ | |
| 2898 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,\ | |
| 2899 36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -oac copy -o svcd.mpg | |
| 2900 </screen> | |
| 2901 </para> | |
| 2902 </sect2> | |
| 2903 | |
| 2904 <!-- ********** --> | |
| 2905 | |
| 2906 <sect2 id="menc-feat-dvd-mpeg4-example"> | |
| 2907 <title>Example</title> | |
| 2908 | |
| 2909 <para> | |
| 2910 So, you have just bought your shiny new copy of Harry Potter and the Chamber | |
| 2911 of Secrets (widescreen edition, of course), and you want to rip this DVD | |
| 2912 so that you can add it to your Home Theatre PC. This is a region 1 DVD, | |
| 2913 so it is NTSC. The example below will still apply to PAL, except you will | |
| 2914 omit <option>-ofps 24000/1001</option> (because the output framerate is the | |
| 2915 same as the input framerate), and of course the crop dimensions will be | |
| 2916 different. | |
| 2917 </para> | |
| 2918 | |
| 2919 <para> | |
| 2920 After running <option>mplayer dvd://1</option>, we follow the process | |
| 2921 detailed in the section <link linkend="menc-feat-telecine">How to deal | |
| 2922 with telecine and interlacing in NTSC DVDs</link> and discover that it is | |
| 2923 24000/1001 fps progressive video, which means that we need not use an inverse | |
| 2924 telecine filter, such as <option>pullup</option> or | |
| 2925 <option>filmdint</option>. | |
| 2926 </para> | |
| 2927 | |
| 2928 <para id="menc-feat-dvd-mpeg4-example-crop"> | |
| 2929 Next, we want to determine the appropriate crop rectangle, so we use the | |
| 2930 cropdetect filter: | |
| 2931 <screen>mplayer dvd://1 -vf cropdetect</screen> | |
| 2932 Make sure you seek to a fully filled frame (such as a bright scene, | |
| 2933 past the opening credits and logos), and | |
| 2934 you will see in <application>MPlayer</application>'s console output: | |
| 2935 <screen>crop area: X: 0..719 Y: 57..419 (-vf crop=720:362:0:58)</screen> | |
| 2936 We then play the movie back with this filter to test its correctness: | |
| 2937 <screen>mplayer dvd://1 -vf crop=720:362:0:58</screen> | |
| 2938 And we see that it looks perfectly fine. Next, we ensure the width and | |
| 2939 height are a multiple of 16. The width is fine, however the height is | |
| 2940 not. Since we did not fail 7th grade math, we know that the nearest | |
| 2941 multiple of 16 lower than 362 is 352. | |
| 2942 </para> | |
| 2943 | |
| 2944 <para> | |
| 2945 We could just use <option>crop=720:352:0:58</option>, but it would be nice | |
| 2946 to take a little off the top and a little off the bottom so that we | |
| 2947 retain the center. We have shrunk the height by 10 pixels, but we do not | |
| 2948 want to increase the y-offset by 5-pixels since that is an odd number and | |
| 2949 will adversely affect quality. Instead, we will increase the y-offset by | |
| 2950 4 pixels: | |
| 2951 <screen>mplayer dvd://1 -vf crop=720:352:0:62</screen> | |
| 2952 Another reason to shave pixels from both the top and the bottom is that we | |
| 2953 ensure we have eliminated any half-black pixels if they exist. Note that if | |
| 2954 your video is telecined, make sure the <option>pullup</option> filter (or | |
| 2955 whichever inverse telecine filter you decide to use) appears in the filter | |
| 2956 chain before you crop. If it is interlaced, deinterlace before cropping. | |
| 2957 (If you choose to preserve the interlaced video, then make sure your | |
| 2958 vertical crop offset is a multiple of 4.) | |
| 2959 </para> | |
| 2960 | |
| 2961 <para> | |
| 2962 If you are really concerned about losing those 10 pixels, you might | |
| 2963 prefer instead to scale the dimensions down to the nearest multiple of 16. | |
| 2964 The filter chain would look like: | |
| 2965 <screen>-vf crop=720:362:0:58,scale=720:352</screen> | |
| 2966 Scaling the video down like this will mean that some small amount of | |
| 2967 detail is lost, though it probably will not be perceptible. Scaling up will | |
| 2968 result in lower quality (unless you increase the bitrate). Cropping | |
| 2969 discards those pixels altogether. It is a tradeoff that you will want to | |
| 2970 consider for each circumstance. For example, if the DVD video was made | |
| 2971 for television, you might want to avoid vertical scaling, since the line | |
| 2972 sampling corresponds to the way the content was originally recorded. | |
| 2973 </para> | |
| 2974 | |
| 2975 <para> | |
| 2976 On inspection, we see that our movie has a fair bit of action and high | |
| 2977 amounts of detail, so we pick 2400Kbit for our bitrate. | |
| 2978 </para> | |
| 2979 | |
| 2980 <para> | |
| 2981 We are now ready to do the two pass encode. Pass one: | |
| 2982 <screen> | |
| 2983 mencoder dvd://1 -ofps 24000/1001 -oac copy -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \ | |
| 2984 -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=1 \ | |
| 2985 -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2 | |
| 2986 </screen> | |
| 2987 And pass two is the same, except that we specify <option>vpass=2</option>: | |
| 2988 <screen> | |
| 2989 mencoder dvd://1 -ofps 24000/1001 -oac copy -o <replaceable>Harry_Potter_2.avi</replaceable> -ovc lavc \ | |
| 2990 -lavcopts vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:autoaspect:vpass=2 \ | |
| 2991 -vf pullup,softskip,crop=720:352:0:62,hqdn3d=2:1:2 | |
| 2992 </screen> | |
| 2993 </para> | |
| 2994 | |
| 2995 <para> | |
| 2996 The options <option>v4mv:mbd=2:trell</option> will greatly increase the | |
| 2997 quality at the expense of encoding time. There is little reason to leave | |
| 2998 these options out when the primary goal is quality. The options | |
| 2999 <option>cmp=3:subcmp=3</option> select a comparison function that | |
| 3000 yields higher quality than the defaults. You might try experimenting with | |
| 3001 this parameter (refer to the man page for the possible values) as | |
| 3002 different functions can have a large impact on quality depending on the | |
| 3003 source material. For example, if you find | |
| 3004 <systemitem class="library">libavcodec</systemitem> produces too much | |
| 3005 blocky artifacting, you could try selecting the experimental NSSE as | |
| 3006 comparison function via <option>*cmp=10</option>. | |
| 3007 </para> | |
| 3008 | |
| 3009 <para> | |
| 3010 For this movie, the resulting AVI will be 138 minutes long and nearly | |
| 3011 3GB. And because you said that file size does not matter, this is a | |
| 3012 perfectly acceptable size. However, if you had wanted it smaller, you | |
| 3013 could try a lower bitrate. Increasing bitrates have diminishing | |
| 3014 returns, so while we might clearly see an improvement from 1800Kbit to | |
| 3015 2000Kbit, it might not be so noticeable above 2000Kbit. Feel | |
| 3016 free to experiment until you are happy. | |
| 3017 </para> | |
| 3018 | |
| 3019 <para> | |
| 3020 Because we passed the source video through a denoise filter, you may want | |
| 3021 to add some of it back during playback. This, along with the | |
| 3022 <option>spp</option> post-processing filter, drastically improves the | |
| 3023 perception of quality and helps eliminate blocky artifacts in the video. | |
| 3024 With <application>MPlayer</application>'s <option>autoq</option> option, | |
| 3025 you can vary the amount of post-processing done by the spp filter | |
| 3026 depending on available CPU. Also, at this point, you may want to apply | |
| 3027 gamma and/or color correction to best suit your display. For example: | |
| 3028 <screen> | |
| 3029 mplayer <replaceable>Harry_Potter_2.avi</replaceable> -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3 | |
| 3030 </screen> | |
| 3031 </para> | |
| 3032 </sect2> | |
| 3033 </sect1> | |
| 3034 | |
| 3035 | |
| 3036 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> | |
| 3037 | |
| 3038 | |
| 3039 <sect1 id="menc-feat-xvid"> | |
| 3040 <title>Encoding with the <systemitem class="library">Xvid</systemitem> | |
| 3041 codec</title> | |
| 3042 | |
| 3043 <para> | |
| 3044 <systemitem class="library">Xvid</systemitem> is a free library for | |
| 3045 encoding MPEG-4 ASP video streams. | |
| 3046 Before starting to encode, you need to <link linkend="xvid"> | |
| 3047 set up <application>MEncoder</application> to support it</link>. | |
| 3048 </para> | |
| 3049 | |
| 3050 <para> | |
| 3051 This guide mainly aims at featuring the same kind of information | |
| 3052 as x264's encoding guide. | |
| 3053 Therefore, please begin by reading | |
| 3054 <link linkend="menc-feat-x264-encoding-options-intro">the first part</link> | |
| 3055 of that guide. | |
| 3056 </para> | |
| 3057 | |
| 3058 <!-- ********** --> | |
| 3059 | |
| 3060 <sect2 id="menc-feat-xvid-intro"> | |
| 3061 <title>What options should I use to get the best results?</title> | |
| 3062 | |
| 3063 <para> | |
| 3064 Please begin by reviewing the | |
| 3065 <systemitem class="library">Xvid</systemitem> section of | |
| 3066 <application>MPlayer</application>'s man page. | |
| 3067 This section is intended to be a supplement to the man page. | |
| 3068 </para> | |
| 3069 | |
| 3070 <para> | |
| 3071 The Xvid default settings are already a good tradeoff between | |
| 3072 speed and quality, therefore you can safely stick to them if | |
| 3073 the following section puzzles you. | |
| 3074 </para> | |
| 3075 </sect2> | |
| 3076 | |
| 3077 <!-- ********** --> | |
| 3078 | |
| 3079 <sect2 id="menc-feat-xvid-encoding-options"> | |
| 3080 <title>Encoding options of <systemitem class="library">Xvid</systemitem></title> | |
| 3081 | |
| 3082 <itemizedlist> | |
| 3083 <listitem><para> | |
| 3084 <emphasis role="bold">vhq</emphasis> | |
| 3085 This setting affects the macroblock decision algorithm, where the | |
| 3086 higher the setting, the wiser the decision. | |
| 3087 The default setting may be safely used for every encode, while | |
| 3088 higher settings always help PSNR but are significantly slower. | |
| 3089 Please note that a better PSNR does not necessarily mean | |
| 3090 that the picture will look better, but tells you that it is | |
| 3091 closer to the original. | |
| 3092 Turning it off will noticeably speed up encoding; if speed is | |
| 3093 critical for you, the tradeoff may be worth it. | |
| 3094 </para></listitem> | |
| 3095 <listitem><para> | |
| 3096 <emphasis role="bold">bvhq</emphasis> | |
| 3097 This does the same job as vhq, but does it on B-frames. | |
| 3098 It has a negligible impact on speed, and slightly improves quality | |
| 3099 (around +0.1dB PSNR). | |
| 3100 </para></listitem> | |
| 3101 <listitem><para> | |
| 3102 <emphasis role="bold">max_bframes</emphasis> | |
| 3103 A higher number of consecutive allowed B-frames usually improves | |
| 3104 compressibility, although it may also lead to more blocking artifacts. | |
| 3105 The default setting is a good tradeoff between compressibility and | |
| 3106 quality, but you may increase it up to 3 if you are bitrate-starved. | |
| 3107 You may also decrease it to 1 or 0 if you are aiming at perfect | |
| 3108 quality, though in that case you should make sure your | |
| 3109 target bitrate is high enough to ensure that the encoder does not | |
| 3110 have to increase quantizers to reach it. | |
| 3111 </para></listitem> | |
| 3112 <listitem><para> | |
| 3113 <emphasis role="bold">bf_threshold</emphasis> | |
| 3114 This controls the B-frame sensitivity of the encoder, where a higher | |
| 3115 value leads to more B-frames being used (and vice versa). | |
| 3116 This setting is to be used together with <option>max_bframes</option>; | |
| 3117 if you are bitrate-starved, you should increase both | |
| 3118 <option>max_bframes</option> and <option>bf_threshold</option>, | |
| 3119 while you may increase <option>max_bframes</option> and reduce | |
| 3120 <option>bf_threshold</option> so that the encoder may use more | |
| 3121 B-frames in places that only <emphasis role="bold">really</emphasis> | |
| 3122 need them. | |
| 3123 A low number of <option>max_bframes</option> and a high value of | |
| 3124 <option>bf_threshold</option> is probably not a wise choice as it | |
| 3125 will force the encoder to put B-frames in places that would not | |
| 3126 benefit from them, therefore reducing visual quality. | |
| 3127 However, if you need to be compatible with standalone players that | |
| 3128 only support old DivX profiles (which only supports up to 1 | |
| 3129 consecutive B-frame), this would be your only way to | |
| 3130 increase compressibility through using B-frames. | |
| 3131 </para></listitem> | |
| 3132 <listitem><para> | |
| 3133 <emphasis role="bold">trellis</emphasis> | |
| 3134 Optimizes the quantization process to get an optimal tradeoff | |
| 3135 between PSNR and bitrate, which allows significant bit saving. | |
| 3136 These bits will in return be spent elsewhere on the video, | |
| 3137 raising overall visual quality. | |
| 3138 You should always leave it on as its impact on quality is huge. | |
| 3139 Even if you are looking for speed, do not disable it until you | |
| 3140 have turned down <option>vhq</option> and all other more | |
| 3141 CPU-hungry options to the minimum. | |
| 3142 </para></listitem> | |
| 3143 <listitem><para> | |
| 3144 <emphasis role="bold">hq_ac</emphasis> | |
| 3145 Activates a better coefficient cost estimation method, which slightly | |
| 3146 reduces filesize by around 0.15 to 0.19% (which corresponds to less | |
| 3147 than 0.01dB PSNR increase), while having a negligible impact on speed. | |
| 3148 It is therefore recommended to always leave it on. | |
| 3149 </para></listitem> | |
| 3150 <listitem><para> | |
| 3151 <emphasis role="bold">cartoon</emphasis> | |
| 3152 Designed to better encode cartoon content, and has no impact on | |
| 3153 speed as it just tunes the mode decision heuristics for this type | |
| 3154 of content. | |
| 3155 </para></listitem> | |
| 3156 <listitem> | |
| 3157 <para> | |
| 3158 <emphasis role="bold">me_quality</emphasis> | |
| 3159 This setting is to control the precision of the motion estimation. | |
| 3160 The higher <option>me_quality</option>, the more | |
| 3161 precise the estimation of the original motion will be, and the | |
| 3162 better the resulting clip will capture the original motion. | |
| 3163 </para> | |
| 3164 <para> | |
| 3165 The default setting is best in all cases; | |
| 3166 thus it is not recommended to turn it down unless you are | |
| 3167 really looking for speed, as all the bits saved by a good motion | |
| 3168 estimation would be spent elsewhere, raising overall quality. | |
| 3169 Therefore, do not go any lower than 5, and even that only as a last | |
| 3170 resort. | |
| 3171 </para> | |
| 3172 </listitem> | |
| 3173 <listitem><para> | |
| 3174 <emphasis role="bold">chroma_me</emphasis> | |
| 3175 Improves motion estimation by also taking the chroma (color) | |
| 3176 information into account, whereas <option>me_quality</option> | |
| 3177 alone only uses luma (grayscale). | |
| 3178 This slows down encoding by 5-10% but improves visual quality | |
| 3179 quite a bit by reducing blocking effects and reduces filesize by | |
| 3180 around 1.3%. | |
| 3181 If you are looking for speed, you should disable this option before | |
| 3182 starting to consider reducing <option>me_quality</option>. | |
| 3183 </para></listitem> | |
| 3184 <listitem><para> | |
| 3185 <emphasis role="bold">chroma_opt</emphasis> | |
| 3186 Is intended to increase chroma image quality around pure | |
| 3187 white/black edges, rather than improving compression. | |
| 3188 This can help to reduce the "red stairs" effect. | |
| 3189 </para></listitem> | |
| 3190 <listitem><para> | |
| 3191 <emphasis role="bold">lumi_mask</emphasis> | |
| 3192 Tries to give less bitrate to part of the picture that the | |
| 3193 human eye cannot see very well, which should allow the encoder | |
| 3194 to spend the saved bits on more important parts of the picture. | |
| 3195 The quality of the encode yielded by this option highly depends | |
| 3196 on personal preferences and on the type and monitor settings | |
| 3197 used to watch it (typically, it will not look as good if it is | |
| 3198 bright or if it is a TFT monitor). | |
| 3199 </para></listitem> | |
| 3200 <listitem> | |
| 3201 <para> | |
| 3202 <emphasis role="bold">qpel</emphasis> | |
| 3203 Raise the number of candidate motion vectors by increasing | |
| 3204 the precision of the motion estimation from halfpel to | |
| 3205 quarterpel. | |
| 3206 The idea is to find better motion vectors which will in return | |
| 3207 reduce bitrate (hence increasing quality). | |
| 3208 However, motion vectors with quarterpel precision require a | |
| 3209 few extra bits to code, but the candidate vectors do not always | |
| 3210 give (much) better results. | |
| 3211 Quite often, the codec still spends bits on the extra precision, | |
| 3212 but little or no extra quality is gained in return. | |
| 3213 Unfortunately, there is no way to foresee the possible gains of | |
| 3214 <option>qpel</option>, so you need to actually encode with and | |
| 3215 without it to know for sure. | |
| 3216 </para> | |
| 3217 <para> | |
| 3218 <option>qpel</option> can be almost double encoding time, and | |
| 3219 requires as much as 25% more processing power to decode. | |
| 3220 It is not supported by all standalone players. | |
| 3221 </para> | |
| 3222 </listitem> | |
| 3223 <listitem><para> | |
| 3224 <emphasis role="bold">gmc</emphasis> | |
| 3225 Tries to save bits on panning scenes by using a single motion | |
| 3226 vector for the whole frame. | |
| 3227 This almost always raises PSNR, but significantly slows down | |
| 3228 encoding (as well as decoding). | |
| 3229 Therefore, you should only use it when you have turned | |
| 3230 <option>vhq</option> to the maximum. | |
| 3231 <systemitem class="library">Xvid</systemitem>'s GMC is more | |
| 3232 sophisticated than DivX's, but is only supported by few | |
| 3233 standalone players. | |
| 3234 </para></listitem> | |
| 3235 </itemizedlist> | |
| 3236 </sect2> | |
| 3237 | |
| 3238 <!-- ********** --> | |
| 3239 | |
| 3240 <sect2 id="menc-feat-xvid-encoding-profiles"> | |
| 3241 <title>Encoding profiles</title> | |
| 3242 | |
| 3243 <para> | |
| 3244 Xvid supports encoding profiles through the <option>profile</option> option, | |
| 3245 which are used to impose restrictions on the properties of the Xvid video | |
| 3246 stream such that it will be playable on anything which supports the | |
| 3247 chosen profile. | |
| 3248 The restrictions relate to resolutions, bitrates and certain MPEG-4 | |
| 3249 features. | |
| 3250 The following table shows what each profile supports. | |
| 3251 </para> | |
| 3252 | |
| 3253 <informaltable> | |
| 3254 <tgroup cols="16" align="center"> | |
| 3255 <colspec colnum="1" colname="col1"/> | |
| 3256 <colspec colnum="2" colname="col2"/> | |
| 3257 <colspec colnum="3" colname="col3"/> | |
| 3258 <colspec colnum="4" colname="col4"/> | |
| 3259 <colspec colnum="5" colname="col5"/> | |
| 3260 <colspec colnum="6" colname="col6"/> | |
| 3261 <colspec colnum="7" colname="col7"/> | |
| 3262 <colspec colnum="8" colname="col8"/> | |
| 3263 <colspec colnum="9" colname="col9"/> | |
| 3264 <colspec colnum="10" colname="col10"/> | |
| 3265 <colspec colnum="11" colname="col11"/> | |
| 3266 <colspec colnum="12" colname="col12"/> | |
| 3267 <colspec colnum="13" colname="col13"/> | |
| 3268 <colspec colnum="14" colname="col14"/> | |
| 3269 <colspec colnum="15" colname="col15"/> | |
| 3270 <colspec colnum="16" colname="col16"/> | |
| 3271 <colspec colnum="17" colname="col17"/> | |
| 3272 <spanspec spanname="spa2-5" namest="col2" nameend="col5"/> | |
| 3273 <spanspec spanname="spa6-11" namest="col6" nameend="col11"/> | |
| 3274 <spanspec spanname="spa12-17" namest="col12" nameend="col17"/> | |
| 3275 <tbody> | |
| 3276 <row> | |
| 3277 <entry></entry> | |
| 3278 <entry spanname="spa2-5">Simple</entry> | |
| 3279 <entry spanname="spa6-11">Advanced Simple</entry> | |
| 3280 <entry spanname="spa12-17">DivX</entry> | |
| 3281 </row> | |
| 3282 <row> | |
| 3283 <entry>Profile name</entry> | |
| 3284 <entry>0</entry> | |
| 3285 <entry>1</entry> | |
| 3286 <entry>2</entry> | |
| 3287 <entry>3</entry> | |
| 3288 <entry>0</entry> | |
| 3289 <entry>1</entry> | |
| 3290 <entry>2</entry> | |
| 3291 <entry>3</entry> | |
| 3292 <entry>4</entry> | |
| 3293 <entry>5</entry> | |
| 3294 <entry>Handheld</entry> | |
| 3295 <entry>Portable NTSC</entry> | |
| 3296 <entry>Portable PAL</entry> | |
| 3297 <entry>Home Theater NTSC</entry> | |
| 3298 <entry>Home Theater PAL</entry> | |
| 3299 <entry>HDTV</entry> | |
| 3300 </row> | |
| 3301 <row> | |
| 3302 <entry>Width [pixels]</entry> | |
| 3303 <entry>176</entry> | |
| 3304 <entry>176</entry> | |
| 3305 <entry>352</entry> | |
| 3306 <entry>352</entry> | |
| 3307 <entry>176</entry> | |
| 3308 <entry>176</entry> | |
| 3309 <entry>352</entry> | |
| 3310 <entry>352</entry> | |
| 3311 <entry>352</entry> | |
| 3312 <entry>720</entry> | |
| 3313 <entry>176</entry> | |
| 3314 <entry>352</entry> | |
| 3315 <entry>352</entry> | |
| 3316 <entry>720</entry> | |
| 3317 <entry>720</entry> | |
| 3318 <entry>1280</entry> | |
| 3319 </row> | |
| 3320 <row> | |
| 3321 <entry>Height [pixels]</entry> | |
| 3322 <entry>144</entry> | |
| 3323 <entry>144</entry> | |
| 3324 <entry>288</entry> | |
| 3325 <entry>288</entry> | |
| 3326 <entry>144</entry> | |
| 3327 <entry>144</entry> | |
| 3328 <entry>288</entry> | |
| 3329 <entry>288</entry> | |
| 3330 <entry>576</entry> | |
| 3331 <entry>576</entry> | |
| 3332 <entry>144</entry> | |
| 3333 <entry>240</entry> | |
| 3334 <entry>288</entry> | |
| 3335 <entry>480</entry> | |
| 3336 <entry>576</entry> | |
| 3337 <entry>720</entry> | |
| 3338 </row> | |
| 3339 <row> | |
| 3340 <entry>Frame rate [fps]</entry> | |
| 3341 <entry>15</entry> | |
| 3342 <entry>15</entry> | |
| 3343 <entry>15</entry> | |
| 3344 <entry>15</entry> | |
| 3345 <entry>30</entry> | |
| 3346 <entry>30</entry> | |
| 3347 <entry>15</entry> | |
| 3348 <entry>30</entry> | |
| 3349 <entry>30</entry> | |
| 3350 <entry>30</entry> | |
| 3351 <entry>15</entry> | |
| 3352 <entry>30</entry> | |
| 3353 <entry>25</entry> | |
| 3354 <entry>30</entry> | |
| 3355 <entry>25</entry> | |
| 3356 <entry>30</entry> | |
| 3357 </row> | |
| 3358 <row> | |
| 3359 <entry>Max average bitrate [kbps]</entry> | |
| 3360 <entry>64</entry> | |
| 3361 <entry>64</entry> | |
| 3362 <entry>128</entry> | |
| 3363 <entry>384</entry> | |
| 3364 <entry>128</entry> | |
| 3365 <entry>128</entry> | |
| 3366 <entry>384</entry> | |
| 3367 <entry>768</entry> | |
| 3368 <entry>3000</entry> | |
| 3369 <entry>8000</entry> | |
| 3370 <entry>537.6</entry> | |
| 3371 <entry>4854</entry> | |
| 3372 <entry>4854</entry> | |
| 3373 <entry>4854</entry> | |
| 3374 <entry>4854</entry> | |
| 3375 <entry>9708.4</entry> | |
| 3376 </row> | |
| 3377 <row> | |
| 3378 <entry>Peak average bitrate over 3 secs [kbps]</entry> | |
| 3379 <entry></entry> | |
| 3380 <entry></entry> | |
| 3381 <entry></entry> | |
| 3382 <entry></entry> | |
| 3383 <entry></entry> | |
| 3384 <entry></entry> | |
| 3385 <entry></entry> | |
| 3386 <entry></entry> | |
| 3387 <entry></entry> | |
| 3388 <entry></entry> | |
| 3389 <entry>800</entry> | |
| 3390 <entry>8000</entry> | |
| 3391 <entry>8000</entry> | |
| 3392 <entry>8000</entry> | |
| 3393 <entry>8000</entry> | |
| 3394 <entry>16000</entry> | |
| 3395 </row> | |
| 3396 <row> | |
| 3397 <entry>Max. B-frames</entry> | |
| 3398 <entry>0</entry> | |
| 3399 <entry>0</entry> | |
| 3400 <entry>0</entry> | |
| 3401 <entry>0</entry> | |
| 3402 <entry></entry> | |
| 3403 <entry></entry> | |
| 3404 <entry></entry> | |
| 3405 <entry></entry> | |
| 3406 <entry></entry> | |
| 3407 <entry></entry> | |
| 3408 <entry>0</entry> | |
| 3409 <entry>1</entry> | |
| 3410 <entry>1</entry> | |
| 3411 <entry>1</entry> | |
| 3412 <entry>1</entry> | |
| 3413 <entry>2</entry> | |
| 3414 </row> | |
| 3415 <row> | |
| 3416 <entry>MPEG quantization</entry> | |
| 3417 <entry></entry> | |
| 3418 <entry></entry> | |
| 3419 <entry></entry> | |
| 3420 <entry></entry> | |
| 3421 <entry>X</entry> | |
| 3422 <entry>X</entry> | |
| 3423 <entry>X</entry> | |
| 3424 <entry>X</entry> | |
| 3425 <entry>X</entry> | |
| 3426 <entry>X</entry> | |
| 3427 <entry></entry> | |
| 3428 <entry></entry> | |
| 3429 <entry></entry> | |
| 3430 <entry></entry> | |
| 3431 <entry></entry> | |
| 3432 <entry></entry> | |
| 3433 </row> | |
| 3434 <row> | |
| 3435 <entry>Adaptive quantization</entry> | |
| 3436 <entry></entry> | |
| 3437 <entry></entry> | |
| 3438 <entry></entry> | |
| 3439 <entry></entry> | |
| 3440 <entry>X</entry> | |
| 3441 <entry>X</entry> | |
| 3442 <entry>X</entry> | |
| 3443 <entry>X</entry> | |
| 3444 <entry>X</entry> | |
| 3445 <entry>X</entry> | |
| 3446 <entry>X</entry> | |
| 3447 <entry>X</entry> | |
| 3448 <entry>X</entry> | |
| 3449 <entry>X</entry> | |
| 3450 <entry>X</entry> | |
| 3451 <entry>X</entry> | |
| 3452 </row> | |
| 3453 <row> | |
| 3454 <entry>Interlaced encoding</entry> | |
| 3455 <entry></entry> | |
| 3456 <entry></entry> | |
| 3457 <entry></entry> | |
| 3458 <entry></entry> | |
| 3459 <entry>X</entry> | |
| 3460 <entry>X</entry> | |
| 3461 <entry>X</entry> | |
| 3462 <entry>X</entry> | |
| 3463 <entry>X</entry> | |
| 3464 <entry>X</entry> | |
| 3465 <entry></entry> | |
| 3466 <entry></entry> | |
| 3467 <entry></entry> | |
| 3468 <entry>X</entry> | |
| 3469 <entry>X</entry> | |
| 3470 <entry>X</entry> | |
| 3471 </row> | |
| 3472 <row> | |
| 3473 <entry>Quaterpixel</entry> | |
| 3474 <entry></entry> | |
| 3475 <entry></entry> | |
| 3476 <entry></entry> | |
| 3477 <entry></entry> | |
| 3478 <entry>X</entry> | |
| 3479 <entry>X</entry> | |
| 3480 <entry>X</entry> | |
| 3481 <entry>X</entry> | |
| 3482 <entry>X</entry> | |
| 3483 <entry>X</entry> | |
| 3484 <entry></entry> | |
| 3485 <entry></entry> | |
| 3486 <entry></entry> | |
| 3487 <entry></entry> | |
| 3488 <entry></entry> | |
| 3489 <entry></entry> | |
| 3490 </row> | |
| 3491 <row> | |
| 3492 <entry>Global motion compensation</entry> | |
| 3493 <entry></entry> | |
| 3494 <entry></entry> | |
| 3495 <entry></entry> | |
| 3496 <entry></entry> | |
| 3497 <entry>X</entry> | |
| 3498 <entry>X</entry> | |
| 3499 <entry>X</entry> | |
| 3500 <entry>X</entry> | |
| 3501 <entry>X</entry> | |
| 3502 <entry>X</entry> | |
| 3503 <entry></entry> | |
| 3504 <entry></entry> | |
| 3505 <entry></entry> | |
| 3506 <entry></entry> | |
| 3507 <entry></entry> | |
| 3508 <entry></entry> | |
| 3509 </row> | |
| 3510 </tbody> | |
| 3511 </tgroup> | |
| 3512 </informaltable> | |
| 3513 </sect2> | |
| 3514 | |
| 3515 <!-- ********** --> | |
| 3516 | |
| 3517 <sect2 id="menc-feat-xvid-example-settings"> | |
| 3518 <title>Encoding setting examples</title> | |
| 3519 | |
| 3520 <para> | |
| 3521 The following settings are examples of different encoding | |
| 3522 option combinations that affect the speed vs quality tradeoff | |
| 3523 at the same target bitrate. | |
| 3524 </para> | |
| 3525 | |
| 3526 <para> | |
| 3527 All the encoding settings were tested on a 720x448 @30000/1001 fps | |
| 3528 video sample, the target bitrate was 900kbps, and the machine was an | |
| 3529 AMD-64 3400+ at 2400 MHz in 64 bits mode. | |
| 3530 Each encoding setting features the measured encoding speed (in | |
| 3531 frames per second) and the PSNR loss (in dB) compared to the "very | |
| 3532 high quality" setting. | |
| 3533 Please understand that depending on your source, your machine type | |
| 3534 and development advancements, you may get very different results. | |
| 3535 </para> | |
| 3536 | |
| 3537 <informaltable frame="all"> | |
| 3538 <tgroup cols="4"> | |
| 3539 <thead> | |
| 3540 <row><entry>Description</entry><entry>Encoding options</entry><entry>speed (in fps)</entry><entry>Relative PSNR loss (in dB)</entry></row> | |
| 3541 </thead> | |
| 3542 <tbody> | |
| 3543 <row> | |
| 3544 <entry>Very high quality</entry> | |
| 3545 <entry><option>chroma_opt:vhq=4:bvhq=1:quant_type=mpeg</option></entry> | |
| 3546 <entry>16fps</entry> | |
| 3547 <entry>0dB</entry> | |
| 3548 </row> | |
| 3549 <row> | |
| 3550 <entry>High quality</entry> | |
| 3551 <entry><option>vhq=2:bvhq=1:chroma_opt:quant_type=mpeg</option></entry> | |
| 3552 <entry>18fps</entry> | |
| 3553 <entry>-0.1dB</entry> | |
| 3554 </row> | |
| 3555 <row> | |
| 3556 <entry>Fast</entry> | |
| 3557 <entry><option>turbo:vhq=0</option></entry> | |
| 3558 <entry>28fps</entry> | |
| 3559 <entry>-0.69dB</entry> | |
| 3560 </row> | |
| 3561 <row> | |
| 3562 <entry>Realtime</entry> | |
| 3563 <entry><option>turbo:nochroma_me:notrellis:max_bframes=0:vhq=0</option></entry> | |
| 3564 <entry>38fps</entry> | |
| 3565 <entry>-1.48dB</entry> | |
| 3566 </row> | |
| 3567 </tbody> | |
| 3568 </tgroup> | |
| 3569 </informaltable> | |
| 3570 </sect2> | |
| 3571 </sect1> | |
| 3572 | |
| 3573 | |
| 3574 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> | |
| 3575 | |
| 3576 | |
| 3577 <sect1 id="menc-feat-x264"> | |
| 3578 <title>Encoding with the | |
| 3579 <systemitem class="library">x264</systemitem> codec</title> | |
| 3580 | |
| 3581 <para> | |
| 3582 <systemitem class="library">x264</systemitem> is a free library for | |
| 3583 encoding H.264/AVC video streams. | |
| 3584 Before starting to encode, you need to | |
| 3585 <link linkend="codec-x264-encode">set up <application>MEncoder</application> to support it</link>. | |
| 3586 </para> | |
| 3587 | |
| 3588 <!-- ********** --> | |
| 3589 | |
| 3590 <sect2 id="menc-feat-x264-encoding-options"> | |
| 3591 <title>Encoding options of x264</title> | |
| 3592 | |
| 3593 <para> | |
| 3594 Please begin by reviewing the | |
| 3595 <systemitem class="library">x264</systemitem> section of | |
| 3596 <application>MPlayer</application>'s man page. | |
| 3597 This section is intended to be a supplement to the man page. | |
| 3598 Here you will find quick hints about which options are most | |
| 3599 likely to interest most people. The man page is more terse, | |
| 3600 but also more exhaustive, and it sometimes offers much better | |
| 3601 technical detail. | |
| 3602 </para> | |
| 3603 | |
| 3604 | |
| 3605 <sect3 id="menc-feat-x264-encoding-options-intro"> | |
| 3606 <title>Introduction</title> | |
| 3607 | |
| 3608 <para> | |
| 3609 This guide considers two major categories of encoding options: | |
| 3610 </para> | |
| 3611 | |
| 3612 <orderedlist> | |
| 3613 <listitem><para> | |
| 3614 Options which mainly trade off encoding time vs. quality | |
| 3615 </para></listitem> | |
| 3616 <listitem><para> | |
| 3617 Options which may be useful for fulfilling various personal | |
| 3618 preferences and special requirements | |
| 3619 </para></listitem> | |
| 3620 </orderedlist> | |
| 3621 | |
| 3622 <para> | |
| 3623 Ultimately, only you can decide which options are best for your | |
| 3624 purposes. The decision for the first class of options is the simplest: | |
| 3625 you only have to decide whether you think the quality differences | |
| 3626 justify the speed differences. For the second class of options, | |
| 3627 preferences may be far more subjective, and more factors may be | |
| 3628 involved. Note that some of the "personal preferences and special | |
| 3629 requirements" options can still have large impacts on speed or quality, | |
| 3630 but that is not what they are primarily useful for. A couple of the | |
| 3631 "personal preference" options may even cause changes that look better | |
| 3632 to some people, but look worse to others. | |
| 3633 </para> | |
| 3634 | |
| 3635 <para> | |
| 3636 Before continuing, you need to understand that this guide uses only one | |
| 3637 quality metric: global PSNR. | |
| 3638 For a brief explanation of what PSNR is, see | |
| 3639 <ulink url="http://en.wikipedia.org/wiki/PSNR">the Wikipedia article on PSNR</ulink>. | |
| 3640 Global PSNR is the last PSNR number reported when you include | |
| 3641 the <option>psnr</option> option in <option>x264encopts</option>. | |
| 3642 Any time you read a claim about PSNR, one of the assumptions | |
| 3643 behind the claim is that equal bitrates are used. | |
| 3644 </para> | |
| 3645 | |
| 3646 <para> | |
| 3647 Nearly all of this guide's comments assume you are using two pass. | |
| 3648 When comparing options, there are two major reasons for using | |
| 3649 two pass encoding. | |
| 3650 First, using two pass often gains around 1dB PSNR, which is a | |
| 3651 very big difference. | |
| 3652 Secondly, testing options by doing direct quality comparisons | |
| 3653 with one pass encodes introduces a major confounding | |
| 3654 factor: bitrate often varies significantly with each encode. | |
| 3655 It is not always easy to tell whether quality changes are due | |
| 3656 mainly to changed options, or if they mostly reflect essentially | |
| 3657 random differences in the achieved bitrate. | |
| 3658 </para> | |
| 3659 </sect3> | |
| 3660 | |
| 3661 | |
| 3662 <sect3 id="menc-feat-x264-encoding-options-speedvquality"> | |
| 3663 <title>Options which primarily affect speed and quality</title> | |
| 3664 | |
| 3665 <itemizedlist> | |
| 3666 <listitem> | |
| 3667 <para> | |
| 3668 <emphasis role="bold">subq</emphasis>: | |
| 3669 Of the options which allow you to trade off speed for quality, | |
| 3670 <option>subq</option> and <option>frameref</option> (see below) are usually | |
| 3671 by far the most important. | |
| 3672 If you are interested in tweaking either speed or quality, these | |
| 3673 are the first options you should consider. | |
| 3674 On the speed dimension, the <option>frameref</option> and | |
| 3675 <option>subq</option> options interact with each other fairly | |
| 3676 strongly. | |
| 3677 Experience shows that, with one reference frame, | |
| 3678 <option>subq=5</option> (the default setting) takes about 35% more time than | |
| 3679 <option>subq=1</option>. | |
| 3680 With 6 reference frames, the penalty grows to over 60%. | |
| 3681 <option>subq</option>'s effect on PSNR seems fairly constant | |
| 3682 regardless of the number of reference frames. | |
| 3683 Typically, <option>subq=5</option> achieves 0.2-0.5 dB higher global | |
| 3684 PSNR in comparison <option>subq=1</option>. | |
| 3685 This is usually enough to be visible. | |
| 3686 </para> | |
| 3687 <para> | |
| 3688 <option>subq=6</option> is slower and yields better quality at a reasonable | |
| 3689 cost. | |
| 3690 In comparison to <option>subq=5</option>, it usually gains 0.1-0.4 dB | |
| 3691 global PSNR with speed costs varying from 25%-100%. | |
| 3692 Unlike other levels of <option>subq</option>, the behavior of | |
| 3693 <option>subq=6</option> does not depend much on <option>frameref</option> | |
| 3694 and <option>me</option>. Instead, the effectiveness of <option>subq=6 | |
| 3695 </option> depends mostly upon the number of B-frames used. In normal | |
| 3696 usage, this means <option>subq=6</option> has a large impact on both speed | |
| 3697 and quality in complex, high motion scenes, but it may not have much effect | |
| 3698 in low-motion scenes. Note that it is still recommended to always set | |
| 3699 <option>bframes</option> to something other than zero (see below). | |
| 3700 </para> | |
| 3701 <para> | |
| 3702 <option>subq=7</option> is the slowest, highest quality mode. | |
| 3703 In comparison to <option>subq=6</option>, it usually gains 0.01-0.05 dB | |
| 3704 global PSNR with speed costs varying from 15%-33%. | |
| 3705 Since the tradeoff encoding time vs. quality is quite low, you should | |
| 3706 only use it if you are after every bit saving and if encoding time is | |
| 3707 not an issue. | |
| 3708 </para> | |
| 3709 </listitem> | |
| 3710 <listitem> | |
| 3711 <para> | |
| 3712 <emphasis role="bold">frameref</emphasis>: | |
| 3713 <option>frameref</option> is set to 1 by default, but this | |
| 3714 should not be taken to imply that it is reasonable to set it to 1. | |
| 3715 Merely raising <option>frameref</option> to 2 gains around | |
| 3716 0.15dB PSNR with a 5-10% speed penalty; this seems like a good tradeoff. | |
| 3717 <option>frameref=3</option> gains around 0.25dB PSNR over | |
| 3718 <option>frameref=1</option>, which should be a visible difference. | |
| 3719 <option>frameref=3</option> is around 15% slower than | |
| 3720 <option>frameref=1</option>. | |
| 3721 Unfortunately, diminishing returns set in rapidly. | |
| 3722 <option>frameref=6</option> can be expected to gain only | |
| 3723 0.05-0.1 dB over <option>frameref=3</option> at an additional | |
| 3724 15% speed penalty. | |
| 3725 Above <option>frameref=6</option>, the quality gains are | |
| 3726 usually very small (although you should keep in mind throughout | |
| 3727 this whole discussion that it can vary quite a lot depending on your source). | |
| 3728 In a fairly typical case, <option>frameref=12</option> | |
| 3729 will improve global PSNR by a tiny 0.02dB over | |
| 3730 <option>frameref=6</option>, at a speed cost of 15%-20%. | |
| 3731 At such high <option>frameref</option> values, the only really | |
| 3732 good thing that can be said is that increasing it even further will | |
| 3733 almost certainly never <emphasis role="bold">harm</emphasis> | |
| 3734 PSNR, but the additional quality benefits are barely even | |
| 3735 measurable, let alone perceptible. | |
| 3736 </para> | |
| 3737 <note><title>Note:</title> | |
| 3738 <para> | |
| 3739 Raising <option>frameref</option> to unnecessarily high values | |
| 3740 <emphasis role="bold">can</emphasis> and | |
| 3741 <emphasis role="bold">usually does</emphasis> | |
| 3742 hurt coding efficiency if you turn CABAC off. | |
| 3743 With CABAC on (the default behavior), the possibility of setting | |
| 3744 <option>frameref</option> "too high" currently seems too remote | |
| 3745 to even worry about, and in the future, optimizations may remove | |
| 3746 the possibility altogether. | |
| 3747 </para></note> | |
| 3748 <para> | |
| 3749 If you care about speed, a reasonable compromise is to use low | |
| 3750 <option>subq</option> and <option>frameref</option> values on | |
| 3751 the first pass, and then raise them on the second pass. | |
| 3752 Typically, this has a negligible negative effect on the final | |
| 3753 quality: You will probably lose well under 0.1dB PSNR, which | |
| 3754 should be much too small of a difference to see. | |
| 3755 However, different values of <option>frameref</option> can | |
| 3756 occasionally affect frametype decision. | |
| 3757 Most likely, these are rare outlying cases, but if you want to | |
| 3758 be pretty sure, consider whether your video has either | |
| 3759 fullscreen repetitive flashing patterns or very large temporary | |
| 3760 occlusions which might force an I-frame. | |
| 3761 Adjust the first-pass <option>frameref</option> so it is large | |
| 3762 enough to contain the duration of the flashing cycle (or occlusion). | |
| 3763 For example, if the scene flashes back and forth between two images | |
| 3764 over a duration of three frames, set the first pass | |
| 3765 <option>frameref</option> to 3 or higher. | |
| 3766 This issue is probably extremely rare in live action video material, | |
| 3767 but it does sometimes come up in video game captures. | |
| 3768 </para> | |
| 3769 </listitem> | |
| 3770 <listitem> | |
| 3771 <para> | |
| 3772 <emphasis role="bold">me</emphasis>: | |
| 3773 This option is for choosing the motion estimation search method. | |
| 3774 Altering this option provides a straightforward quality-vs-speed | |
| 3775 tradeoff. <option>me=dia</option> is only a few percent faster than | |
| 3776 the default search, at a cost of under 0.1dB global PSNR. The | |
| 3777 default setting (<option>me=hex</option>) is a reasonable tradeoff | |
| 3778 between speed and quality. <option>me=umh</option> gains a little under | |
| 3779 0.1dB global PSNR, with a speed penalty that varies depending on | |
| 3780 <option>frameref</option>. At high values of | |
| 3781 <option>frameref</option> (e.g. 12 or so), <option>me=umh</option> | |
| 3782 is about 40% slower than the default <option> me=hex</option>. With | |
| 3783 <option>frameref=3</option>, the speed penalty incurred drops to | |
| 3784 25%-30%. | |
| 3785 </para> | |
| 3786 <para> | |
| 3787 <option>me=esa</option> uses an exhaustive search that is too slow for | |
| 3788 practical use. | |
| 3789 </para> | |
| 3790 </listitem> | |
| 3791 <listitem><para> | |
| 3792 <emphasis role="bold">partitions=all</emphasis>: | |
| 3793 This option enables the use of 8x4, 4x8 and 4x4 subpartitions in | |
| 3794 predicted macroblocks (in addition to the default partitions). | |
| 3795 Enabling it results in a fairly consistent | |
| 3796 10%-15% loss of speed. This option is rather useless in source | |
| 3797 containing only low motion, however in some high-motion source, | |
| 3798 particularly source with lots of small moving objects, gains of | |
| 3799 about 0.1dB can be expected. | |
| 3800 </para></listitem> | |
| 3801 <listitem> | |
| 3802 <para> | |
| 3803 <emphasis role="bold">bframes</emphasis>: | |
| 3804 If you are used to encoding with other codecs, you may have found | |
| 3805 that B-frames are not always useful. | |
| 3806 In H.264, this has changed: there are new techniques and block | |
| 3807 types that are possible in B-frames. | |
| 3808 Usually, even a naive B-frame choice algorithm can have a | |
| 3809 significant PSNR benefit. | |
| 3810 It is interesting to note that using B-frames usually speeds up | |
| 3811 the second pass somewhat, and may also speed up a single | |
| 3812 pass encode if adaptive B-frame decision is turned off. | |
| 3813 </para> | |
| 3814 <para> | |
| 3815 With adaptive B-frame decision turned off | |
| 3816 (<option>x264encopts</option>'s <option>nob_adapt</option>), | |
| 3817 the optimal value for this setting is usually no more than | |
| 3818 <option>bframes=1</option>, or else high-motion scenes can suffer. | |
| 3819 With adaptive B-frame decision on (the default behavior), it is | |
| 3820 safe to use higher values; the encoder will reduce the use of | |
| 3821 B-frames in scenes where they would hurt compression. | |
| 3822 The encoder rarely chooses to use more than 3 or 4 B-frames; | |
| 3823 setting this option any higher will have little effect. | |
| 3824 </para> | |
| 3825 </listitem> | |
| 3826 <listitem> | |
| 3827 <para> | |
| 3828 <emphasis role="bold">b_adapt</emphasis>: | |
| 3829 Note: This is on by default. | |
| 3830 </para> | |
| 3831 <para> | |
| 3832 With this option enabled, the encoder will use a reasonably fast | |
| 3833 decision process to reduce the number of B-frames used in scenes that | |
| 3834 might not benefit from them as much. | |
| 3835 You can use <option>b_bias</option> to tweak how B-frame-happy | |
| 3836 the encoder is. | |
| 3837 The speed penalty of adaptive B-frames is currently rather modest, | |
| 3838 but so is the potential quality gain. | |
| 3839 It usually does not hurt, however. | |
| 3840 Note that this only affects speed and frametype decision on the | |
| 3841 first pass. | |
| 3842 <option>b_adapt</option> and <option>b_bias</option> have no | |
| 3843 effect on subsequent passes. | |
| 3844 </para> | |
| 3845 </listitem> | |
| 3846 <listitem><para> | |
| 3847 <emphasis role="bold">b_pyramid</emphasis>: | |
| 3848 You might as well enable this option if you are using >=2 B-frames; | |
| 3849 as the man page says, you get a little quality improvement at no | |
| 3850 speed cost. | |
| 3851 Note that these videos cannot be read by libavcodec-based decoders | |
| 3852 older than about March 5, 2005. | |
| 3853 </para></listitem> | |
| 3854 <listitem> | |
| 3855 <para> | |
| 3856 <emphasis role="bold">weight_b</emphasis>: | |
| 3857 In typical cases, there is not much gain with this option. | |
| 3858 However, in crossfades or fade-to-black scenes, weighted | |
| 3859 prediction gives rather large bitrate savings. | |
| 3860 In MPEG-4 ASP, a fade-to-black is usually best coded as a series | |
| 3861 of expensive I-frames; using weighted prediction in B-frames | |
| 3862 makes it possible to turn at least some of these into much smaller | |
| 3863 B-frames. | |
| 3864 Encoding time cost is minimal, as no extra decisions need to be made. | |
| 3865 Also, contrary to what some people seem to guess, the decoder | |
| 3866 CPU requirements are not much affected by weighted prediction, | |
| 3867 all else being equal. | |
| 3868 </para> | |
| 3869 <para> | |
| 3870 Unfortunately, the current adaptive B-frame decision algorithm | |
| 3871 has a strong tendency to avoid B-frames during fades. | |
| 3872 Until this changes, it may be a good idea to add | |
| 3873 <option>nob_adapt</option> to your x264encopts, if you expect | |
| 3874 fades to have a large effect in your particular video | |
| 3875 clip. | |
| 3876 </para> | |
| 3877 </listitem> | |
| 3878 <listitem id="menc-feat-x264-encoding-options-speedvquality-threads"> | |
| 3879 <para> | |
| 3880 <emphasis role="bold">threads</emphasis>: | |
| 3881 This option allows to spawn threads to encode in parallel on multiple CPUs. | |
| 3882 You can manually select the number of threads to be created or, better, set | |
| 3883 <option>threads=auto</option> and let | |
| 3884 <systemitem class="library">x264</systemitem> detect how many CPUs are | |
| 3885 available and pick an appropriate number of threads. | |
| 3886 If you have a multi-processor machine, you should really consider using it | |
| 3887 as it can to increase encoding speed linearly with the number of CPU cores | |
| 3888 (about 94% per CPU core), with very little quality reduction (about 0.005dB | |
| 3889 for dual processor, about 0.01dB for a quad processor machine). | |
| 3890 </para> | |
| 3891 </listitem> | |
| 3892 </itemizedlist> | |
| 3893 </sect3> | |
| 3894 | |
| 3895 | |
| 3896 <sect3 id="menc-feat-x264-encoding-options-misc-preferences"> | |
| 3897 <title>Options pertaining to miscellaneous preferences</title> | |
| 3898 | |
| 3899 <itemizedlist> | |
| 3900 <listitem> | |
| 3901 <para> | |
| 3902 <emphasis role="bold">Two pass encoding</emphasis>: | |
| 3903 Above, it was suggested to always use two pass encoding, but there | |
| 3904 are still reasons for not using it. For instance, if you are capturing | |
| 3905 live TV and encoding in realtime, you are forced to use single-pass. | |
| 3906 Also, one pass is obviously faster than two passes; if you use the | |
| 3907 exact same set of options on both passes, two pass encoding is almost | |
| 3908 twice as slow. | |
| 3909 </para> | |
| 3910 <para> | |
| 3911 Still, there are very good reasons for using two pass encoding. For | |
| 3912 one thing, single pass ratecontrol is not psychic, and it often makes | |
| 3913 unreasonable choices because it cannot see the big picture. For example, | |
| 3914 suppose you have a two minute long video consisting of two distinct | |
| 3915 halves. The first half is a very high-motion scene lasting 60 seconds | |
| 3916 which, in isolation, requires about 2500kbps in order to look decent. | |
| 3917 Immediately following it is a much less demanding 60-second scene | |
| 3918 that looks good at 300kbps. Suppose you ask for 1400kbps on the theory | |
| 3919 that this is enough to accomodate both scenes. Single pass ratecontrol | |
| 3920 will make a couple of "mistakes" in such a case. First of all, it | |
| 3921 will target 1400kbps in both segments. The first segment may end up | |
| 3922 heavily overquantized, causing it to look unacceptably and unreasonably | |
| 3923 blocky. The second segment will be heavily underquantized; it may look | |
| 3924 perfect, but the bitrate cost of that perfection will be completely | |
| 3925 unreasonable. What is even harder to avoid is the problem at the | |
| 3926 transition between the two scenes. The first seconds of the low motion | |
| 3927 half will be hugely over-quantized, because the ratecontrol is still | |
| 3928 expecting the kind of bitrate requirements it met in the first half | |
| 3929 of the video. This "error period" of heavily over-quantized low motion | |
| 3930 will look jarringly bad, and will actually use less than the 300kbps | |
| 3931 it would have taken to make it look decent. There are ways to | |
| 3932 mitigate the pitfalls of single-pass encoding, but they may tend to | |
| 3933 increase bitrate misprediction. | |
| 3934 </para> | |
| 3935 <para> | |
| 3936 Multipass ratecontrol can offer huge advantages over a single pass. | |
| 3937 Using the statistics gathered from the first pass encode, the encoder | |
| 3938 can estimate, with reasonable accuracy, the "cost" (in bits) of | |
| 3939 encoding any given frame, at any given quantizer. This allows for | |
| 3940 a much more rational, better planned allocation of bits between the | |
| 3941 expensive (high-motion) and cheap (low-motion) scenes. See | |
| 3942 <option>qcomp</option> below for some ideas on how to tweak this | |
| 3943 allocation to your liking. | |
| 3944 </para> | |
| 3945 <para> | |
| 3946 Moreover, two passes need not take twice as long as one pass. You can | |
| 3947 tweak the options in the first pass for higher speed and lower quality. | |
| 3948 If you choose your options well, you can get a very fast first pass. | |
| 3949 The resulting quality in the second pass will be slightly lower because size | |
| 3950 prediction is less accurate, but the quality difference is normally much | |
| 3951 too small to be visible. Try, for example, adding | |
| 3952 <option>subq=1:frameref=1</option> to the first pass | |
| 3953 <option>x264encopts</option>. Then, on the second pass, use slower, | |
| 3954 higher-quality options: | |
| 3955 <option>subq=6:frameref=15:partitions=all:me=umh</option> | |
| 3956 </para> | |
| 3957 </listitem> | |
| 3958 <listitem><para> | |
| 3959 <emphasis role="bold">Three pass encoding</emphasis>? | |
| 3960 x264 offers the ability to make an arbitrary number of consecutive | |
| 3961 passes. If you specify <option>pass=1</option> on the first pass, | |
| 3962 then use <option>pass=3</option> on a subsequent pass, the subsequent | |
| 3963 pass will both read the statistics from the previous pass, and write | |
| 3964 its own statistics. An additional pass following this one will have | |
| 3965 a very good base from which to make highly accurate predictions of | |
| 3966 framesizes at a chosen quantizer. In practice, the overall quality | |
| 3967 gain from this is usually close to zero, and quite possibly a third | |
| 3968 pass will result in slightly worse global PSNR than the pass before | |
| 3969 it. In typical usage, three passes help if you get either bad bitrate | |
| 3970 prediction or bad looking scene transitions when using only two passes. | |
| 3971 This is somewhat likely to happen on extremely short clips. There are | |
| 3972 also a few special cases in which three (or more) passes are handy | |
| 3973 for advanced users, but for brevity, this guide omits discussing those | |
| 3974 special cases. | |
| 3975 </para></listitem> | |
| 3976 <listitem><para> | |
| 3977 <emphasis role="bold">qcomp</emphasis>: | |
| 3978 <option>qcomp</option> trades off the number of bits allocated | |
| 3979 to "expensive" high-motion versus "cheap" low-motion frames. At | |
| 3980 one extreme, <option>qcomp=0</option> aims for true constant | |
| 3981 bitrate. Typically this would make high-motion scenes look completely | |
| 3982 awful, while low-motion scenes would probably look absolutely | |
| 3983 perfect, but would also use many times more bitrate than they | |
| 3984 would need in order to look merely excellent. At the other extreme, | |
| 3985 <option>qcomp=1</option> achieves nearly constant quantization parameter | |
| 3986 (QP). Constant QP does not look bad, but most people think it is more | |
| 3987 reasonable to shave some bitrate off of the extremely expensive scenes | |
| 3988 (where the loss of quality is not as noticeable) and reallocate it to | |
| 3989 the scenes that are easier to encode at excellent quality. | |
| 3990 <option>qcomp</option> is set to 0.6 by default, which may be slightly | |
| 3991 low for many peoples' taste (0.7-0.8 are also commonly used). | |
| 3992 </para></listitem> | |
| 3993 <listitem><para> | |
| 3994 <emphasis role="bold">keyint</emphasis>: | |
| 3995 <option>keyint</option> is solely for trading off file seekability against | |
| 3996 coding efficiency. By default, <option>keyint</option> is set to 250. In | |
| 3997 25fps material, this guarantees the ability to seek to within 10 seconds | |
| 3998 precision. If you think it would be important and useful to be able to | |
| 3999 seek within 5 seconds of precision, set <option>keyint=125</option>; | |
| 4000 this will hurt quality/bitrate slightly. If you care only about quality | |
| 4001 and not about seekability, you can set it to much higher values | |
| 4002 (understanding that there are diminishing returns which may become | |
| 4003 vanishingly low, or even zero). The video stream will still have seekable | |
| 4004 points as long as there are some scene changes. | |
| 4005 </para></listitem> | |
| 4006 <listitem> | |
| 4007 <para> | |
| 4008 <emphasis role="bold">deblock</emphasis>: | |
| 4009 This topic is going to be a bit controversial. | |
| 4010 </para> | |
| 4011 <para> | |
| 4012 H.264 defines a simple deblocking procedure on I-blocks that uses | |
| 4013 pre-set strengths and thresholds depending on the QP of the block | |
| 4014 in question. | |
| 4015 By default, high QP blocks are filtered heavily, and low QP blocks | |
| 4016 are not deblocked at all. | |
| 4017 The pre-set strengths defined by the standard are well-chosen and | |
| 4018 the odds are very good that they are PSNR-optimal for whatever | |
| 4019 video you are trying to encode. | |
| 4020 The <option>deblock</option> allow you to specify offsets to the preset | |
| 4021 deblocking thresholds. | |
| 4022 </para> | |
| 4023 <para> | |
| 4024 Many people seem to think it is a good idea to lower the deblocking | |
| 4025 filter strength by large amounts (say, -3). | |
| 4026 This is however almost never a good idea, and in most cases, | |
| 4027 people who are doing this do not understand very well how | |
| 4028 deblocking works by default. | |
| 4029 </para> | |
| 4030 <para> | |
| 4031 The first and most important thing to know about the in-loop | |
| 4032 deblocking filter is that the default thresholds are almost always | |
| 4033 PSNR-optimal. | |
| 4034 In the rare cases that they are not optimal, the ideal offset is | |
| 4035 plus or minus 1. | |
| 4036 Adjusting deblocking parameters by a larger amount is almost | |
| 4037 guaranteed to hurt PSNR. | |
| 4038 Strengthening the filter will smear more details; weakening the | |
| 4039 filter will increase the appearance of blockiness. | |
| 4040 </para> | |
| 4041 <para> | |
| 4042 It is definitely a bad idea to lower the deblocking thresholds if | |
| 4043 your source is mainly low in spacial complexity (i.e., not a lot | |
| 4044 of detail or noise). | |
| 4045 The in-loop filter does a rather excellent job of concealing | |
| 4046 the artifacts that occur. | |
| 4047 If the source is high in spacial complexity, however, artifacts | |
| 4048 are less noticeable. | |
| 4049 This is because the ringing tends to look like detail or noise. | |
| 4050 Human visual perception easily notices when detail is removed, | |
| 4051 but it does not so easily notice when the noise is wrongly | |
| 4052 represented. | |
| 4053 When it comes to subjective quality, noise and detail are somewhat | |
| 4054 interchangeable. | |
| 4055 By lowering the deblocking filter strength, you are most likely | |
| 4056 increasing error by adding ringing artifacts, but the eye does | |
| 4057 not notice because it confuses the artifacts with detail. | |
| 4058 </para> | |
| 4059 <para> | |
| 4060 This <emphasis role="bold">still</emphasis> does not justify | |
| 4061 lowering the deblocking filter strength, however. | |
| 4062 You can generally get better quality noise from postprocessing. | |
| 4063 If your H.264 encodes look too blurry or smeared, try playing with | |
| 4064 <option>-vf noise</option> when you play your encoded movie. | |
| 4065 <option>-vf noise=8a:4a</option> should conceal most mild | |
| 4066 artifacting. | |
| 4067 It will almost certainly look better than the results you | |
| 4068 would have gotten just by fiddling with the deblocking filter. | |
| 4069 </para> | |
| 4070 </listitem> | |
| 4071 </itemizedlist> | |
| 4072 </sect3> | |
| 4073 </sect2> | |
| 4074 | |
| 4075 <!-- ********** --> | |
| 4076 | |
| 4077 <sect2 id="menc-feat-x264-example-settings"> | |
| 4078 <title>Encoding setting examples</title> | |
| 4079 | |
| 4080 <para> | |
| 4081 The following settings are examples of different encoding | |
| 4082 option combinations that affect the speed vs quality tradeoff | |
| 4083 at the same target bitrate. | |
| 4084 </para> | |
| 4085 | |
| 4086 <para> | |
| 4087 All the encoding settings were tested on a 720x448 @30000/1001 fps | |
| 4088 video sample, the target bitrate was 900kbps, and the machine was an | |
| 4089 AMD-64 3400+ at 2400 MHz in 64 bits mode. | |
| 4090 Each encoding setting features the measured encoding speed (in | |
| 4091 frames per second) and the PSNR loss (in dB) compared to the "very | |
| 4092 high quality" setting. | |
| 4093 Please understand that depending on your source, your machine type | |
| 4094 and development advancements, you may get very different results. | |
| 4095 </para> | |
| 4096 | |
| 4097 <informaltable frame="all"> | |
| 4098 <tgroup cols="4"> | |
| 4099 <thead> | |
| 4100 <row> | |
| 4101 <entry>Description</entry> | |
| 4102 <entry>Encoding options</entry> | |
| 4103 <entry>speed (in fps)</entry> | |
| 4104 <entry>Relative PSNR loss (in dB)</entry> | |
| 4105 </row> | |
| 4106 </thead> | |
| 4107 <tbody> | |
| 4108 <row> | |
| 4109 <entry>Very high quality</entry> | |
| 4110 <entry><option>subq=6:partitions=all:8x8dct:me=umh:frameref=5:bframes=3:b_pyramid:weight_b</option></entry> | |
| 4111 <entry>6fps</entry> | |
| 4112 <entry>0dB</entry> | |
| 4113 </row> | |
| 4114 <row> | |
| 4115 <entry>High quality</entry> | |
| 4116 <entry><option>subq=5:8x8dct:frameref=2:bframes=3:b_pyramid:weight_b</option></entry> | |
| 4117 <entry>13fps</entry> | |
| 4118 <entry>-0.89dB</entry> | |
| 4119 </row> | |
| 4120 <row> | |
| 4121 <entry>Fast</entry> | |
| 4122 <entry><option>subq=4:bframes=2:b_pyramid:weight_b</option></entry> | |
| 4123 <entry>17fps</entry> | |
| 4124 <entry>-1.48dB</entry> | |
| 4125 </row> | |
| 4126 </tbody> | |
| 4127 </tgroup> | |
| 4128 </informaltable> | |
| 4129 </sect2> | |
| 4130 </sect1> | |
| 4131 | |
| 4132 | |
| 4133 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> | |
| 4134 | |
| 4135 | |
| 4136 <sect1 id="menc-feat-video-for-windows"> | |
| 4137 <title> | |
| 4138 Encoding with the <systemitem class="library">Video For Windows</systemitem> | |
| 4139 codec family | |
| 4140 </title> | |
| 4141 | |
| 4142 <para> | |
| 4143 Video for Windows provides simple encoding by means of binary video codecs. | |
| 4144 You can encode with the following codecs (if you have more, please tell us!) | |
| 4145 </para> | |
| 4146 | |
| 4147 <para> | |
| 4148 Note that support for this is very experimental and some codecs may not work | |
| 4149 correctly. Some codecs will only work in certain colorspaces, try | |
| 4150 <option>-vf format=bgr24</option> and <option>-vf format=yuy2</option> | |
| 4151 if a codec fails or gives wrong output. | |
| 4152 </para> | |
| 4153 | |
| 4154 <!-- ********** --> | |
| 4155 | |
| 4156 <sect2 id="menc-feat-enc-vfw-video-codecs"> | |
| 4157 <title>Video for Windows supported codecs</title> | |
| 4158 | |
| 4159 <para> | |
| 4160 <informaltable frame="all"> | |
| 4161 <tgroup cols="4"> | |
| 4162 <thead> | |
| 4163 <row> | |
| 4164 <entry>Video codec file name</entry> | |
| 4165 <entry>Description (FourCC)</entry> | |
| 4166 <entry>md5sum</entry> | |
| 4167 <entry>Comment</entry> | |
| 4168 </row> | |
| 4169 </thead> | |
| 4170 <tbody> | |
| 4171 <row> | |
| 4172 <entry>aslcodec_vfw.dll</entry> | |
| 4173 <entry>Alparysoft lossless codec vfw (ASLC)</entry> | |
| 4174 <entry>608af234a6ea4d90cdc7246af5f3f29a</entry> | |
| 4175 <entry></entry> | |
| 4176 </row> | |
| 4177 <row> | |
| 4178 <entry>avimszh.dll</entry> | |
| 4179 <entry>AVImszh (MSZH)</entry> | |
| 4180 <entry>253118fe1eedea04a95ed6e5f4c28878</entry> | |
| 4181 <entry>needs <option>-vf format</option></entry> | |
| 4182 </row> | |
| 4183 <row> | |
| 4184 <entry>avizlib.dll</entry> | |
| 4185 <entry>AVIzlib (ZLIB)</entry> | |
| 4186 <entry>2f1cc76bbcf6d77d40d0e23392fa8eda</entry> | |
| 4187 <entry></entry> | |
| 4188 </row> | |
| 4189 <row> | |
| 4190 <entry>divx.dll</entry> | |
| 4191 <entry>DivX4Windows-VFW</entry> | |
| 4192 <entry>acf35b2fc004a89c829531555d73f1e6</entry> | |
| 4193 <entry></entry> | |
| 4194 </row> | |
| 4195 <row> | |
| 4196 <entry>huffyuv.dll</entry> | |
| 4197 <entry>HuffYUV (lossless) (HFYU)</entry> | |
| 4198 <entry>b74695b50230be4a6ef2c4293a58ac3b</entry> | |
| 4199 <entry></entry> | |
| 4200 </row> | |
| 4201 <row> | |
| 4202 <entry>iccvid.dll</entry> | |
| 4203 <entry>Cinepak Video (cvid)</entry> | |
| 4204 <entry>cb3b7ee47ba7dbb3d23d34e274895133</entry> | |
| 4205 <entry></entry> | |
| 4206 </row> | |
| 4207 <row> | |
| 4208 <entry>icmw_32.dll</entry> | |
| 4209 <entry>Motion Wavelets (MWV1)</entry> | |
| 4210 <entry>c9618a8fc73ce219ba918e3e09e227f2</entry> | |
| 4211 <entry></entry> | |
| 4212 </row> | |
| 4213 <row> | |
| 4214 <entry>jp2avi.dll</entry> | |
| 4215 <entry>ImagePower MJPEG2000 (IPJ2)</entry> | |
| 4216 <entry>d860a11766da0d0ea064672c6833768b</entry> | |
| 4217 <entry><option>-vf flip</option></entry> | |
| 4218 </row> | |
| 4219 <row> | |
| 4220 <entry>m3jp2k32.dll</entry> | |
| 4221 <entry>Morgan MJPEG2000 (MJ2C)</entry> | |
| 4222 <entry>f3c174edcbaef7cb947d6357cdfde7ff</entry> | |
| 4223 <entry></entry> | |
| 4224 </row> | |
| 4225 <row> | |
| 4226 <entry>m3jpeg32.dll</entry> | |
| 4227 <entry>Morgan Motion JPEG Codec (MJPG)</entry> | |
| 4228 <entry>1cd13fff5960aa2aae43790242c323b1</entry> | |
| 4229 <entry></entry> | |
| 4230 </row> | |
| 4231 <row> | |
| 4232 <entry>mpg4c32.dll</entry> | |
| 4233 <entry>Microsoft MPEG-4 v1/v2</entry> | |
| 4234 <entry>b5791ea23f33010d37ab8314681f1256</entry> | |
| 4235 <entry></entry> | |
| 4236 </row> | |
| 4237 <row> | |
| 4238 <entry>tsccvid.dll</entry> | |
| 4239 <entry>TechSmith Camtasia Screen Codec (TSCC)</entry> | |
| 4240 <entry>8230d8560c41d444f249802a2700d1d5</entry> | |
| 4241 <entry>shareware error on windows</entry> | |
| 4242 </row> | |
| 4243 <row> | |
| 4244 <entry>vp31vfw.dll</entry> | |
| 4245 <entry>On2 Open Source VP3 Codec (VP31)</entry> | |
| 4246 <entry>845f3590ea489e2e45e876ab107ee7d2</entry> | |
| 4247 <entry></entry> | |
| 4248 </row> | |
| 4249 <row> | |
| 4250 <entry>vp4vfw.dll</entry> | |
| 4251 <entry>On2 VP4 Personal Codec (VP40)</entry> | |
| 4252 <entry>fc5480a482ccc594c2898dcc4188b58f</entry> | |
| 4253 <entry></entry> | |
| 4254 </row> | |
| 4255 <row> | |
| 4256 <entry>vp6vfw.dll</entry> | |
| 4257 <entry>On2 VP6 Personal Codec (VP60)</entry> | |
| 4258 <entry>04d635a364243013898fd09484f913fb</entry> | |
| 4259 <entry></entry> | |
| 4260 </row> | |
| 4261 <row> | |
| 4262 <entry>vp7vfw.dll</entry> | |
| 4263 <entry>On2 VP7 Personal Codec (VP70)</entry> | |
| 4264 <entry>cb4cc3d4ea7c94a35f1d81c3d750bc8d</entry> | |
| 4265 <entry>wrong FourCC?</entry> | |
| 4266 </row> | |
| 4267 <row> | |
| 4268 <entry>ViVD2.dll</entry> | |
| 4269 <entry>SoftMedia ViVD V2 codec VfW (GXVE)</entry> | |
| 4270 <entry>a7b4bf5cac630bb9262c3f80d8a773a1</entry> | |
| 4271 <entry></entry> | |
| 4272 </row> | |
| 4273 <row> | |
| 4274 <entry>msulvc06.DLL</entry> | |
| 4275 <entry>MSU Lossless codec (MSUD)</entry> | |
| 4276 <entry>294bf9288f2f127bb86f00bfcc9ccdda</entry> | |
| 4277 <entry> | |
| 4278 Decodable by <application>Window Media Player</application>, | |
| 4279 not <application>MPlayer</application> (yet). | |
| 4280 </entry> | |
| 4281 </row> | |
| 4282 <row> | |
| 4283 <entry>camcodec.dll</entry> | |
| 4284 <entry>CamStudio lossless video codec (CSCD)</entry> | |
| 4285 <entry>0efe97ce08bb0e40162ab15ef3b45615</entry> | |
| 4286 <entry>sf.net/projects/camstudio</entry> | |
| 4287 </row> | |
| 4288 </tbody> | |
| 4289 </tgroup> | |
| 4290 </informaltable> | |
| 4291 | |
| 4292 The first column contains the codec names that should be passed after the | |
| 4293 <literal>codec</literal> parameter, | |
| 4294 like: <option>-xvfwopts codec=divx.dll</option> | |
| 4295 The FourCC code used by each codec is given in the parentheses. | |
| 4296 </para> | |
| 4297 | |
| 4298 <informalexample> | |
| 4299 <para> | |
| 4300 An example to convert an ISO DVD trailer to a VP6 flash video file | |
| 4301 using compdata bitrate settings: | |
| 4302 <screen> | |
| 4303 mencoder -dvd-device <replaceable>zeiram.iso</replaceable> dvd://7 -o <replaceable>trailer.flv</replaceable> \ | |
| 4304 -ovc vfw -xvfwopts codec=vp6vfw.dll:compdata=onepass.mcf -oac mp3lame \ | |
| 4305 -lameopts cbr:br=64 -af lavcresample=22050 -vf yadif,scale=320:240,flip \ | |
| 4306 -of lavf -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames | |
| 4307 </screen> | |
| 4308 </para> | |
| 4309 </informalexample> | |
| 4310 </sect2> | |
| 4311 | |
| 4312 <sect2 id="menc-feat-video-for-windows-bitrate-settings"> | |
| 4313 <title>Using vfw2menc to create a codec settings file.</title> | |
| 4314 | |
| 4315 <para> | |
| 4316 To encode with the Video for Windows codecs, you will need to set bitrate | |
| 4317 and other options. This is known to work on x86 on both *NIX and Windows. | |
| 4318 </para> | |
| 4319 <para> | |
| 4320 First you must build the <application>vfw2menc</application> program. | |
| 4321 It is located in the <filename class="directory">TOOLS</filename> subdirectory | |
| 4322 of the MPlayer source tree. | |
| 4323 To build on Linux, this can be done using <application>Wine</application>: | |
| 4324 <screen>winegcc vfw2menc.c -o vfw2menc -lwinmm -lole32</screen> | |
| 4325 | |
| 4326 To build on Windows in <application>MinGW</application> or | |
| 4327 <application>Cygwin</application> use: | |
| 4328 <screen>gcc vfw2menc.c -o vfw2menc.exe -lwinmm -lole32</screen> | |
| 4329 | |
| 4330 To build on <application>MSVC</application> you will need getopt. | |
| 4331 Getopt can be found in the original <application>vfw2menc</application> | |
| 4332 archive available at: | |
| 4333 The <ulink url="http://oss.netfarm.it/mplayer-win32.php">MPlayer on win32</ulink> project. | |
| 4334 </para> | |
| 4335 <informalexample> | |
| 4336 <para> | |
| 4337 Below is an example with the VP6 codec. | |
| 4338 <screen> | |
| 4339 vfw2menc -f VP62 -d vp6vfw.dll -s firstpass.mcf | |
| 4340 </screen> | |
| 4341 This will open the VP6 codec dialog window. | |
| 4342 Repeat this step for the second pass | |
| 4343 and use <option>-s <replaceable>secondpass.mcf</replaceable></option>. | |
| 4344 </para> | |
| 4345 </informalexample> | |
| 4346 <para> | |
| 4347 Windows users can use | |
| 4348 <option>-xvfwopts codec=vp6vfw.dll:compdata=dialog</option> to have | |
| 4349 the codec dialog display before encoding starts. | |
| 4350 </para> | |
| 4351 </sect2> | |
| 4352 </sect1> | |
| 4353 | |
| 4354 | |
| 4355 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> | |
| 4356 | |
| 4357 | |
| 4358 <sect1 id="menc-feat-quicktime-7"> | |
| 4359 <title>Using <application>MEncoder</application> to create | |
| 4360 <application>QuickTime</application>-compatible files</title> | |
| 4361 | |
| 4362 | |
| 4363 <sect2 id="menc-feat-quicktime-7-why-use-it"> | |
| 4364 <title>Why would one want to produce <application>QuickTime</application>-compatible Files?</title> | |
| 4365 | |
| 4366 <para> | |
| 4367 There are several reasons why producing | |
| 4368 <application>QuickTime</application>-compatible files can be desirable. | |
| 4369 </para> | |
| 4370 <itemizedlist> | |
| 4371 <listitem><para> | |
| 4372 You want any computer illiterate to be able to watch your encode on | |
| 4373 any major platform (Windows, Mac OS X, Unices …). | |
| 4374 </para></listitem> | |
| 4375 <listitem><para> | |
| 4376 <application>QuickTime</application> is able to take advantage of more | |
| 4377 hardware and software acceleration features of Mac OS X than | |
| 4378 platform-independent players like <application>MPlayer</application> | |
| 4379 or <application>VLC</application>. | |
| 4380 That means that your encodes have a chance to be played smoothly by older | |
| 4381 G4-powered machines. | |
| 4382 </para></listitem> | |
| 4383 <listitem><para> | |
| 4384 <application>QuickTime</application> 7 supports the next-generation codec H.264, | |
| 4385 which yields significantly better picture quality than previous codec | |
| 4386 generations (MPEG-2, MPEG-4 …). | |
| 4387 </para></listitem> | |
| 4388 </itemizedlist> | |
| 4389 </sect2> | |
| 4390 | |
| 4391 <sect2 id="menc-feat-quicktime-7-constraints"> | |
| 4392 <title><application>QuickTime</application> 7 limitations</title> | |
| 4393 | |
| 4394 <para> | |
| 4395 <application>QuickTime</application> 7 supports H.264 video and AAC audio, | |
| 4396 but it does not support them muxed in the AVI container format. | |
| 4397 However, you can use <application>MEncoder</application> to encode | |
| 4398 the video and audio, and then use an external program such as | |
| 4399 <application>mp4creator</application> (part of the | |
| 4400 <ulink url="http://mpeg4ip.sourceforge.net/">MPEG4IP suite</ulink>) | |
| 4401 to remux the video and audio tracks into an MP4 container. | |
| 4402 </para> | |
| 4403 | |
| 4404 <para> | |
| 4405 <application>QuickTime</application>'s support for H.264 is limited, | |
| 4406 so you will need to drop some advanced features. | |
| 4407 If you encode your video with features that | |
| 4408 <application>QuickTime</application> 7 does not support, | |
| 4409 <application>QuickTime</application>-based players will show you a pretty | |
| 4410 white screen instead of your expected video. | |
| 4411 </para> | |
| 4412 | |
| 4413 <itemizedlist> | |
| 4414 <listitem><para> | |
| 4415 <emphasis role="bold">B-frames</emphasis>: | |
| 4416 <application>QuickTime</application> 7 supports a maximum of 1 B-frame, i.e. | |
| 4417 <option>-x264encopts bframes=1</option>. This means that | |
| 4418 <option>b_pyramid</option> and <option>weight_b</option> will have no | |
| 4419 effect, since they require <option>bframes</option> to be greater than 1. | |
| 4420 </para></listitem> | |
| 4421 <listitem><para> | |
| 4422 <emphasis role="bold">Macroblocks</emphasis>: | |
| 4423 <application>QuickTime</application> 7 does not support 8x8 DCT macroblocks. | |
| 4424 This option (<option>8x8dct</option>) is off by default, so just be sure | |
| 4425 not to explicitly enable it. This also means that the <option>i8x8</option> | |
| 4426 option will have no effect, since it requires <option>8x8dct</option>. | |
| 4427 </para></listitem> | |
| 4428 <listitem><para> | |
| 4429 <emphasis role="bold">Aspect ratio</emphasis>: | |
| 4430 <application>QuickTime</application> 7 does not support SAR (sample | |
| 4431 aspect ratio) information in MPEG-4 files; it assumes that SAR=1. Read | |
| 4432 <link linkend="menc-feat-quicktime-7-scale">the section on scaling</link> | |
| 4433 for a workaround. | |
| 4434 </para></listitem> | |
| 4435 </itemizedlist> | |
| 4436 | |
| 4437 </sect2> | |
| 4438 | |
| 4439 <sect2 id="menc-feat-quicktime-7-crop"> | |
| 4440 <title>Cropping</title> | |
| 4441 <para> | |
| 4442 Suppose you want to rip your freshly bought copy of "The Chronicles of | |
| 4443 Narnia". Your DVD is region 1, | |
| 4444 which means it is NTSC. The example below would still apply to PAL, | |
| 4445 except you would omit <option>-ofps 24000/1001</option> and use slightly | |
| 4446 different <option>crop</option> and <option>scale</option> dimensions. | |
| 4447 </para> | |
| 4448 | |
| 4449 <para> | |
| 4450 After running <option>mplayer dvd://1</option>, you follow the process | |
| 4451 detailed in the section <link linkend="menc-feat-telecine">How to deal | |
| 4452 with telecine and interlacing in NTSC DVDs</link> and discover that it is | |
| 4453 24000/1001 fps progressive video. This simplifies the process somewhat, | |
| 4454 since you do not need to use an inverse telecine filter such as | |
| 4455 <option>pullup</option> or a deinterlacing filter such as | |
| 4456 <option>yadif</option>. | |
| 4457 </para> | |
| 4458 | |
| 4459 <para> | |
| 4460 Next, you need to crop out the black bars from the top and bottom of the | |
| 4461 video, as detailed in <link linkend="menc-feat-dvd-mpeg4-example-crop">this</link> | |
| 4462 previous section. | |
| 4463 </para> | |
| 4464 | |
| 4465 </sect2> | |
| 4466 | |
| 4467 <sect2 id="menc-feat-quicktime-7-scale"> | |
| 4468 <title>Scaling</title> | |
| 4469 | |
| 4470 <para> | |
| 4471 The next step is truly heartbreaking. | |
| 4472 <application>QuickTime</application> 7 does not support MPEG-4 videos | |
| 4473 with a sample aspect ratio other than 1, so you will need to upscale | |
| 4474 (which wastes a lot of disk space) or downscale (which loses some | |
| 4475 details of the source) the video to square pixels. | |
| 4476 Either way you do it, this is highly inefficient, but simply cannot | |
| 4477 be avoided if you want your video to be playable by | |
| 4478 <application>QuickTime</application> 7. | |
| 4479 <application>MEncoder</application> can apply the appropriate upscaling | |
| 4480 or downscaling by specifying respectively <option>-vf scale=-10:-1</option> | |
| 4481 or <option>-vf scale=-1:-10</option>. | |
| 4482 This will scale your video to the correct width for the cropped height, | |
| 4483 rounded to the closest multiple of 16 for optimal compression. | |
| 4484 Remember that if you are cropping, you should crop first, then scale: | |
| 4485 | |
| 4486 <screen>-vf crop=720:352:0:62,scale=-10:-1</screen> | |
| 4487 </para> | |
| 4488 | |
| 4489 </sect2> | |
| 4490 | |
| 4491 <sect2 id="menc-feat-quicktime-7-avsync"> | |
| 4492 <title>A/V sync</title> | |
| 4493 | |
| 4494 <para> | |
| 4495 Because you will be remuxing into a different container, you should | |
| 4496 always use the <option>harddup</option> option to ensure that duplicated | |
| 4497 frames are actually duplicated in the video output. Without this option, | |
| 4498 <application>MEncoder</application> will simply put a marker in the video | |
| 4499 stream that a frame was duplicated, and rely on the client software to | |
| 4500 show the same frame twice. Unfortunately, this "soft duplication" does | |
| 4501 not survive remuxing, so the audio would slowly lose sync with the video. | |
| 4502 </para> | |
| 4503 | |
| 4504 <para> | |
| 4505 The final filter chain looks like this: | |
| 4506 <screen>-vf crop=720:352:0:62,scale=-10:-1,harddup</screen> | |
| 4507 </para> | |
| 4508 | |
| 4509 </sect2> | |
| 4510 | |
| 4511 <sect2 id="menc-feat-quicktime-7-bitrate"> | |
| 4512 <title>Bitrate</title> | |
| 4513 | |
| 4514 <para> | |
| 4515 As always, the selection of bitrate is a matter of the technical properties | |
| 4516 of the source, as explained | |
| 4517 <link linkend="menc-feat-dvd-mpeg4-resolution-bitrate">here</link>, as | |
| 4518 well as a matter of taste. | |
| 4519 This movie has a fair bit of action and lots of detail, but H.264 video | |
| 4520 looks good at much lower bitrates than XviD or other MPEG-4 codecs. | |
| 4521 After much experimentation, the author of this guide chose to encode | |
| 4522 this movie at 900kbps, and thought that it looked very good. | |
| 4523 You may decrease bitrate if you need to save more space, or increase | |
| 4524 it if you need to improve quality. | |
| 4525 </para> | |
| 4526 | |
| 4527 </sect2> | |
| 4528 | |
| 4529 <sect2 id="menc-feat-quicktime-7-example"> | |
| 4530 <title>Encoding example</title> | |
| 4531 | |
| 4532 <para> | |
| 4533 You are now ready to encode the video. Since you care about | |
| 4534 quality, of course you will be doing a two-pass encode. To shave off | |
| 4535 some encoding time, you can specify the <option>turbo</option> option | |
| 4536 on the first pass; this reduces <option>subq</option> and | |
| 4537 <option>frameref</option> to 1. To save some disk space, you can | |
| 4538 use the <option>ss</option> option to strip off the first few seconds | |
| 4539 of the video. (I found that this particular movie has 32 seconds of | |
| 4540 credits and logos.) <option>bframes</option> can be 0 or 1. | |
| 4541 The other options are documented in <link | |
| 4542 linkend="menc-feat-x264-encoding-options-speedvquality">Encoding with | |
| 4543 the <systemitem class="library">x264</systemitem> codec</link> and | |
| 4544 the man page. | |
| 4545 | |
| 4546 <screen>mencoder dvd://1 -o /dev/null -ss 32 -ovc x264 \ | |
| 4547 -x264encopts pass=1:turbo:bitrate=900:bframes=1:\ | |
| 4548 me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \ | |
| 4549 -vf crop=720:352:0:62,scale=-10:-1,harddup \ | |
| 4550 -oac faac -faacopts br=192:mpeg=4:object=1 -channels 2 -srate 48000 \ | |
| 4551 -ofps 24000/1001</screen> | |
| 4552 | |
| 4553 If you have a multi-processor machine, don't miss the opportunity to | |
| 4554 dramatically speed-up encoding by enabling | |
| 4555 <link linkend="menc-feat-x264-encoding-options-speedvquality-threads"> | |
| 4556 <systemitem class="library">x264</systemitem>'s multi-threading mode</link> | |
| 4557 by adding <option>threads=auto</option> to your <option>x264encopts</option> | |
| 4558 command-line. | |
| 4559 </para> | |
| 4560 | |
| 4561 <para> | |
| 4562 The second pass is the same, except that you specify the output file | |
| 4563 and set <option>pass=2</option>. | |
| 4564 | |
| 4565 <screen>mencoder dvd://1 <emphasis role="bold">-o narnia.avi</emphasis> -ss 32 -ovc x264 \ | |
| 4566 -x264encopts <emphasis role="bold">pass=2</emphasis>:turbo:bitrate=900:frameref=5:bframes=1:\ | |
| 4567 me=umh:partitions=all:trellis=1:qp_step=4:qcomp=0.7:direct_pred=auto:keyint=300 \ | |
| 4568 -vf crop=720:352:0:62,scale=-10:-1,harddup \ | |
| 4569 -oac faac -faacopts br=192:mpeg=4:object=1 -channels 2 -srate 48000 \ | |
| 4570 -ofps 24000/1001</screen> | |
| 4571 </para> | |
| 4572 | |
| 4573 <para> | |
| 4574 The resulting AVI should play perfectly in | |
| 4575 <application>MPlayer</application>, but of course | |
| 4576 <application>QuickTime</application> can not play it because it does | |
| 4577 not support H.264 muxed in AVI. | |
| 4578 So the next step is to remux the video into an MP4 container. | |
| 4579 </para> | |
| 4580 </sect2> | |
| 4581 | |
| 4582 <sect2 id="menc-feat-quicktime-7-remux"> | |
| 4583 <title>Remuxing as MP4</title> | |
| 4584 | |
| 4585 <para> | |
| 4586 There are several ways to remux AVI files to MP4. You can use | |
| 4587 <application>mp4creator</application>, which is part of the | |
| 4588 <ulink url="http://mpeg4ip.sourceforge.net/">MPEG4IP suite</ulink>. | |
| 4589 </para> | |
| 4590 | |
| 4591 <para> | |
| 4592 First, demux the AVI into separate audio and video streams using | |
| 4593 <application>MPlayer</application>. | |
| 4594 | |
| 4595 <screen>mplayer narnia.avi -dumpaudio -dumpfile narnia.aac | |
| 4596 mplayer narnia.avi -dumpvideo -dumpfile narnia.h264</screen> | |
| 4597 | |
| 4598 The filenames are important; <application>mp4creator</application> | |
| 4599 requires that AAC audio streams be named <systemitem>.aac</systemitem> | |
| 4600 and H.264 video streams be named <systemitem>.h264</systemitem>. | |
| 4601 </para> | |
| 4602 | |
| 4603 <para> | |
| 4604 Now use <application>mp4creator</application> to create a new | |
| 4605 MP4 file out of the audio and video streams. | |
| 4606 | |
| 4607 <screen>mp4creator -create=narnia.aac narnia.mp4 | |
| 4608 mp4creator -create=narnia.h264 -rate=23.976 narnia.mp4</screen> | |
| 4609 | |
| 4610 Unlike the encoding step, you must specify the framerate as a | |
| 4611 decimal (such as 23.976), not a fraction (such as 24000/1001). | |
| 4612 </para> | |
| 4613 | |
| 4614 <para> | |
| 4615 This <systemitem>narnia.mp4</systemitem> file should now be playable | |
| 4616 with any <application>QuickTime</application> 7 application, such as | |
| 4617 <application>QuickTime Player</application> or | |
| 4618 <application>iTunes</application>. If you are planning to view the | |
| 4619 video in a web browser with the <application>QuickTime</application> | |
| 4620 plugin, you should also hint the movie so that the | |
| 4621 <application>QuickTime</application> plugin can start playing it | |
| 4622 while it is still downloading. <application>mp4creator</application> | |
| 4623 can create these hint tracks: | |
| 4624 | |
| 4625 <screen>mp4creator -hint=1 narnia.mp4 | |
| 4626 mp4creator -hint=2 narnia.mp4 | |
| 4627 mp4creator -optimize narnia.mp4</screen> | |
| 4628 | |
| 4629 You can check the final result to ensure that the hint tracks were | |
| 4630 created successfully: | |
| 4631 | |
| 4632 <screen>mp4creator -list narnia.mp4</screen> | |
| 4633 | |
| 4634 You should see a list of tracks: 1 audio, 1 video, and 2 hint tracks. | |
| 4635 | |
| 4636 <screen>Track Type Info | |
| 4637 1 audio MPEG-4 AAC LC, 8548.714 secs, 190 kbps, 48000 Hz | |
| 4638 2 video H264 Main@5.1, 8549.132 secs, 899 kbps, 848x352 @ 23.976001 fps | |
| 4639 3 hint Payload mpeg4-generic for track 1 | |
| 4640 4 hint Payload H264 for track 2 | |
| 4641 </screen> | |
| 4642 </para> | |
| 4643 | |
| 4644 </sect2> | |
| 4645 | |
| 4646 <sect2 id="menc-feat-quicktime-7-metadata"> | |
| 4647 <title>Adding metadata tags</title> | |
| 4648 | |
| 4649 <para> | |
| 4650 If you want to add tags to your video that show up in iTunes, you can use | |
| 4651 <ulink url="http://atomicparsley.sourceforge.net/">AtomicParsley</ulink>. | |
| 4652 | |
| 4653 <screen>AtomicParsley narnia.mp4 --metaEnema --title "The Chronicles of Narnia" --year 2005 --stik Movie --freefree --overWrite</screen> | |
| 4654 | |
| 4655 The <option>--metaEnema</option> option removes any existing metadata | |
| 4656 (<application>mp4creator</application> inserts its name in the | |
| 4657 "encoding tool" tag), and <option>--freefree</option> reclaims the | |
| 4658 space from the deleted metadata. | |
| 4659 The <option>--stik</option> option sets the type of video (such as Movie | |
| 4660 or TV Show), which iTunes uses to group related video files. | |
| 4661 The <option>--overWrite</option> option overwrites the original file; | |
| 4662 without it, <application>AtomicParsley</application> creates a new | |
| 4663 auto-named file in the same directory and leaves the original file | |
| 4664 untouched. | |
| 4665 </para> | |
| 4666 | |
| 4667 </sect2> | |
| 4668 | |
| 4669 </sect1> | |
| 4670 | |
| 4671 | |
| 4672 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> | |
| 4673 | |
| 4674 | |
| 4675 <sect1 id="menc-feat-vcd-dvd"> | |
| 4676 <title>Using <application>MEncoder</application> | |
| 4677 to create VCD/SVCD/DVD-compliant files</title> | |
| 4678 | |
| 4679 <sect2 id="menc-feat-vcd-dvd-constraints"> | |
| 4680 <title>Format Constraints</title> | |
| 4681 | |
| 4682 <para> | |
| 4683 <application>MEncoder</application> is capable of creating VCD, SCVD | |
| 4684 and DVD format MPEG files using the | |
| 4685 <systemitem class="library">libavcodec</systemitem> library. | |
| 4686 These files can then be used in conjunction with | |
| 4687 <ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink> | |
| 4688 or | |
| 4689 <ulink url="http://dvdauthor.sourceforge.net/">dvdauthor</ulink> | |
| 4690 to create discs that will play on a standard set-top player. | |
| 4691 </para> | |
| 4692 | |
| 4693 <para> | |
| 4694 The DVD, SVCD, and VCD formats are subject to heavy constraints. | |
| 4695 Only a small selection of encoded picture sizes and aspect ratios are | |
| 4696 available. | |
| 4697 If your movie does not already meet these requirements, you may have | |
| 4698 to scale, crop or add black borders to the picture to make it | |
| 4699 compliant. | |
| 4700 </para> | |
| 4701 | |
| 4702 | |
| 4703 <sect3 id="menc-feat-vcd-dvd-constraints-resolution"> | |
| 4704 <title>Format Constraints</title> | |
| 4705 | |
| 4706 <informaltable frame="all"> | |
| 4707 <tgroup cols="9"> | |
| 4708 <thead> | |
| 4709 <row> | |
| 4710 <entry>Format</entry> | |
| 4711 <entry>Resolution</entry> | |
| 4712 <entry>V. Codec</entry> | |
| 4713 <entry>V. Bitrate</entry> | |
| 4714 <entry>Sample Rate</entry> | |
| 4715 <entry>A. Codec</entry> | |
| 4716 <entry>A. Bitrate</entry> | |
| 4717 <entry>FPS</entry> | |
| 4718 <entry>Aspect</entry> | |
| 4719 </row> | |
| 4720 </thead> | |
| 4721 <tbody> | |
| 4722 <row> | |
| 4723 <entry>NTSC DVD</entry> | |
| 4724 <entry>720x480, 704x480, 352x480, 352x240</entry> | |
| 4725 <entry>MPEG-2</entry> | |
| 4726 <entry>9800 kbps</entry> | |
| 4727 <entry>48000 Hz</entry> | |
| 4728 <entry>AC-3,PCM</entry> | |
| 4729 <entry>1536 kbps (max)</entry> | |
| 4730 <entry>30000/1001, 24000/1001</entry> | |
| 4731 <entry>4:3, 16:9 (only for 720x480)</entry> | |
| 4732 </row> | |
| 4733 <row> | |
| 4734 <entry>NTSC DVD</entry> | |
| 4735 <entry>352x240<footnote id='fn-rare-resolutions'><para> | |
| 4736 These resolutions are rarely used for DVDs because | |
| 4737 they are fairly low quality.</para></footnote></entry> | |
| 4738 <entry>MPEG-1</entry> | |
| 4739 <entry>1856 kbps</entry> | |
| 4740 <entry>48000 Hz</entry> | |
| 4741 <entry>AC-3,PCM</entry> | |
| 4742 <entry>1536 kbps (max)</entry> | |
| 4743 <entry>30000/1001, 24000/1001</entry> | |
| 4744 <entry>4:3, 16:9</entry> | |
| 4745 </row> | |
| 4746 <row> | |
| 4747 <entry>NTSC SVCD</entry> | |
| 4748 <entry>480x480</entry> | |
| 4749 <entry>MPEG-2</entry> | |
| 4750 <entry>2600 kbps</entry> | |
| 4751 <entry>44100 Hz</entry> | |
| 4752 <entry>MP2</entry> | |
| 4753 <entry>384 kbps (max)</entry> | |
| 4754 <entry>30000/1001</entry> | |
| 4755 <entry>4:3</entry> | |
| 4756 </row> | |
| 4757 <row> | |
| 4758 <entry>NTSC VCD</entry> | |
| 4759 <entry>352x240</entry> | |
| 4760 <entry>MPEG-1</entry> | |
| 4761 <entry>1150 kbps</entry> | |
| 4762 <entry>44100 Hz</entry> | |
| 4763 <entry>MP2</entry> | |
| 4764 <entry>224 kbps</entry> | |
| 4765 <entry>24000/1001, 30000/1001</entry> | |
| 4766 <entry>4:3</entry> | |
| 4767 </row> | |
| 4768 <row> | |
| 4769 <entry>PAL DVD</entry> | |
| 4770 <entry>720x576, 704x576, 352x576, 352x288</entry> | |
| 4771 <entry>MPEG-2</entry> | |
| 4772 <entry>9800 kbps</entry> | |
| 4773 <entry>48000 Hz</entry> | |
| 4774 <entry>MP2,AC-3,PCM</entry> | |
| 4775 <entry>1536 kbps (max)</entry> | |
| 4776 <entry>25</entry> | |
| 4777 <entry>4:3, 16:9 (only for 720x576)</entry> | |
| 4778 </row> | |
| 4779 <row> | |
| 4780 <entry>PAL DVD</entry> | |
| 4781 <entry>352x288<footnoteref linkend='fn-rare-resolutions'/></entry> | |
| 4782 <entry>MPEG-1</entry> | |
| 4783 <entry>1856 kbps</entry> | |
| 4784 <entry>48000 Hz</entry> | |
| 4785 <entry>MP2,AC-3,PCM</entry> | |
| 4786 <entry>1536 kbps (max)</entry> | |
| 4787 <entry>25</entry> | |
| 4788 <entry>4:3, 16:9</entry> | |
| 4789 </row> | |
| 4790 <row> | |
| 4791 <entry>PAL SVCD</entry> | |
| 4792 <entry>480x576</entry> | |
| 4793 <entry>MPEG-2</entry> | |
| 4794 <entry>2600 kbps</entry> | |
| 4795 <entry>44100 Hz</entry> | |
| 4796 <entry>MP2</entry> | |
| 4797 <entry>384 kbps (max)</entry> | |
| 4798 <entry>25</entry> | |
| 4799 <entry>4:3</entry> | |
| 4800 </row> | |
| 4801 <row> | |
| 4802 <entry>PAL VCD</entry> | |
| 4803 <entry>352x288</entry> | |
| 4804 <entry>MPEG-1</entry> | |
| 4805 <entry>1152 kbps</entry> | |
| 4806 <entry>44100 Hz</entry> | |
| 4807 <entry>MP2</entry> | |
| 4808 <entry>224 kbps</entry> | |
| 4809 <entry>25</entry> | |
| 4810 <entry>4:3</entry> | |
| 4811 </row> | |
| 4812 </tbody> | |
| 4813 </tgroup> | |
| 4814 </informaltable> | |
| 4815 | |
| 4816 <para> | |
| 4817 If your movie has 2.35:1 aspect (most recent action movies), you will | |
| 4818 have to add black borders or crop the movie down to 16:9 to make a DVD or VCD. | |
| 4819 If you add black borders, try to align them at 16-pixel boundaries in | |
| 4820 order to minimize the impact on encoding performance. | |
| 4821 Thankfully DVD has sufficiently excessive bitrate that you do not have | |
| 4822 to worry too much about encoding efficiency, but SVCD and VCD are | |
| 4823 highly bitrate-starved and require effort to obtain acceptable quality. | |
| 4824 </para> | |
| 4825 </sect3> | |
| 4826 | |
| 4827 | |
| 4828 <sect3 id="menc-feat-vcd-dvd-constraints-gop"> | |
| 4829 <title>GOP Size Constraints</title> | |
| 4830 | |
| 4831 <para> | |
| 4832 DVD, VCD, and SVCD also constrain you to relatively low | |
| 4833 GOP (Group of Pictures) sizes. | |
| 4834 For 30 fps material the largest allowed GOP size is 18. | |
| 4835 For 25 or 24 fps, the maximum is 15. | |
| 4836 The GOP size is set using the <option>keyint</option> option. | |
| 4837 </para> | |
| 4838 </sect3> | |
| 4839 | |
| 4840 | |
| 4841 <sect3 id="menc-feat-vcd-dvd-constraints-bitrate"> | |
| 4842 <title>Bitrate Constraints</title> | |
| 4843 | |
| 4844 <para> | |
| 4845 VCD video is required to be CBR at 1152 kbps. | |
| 4846 This highly limiting constraint also comes along with an extremly low vbv | |
| 4847 buffer size of 327 kilobits. | |
| 4848 SVCD allows varying video bitrates up to 2500 kbps, and a somewhat less | |
| 4849 restrictive vbv buffer size of 917 kilobits is allowed. | |
| 4850 DVD video bitrates may range anywhere up to 9800 kbps (though typical | |
| 4851 bitrates are about half that), and the vbv buffer size is 1835 kilobits. | |
| 4852 </para> | |
| 4853 </sect3> | |
| 4854 </sect2> | |
| 4855 | |
| 4856 <!-- ********** --> | |
| 4857 | |
| 4858 <sect2 id="menc-feat-vcd-dvd-output"> | |
| 4859 <title>Output Options</title> | |
| 4860 | |
| 4861 <para> | |
| 4862 <application>MEncoder</application> has options to control the output | |
| 4863 format. | |
| 4864 Using these options we can instruct it to create the correct type of | |
| 4865 file. | |
| 4866 </para> | |
| 4867 | |
| 4868 <para> | |
| 4869 The options for VCD and SVCD are called xvcd and xsvcd, because they | |
| 4870 are extended formats. | |
| 4871 They are not strictly compliant, mainly because the output does not | |
| 4872 contain scan offsets. | |
| 4873 If you need to generate an SVCD image, you should pass the output file to | |
| 4874 <ulink url="http://www.gnu.org/software/vcdimager/vcdimager.html">vcdimager</ulink>. | |
| 4875 </para> | |
| 4876 | |
| 4877 <para> | |
| 4878 VCD: | |
| 4879 <screen>-of mpeg -mpegopts format=xvcd</screen> | |
| 4880 </para> | |
| 4881 | |
| 4882 <para> | |
| 4883 SVCD: | |
| 4884 <screen>-of mpeg -mpegopts format=xsvcd</screen> | |
| 4885 </para> | |
| 4886 | |
| 4887 <para> | |
| 4888 DVD (with timestamps on every frame, if possible): | |
| 4889 <screen>-of mpeg -mpegopts format=dvd:tsaf</screen> | |
| 4890 </para> | |
| 4891 | |
| 4892 <para> | |
| 4893 DVD with NTSC Pullup: | |
| 4894 <screen>-of mpeg -mpegopts format=dvd:tsaf:telecine -ofps 24000/1001</screen> | |
| 4895 This allows 24000/1001 fps progressive content to be encoded at 30000/1001 | |
| 4896 fps whilst maintaing DVD-compliance. | |
| 4897 </para> | |
| 4898 | |
| 4899 | |
| 4900 <sect3 id="menc-feat-vcd-dvd-output-aspect"> | |
| 4901 <title>Aspect Ratio</title> | |
| 4902 | |
| 4903 <para> | |
| 4904 The aspect argument of <option>-lavcopts</option> is used to encode | |
| 4905 the aspect ratio of the file. | |
| 4906 During playback the aspect ratio is used to restore the video to the | |
| 4907 correct size. | |
| 4908 </para> | |
| 4909 | |
| 4910 <para> | |
| 4911 16:9 or "Widescreen" | |
| 4912 <screen>-lavcopts aspect=16/9</screen> | |
| 4913 </para> | |
| 4914 | |
| 4915 <para> | |
| 4916 4:3 or "Fullscreen" | |
| 4917 <screen>-lavcopts aspect=4/3</screen> | |
| 4918 </para> | |
| 4919 | |
| 4920 <para> | |
| 4921 2.35:1 or "Cinemascope" NTSC | |
| 4922 <screen>-vf scale=720:368,expand=720:480 -lavcopts aspect=16/9</screen> | |
| 4923 To calculate the correct scaling size, use the expanded NTSC width of | |
| 4924 854/2.35 = 368 | |
| 4925 </para> | |
| 4926 | |
| 4927 <para> | |
| 4928 2.35:1 or "Cinemascope" PAL | |
| 4929 <screen>-vf scale=720:432,expand=720:576 -lavcopts aspect=16/9</screen> | |
| 4930 To calculate the correct scaling size, use the expanded PAL width of | |
| 4931 1024/2.35 = 432 | |
| 4932 </para> | |
| 4933 </sect3> | |
| 4934 | |
| 4935 | |
| 4936 <sect3 id="menc-feat-vcd-dvd-a-v-sync"> | |
| 4937 <title>Maintaining A/V sync</title> | |
| 4938 | |
| 4939 <para> | |
| 4940 In order to maintain audio/video synchronization throughout the encode, | |
| 4941 <application>MEncoder</application> has to drop or duplicate frames. | |
| 4942 This works rather well when muxing into an AVI file, but is almost | |
| 4943 guaranteed to fail to maintain A/V sync with other muxers such as MPEG. | |
| 4944 This is why it is necessary to append the | |
| 4945 <option>harddup</option> video filter at the end of the filter chain | |
| 4946 to avoid this kind of problem. | |
| 4947 You can find more technical information about <option>harddup</option> | |
| 4948 in the section | |
| 4949 <link linkend="menc-feat-dvd-mpeg4-muxing-filter-issues">Improving muxing and A/V sync reliability</link> | |
| 4950 or in the manual page. | |
| 4951 </para> | |
| 4952 </sect3> | |
| 4953 | |
| 4954 | |
| 4955 <sect3 id="menc-feat-vcd-dvd-output-srate"> | |
| 4956 <title>Sample Rate Conversion</title> | |
| 4957 | |
| 4958 <para> | |
| 4959 If the audio sample rate in the original file is not the same as | |
| 4960 required by the target format, sample rate conversion is required. | |
| 4961 This is achieved using the <option>-srate</option> option and | |
| 4962 the <option>-af lavcresample</option> audio filter together. | |
| 4963 </para> | |
| 4964 | |
| 4965 <para> | |
| 4966 DVD: | |
| 4967 <screen>-srate 48000 -af lavcresample=48000</screen> | |
| 4968 </para> | |
| 4969 | |
| 4970 <para> | |
| 4971 VCD and SVCD: | |
| 4972 <screen>-srate 44100 -af lavcresample=44100</screen> | |
| 4973 </para> | |
| 4974 </sect3> | |
| 4975 </sect2> | |
| 4976 | |
| 4977 <!-- ********** --> | |
| 4978 | |
| 4979 <sect2 id="menc-feat-vcd-dvd-lavc"> | |
| 4980 <title>Using libavcodec for VCD/SVCD/DVD Encoding</title> | |
| 4981 | |
| 4982 <sect3 id="menc-feat-vcd-dvd-lavc-intro"> | |
| 4983 <title>Introduction</title> | |
| 4984 | |
| 4985 <para> | |
| 4986 <systemitem class="library">libavcodec</systemitem> can be used to | |
| 4987 create VCD/SVCD/DVD compliant video by using the appropriate options. | |
| 4988 </para> | |
| 4989 </sect3> | |
| 4990 | |
| 4991 | |
| 4992 <sect3 id="menc-feat-vcd-dvd-lavc-options"> | |
| 4993 <title>lavcopts</title> | |
| 4994 | |
| 4995 <para> | |
| 4996 This is a list of fields in <option>-lavcopts</option> that you may | |
| 4997 be required to change in order to make a complaint movie for VCD, SVCD, | |
| 4998 or DVD: | |
| 4999 </para> | |
| 5000 | |
| 5001 <itemizedlist> | |
| 5002 <listitem><para> | |
| 5003 <emphasis role="bold">acodec</emphasis>: | |
| 5004 <option>mp2</option> for VCD, SVCD, or PAL DVD; | |
| 5005 <option>ac3</option> is most commonly used for DVD. | |
| 5006 PCM audio may also be used for DVD, but this is mostly a big waste of | |
| 5007 space. | |
| 5008 Note that MP3 audio is not compliant for any of these formats, but | |
| 5009 players often have no problem playing it anyway. | |
| 5010 </para></listitem> | |
| 5011 <listitem><para> | |
| 5012 <emphasis role="bold">abitrate</emphasis>: | |
| 5013 224 for VCD; up to 384 for SVCD; up to 1536 for DVD, but commonly | |
| 5014 used values range from 192 kbps for stereo to 384 kbps for 5.1 channel | |
| 5015 sound. | |
| 5016 </para></listitem> | |
| 5017 <listitem><para> | |
| 5018 <emphasis role="bold">vcodec</emphasis>: | |
| 5019 <option>mpeg1video</option> for VCD; | |
| 5020 <option>mpeg2video</option> for SVCD; | |
| 5021 <option>mpeg2video</option> is usually used for DVD but you may also use | |
| 5022 <option>mpeg1video</option> for CIF resolutions. | |
| 5023 </para></listitem> | |
| 5024 <listitem><para> | |
| 5025 <emphasis role="bold">keyint</emphasis>: | |
| 5026 Used to set the GOP size. | |
| 5027 18 for 30fps material, or 15 for 25/24 fps material. | |
| 5028 Commercial producers seem to prefer keyframe intervals of 12. | |
| 5029 It is possible to make this much larger and still retain compatibility | |
| 5030 with most players. | |
| 5031 A <option>keyint</option> of 25 should never cause any problems. | |
| 5032 </para></listitem> | |
| 5033 <listitem><para> | |
| 5034 <emphasis role="bold">vrc_buf_size</emphasis>: | |
| 5035 327 for VCD, 917 for SVCD, and 1835 for DVD. | |
| 5036 </para></listitem> | |
| 5037 <listitem><para> | |
| 5038 <emphasis role="bold">vrc_minrate</emphasis>: | |
| 5039 1152, for VCD. May be left alone for SVCD and DVD. | |
| 5040 </para></listitem> | |
| 5041 <listitem><para> | |
| 5042 <emphasis role="bold">vrc_maxrate</emphasis>: | |
| 5043 1152 for VCD; 2500 for SVCD; 9800 for DVD. | |
| 5044 For SVCD and DVD, you might wish to use lower values depending on your | |
| 5045 own personal preferences and requirements. | |
| 5046 </para></listitem> | |
| 5047 <listitem><para> | |
| 5048 <emphasis role="bold">vbitrate</emphasis>: | |
| 5049 1152 for VCD; | |
| 5050 up to 2500 for SVCD; | |
| 5051 up to 9800 for DVD. | |
| 5052 For the latter two formats, vbitrate should be set based on personal | |
| 5053 preference. | |
| 5054 For instance, if you insist on fitting 20 or so hours on a DVD, you | |
| 5055 could use vbitrate=400. | |
| 5056 The resulting video quality would probably be quite bad. | |
| 5057 If you are trying to squeeze out the maximum possible quality on a DVD, | |
| 5058 use vbitrate=9800, but be warned that this could constrain you to less | |
| 5059 than an hour of video on a single-layer DVD. | |
| 5060 </para></listitem> | |
| 5061 <listitem><para> | |
| 5062 <emphasis role="bold">vstrict</emphasis>: | |
| 5063 <option>vstrict</option>=0 should be used to create DVDs. | |
| 5064 Without this option, <application>MEncoder</application> creates a | |
| 5065 stream that cannot be correctly decoded by some standalone DVD | |
| 5066 players. | |
| 5067 </para></listitem> | |
| 5068 </itemizedlist> | |
| 5069 </sect3> | |
| 5070 | |
| 5071 | |
| 5072 <sect3 id="menc-feat-vcd-dvd-lavc-examples"> | |
| 5073 <title>Examples</title> | |
| 5074 | |
| 5075 <para> | |
| 5076 This is a typical minimum set of <option>-lavcopts</option> for | |
| 5077 encoding video: | |
| 5078 </para> | |
| 5079 <para> | |
| 5080 VCD: | |
| 5081 <screen> | |
| 5082 -lavcopts vcodec=mpeg1video:vrc_buf_size=327:vrc_minrate=1152:\ | |
| 5083 vrc_maxrate=1152:vbitrate=1152:keyint=15:acodec=mp2 | |
| 5084 </screen> | |
| 5085 </para> | |
| 5086 | |
| 5087 <para> | |
| 5088 SVCD: | |
| 5089 <screen> | |
| 5090 -lavcopts vcodec=mpeg2video:vrc_buf_size=917:vrc_maxrate=2500:vbitrate=1800:\ | |
| 5091 keyint=15:acodec=mp2 | |
| 5092 </screen> | |
| 5093 </para> | |
| 5094 | |
| 5095 <para> | |
| 5096 DVD: | |
| 5097 <screen> | |
| 5098 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\ | |
| 5099 keyint=15:vstrict=0:acodec=ac3 | |
| 5100 </screen> | |
| 5101 </para> | |
| 5102 </sect3> | |
| 5103 | |
| 5104 | |
| 5105 <sect3 id="menc-feat-vcd-dvd-lavc-advanced"> | |
| 5106 <title>Advanced Options</title> | |
| 5107 | |
| 5108 <para> | |
| 5109 For higher quality encoding, you may also wish to add quality-enhancing | |
| 5110 options to lavcopts, such as <option>trell</option>, | |
| 5111 <option>mbd=2</option>, and others. | |
| 5112 Note that <option>qpel</option> and <option>v4mv</option>, while often | |
| 5113 useful with MPEG-4, are not usable with MPEG-1 or MPEG-2. | |
| 5114 Also, if you are trying to make a very high quality DVD encode, it may | |
| 5115 be useful to add <option>dc=10</option> to lavcopts. | |
| 5116 Doing so may help reduce the appearance of blocks in flat-colored areas. | |
| 5117 Putting it all together, this is an example of a set of lavcopts for a | |
| 5118 higher quality DVD: | |
| 5119 </para> | |
| 5120 | |
| 5121 <para> | |
| 5122 <screen> | |
| 5123 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=8000:\ | |
| 5124 keyint=15:trell:mbd=2:precmp=2:subcmp=2:cmp=2:dia=-10:predia=-10:cbp:mv0:\ | |
| 5125 vqmin=1:lmin=1:dc=10:vstrict=0 | |
| 5126 </screen> | |
| 5127 </para> | |
| 5128 </sect3> | |
| 5129 </sect2> | |
| 5130 | |
| 5131 <!-- ********** --> | |
| 5132 | |
| 5133 <sect2 id="menc-feat-vcd-dvd-audio"> | |
| 5134 <title>Encoding Audio</title> | |
| 5135 | |
| 5136 <para> | |
| 5137 VCD and SVCD support MPEG-1 layer II audio, using one of | |
| 5138 <systemitem class="library">toolame</systemitem>, | |
| 5139 <systemitem class="library">twolame</systemitem>, | |
| 5140 or <systemitem class="library">libavcodec</systemitem>'s MP2 encoder. | |
| 5141 The libavcodec MP2 is far from being as good as the other two libraries, | |
| 5142 however it should always be available to use. | |
| 5143 VCD only supports constant bitrate audio (CBR) whereas SVCD supports | |
| 5144 variable bitrate (VBR), too. | |
| 5145 Be careful when using VBR because some bad standalone players might not | |
| 5146 support it too well. | |
| 5147 </para> | |
| 5148 | |
| 5149 <para> | |
| 5150 For DVD audio, <systemitem class="library">libavcodec</systemitem>'s | |
| 5151 AC-3 codec is used. | |
| 5152 </para> | |
| 5153 | |
| 5154 | |
| 5155 <sect3 id="menc-feat-vcd-dvd-audio-toolame"> | |
| 5156 <title>toolame</title> | |
| 5157 | |
| 5158 <para> | |
| 5159 For VCD and SVCD: | |
| 5160 <screen>-oac toolame -toolameopts br=224</screen> | |
| 5161 </para> | |
| 5162 </sect3> | |
| 5163 | |
| 5164 | |
| 5165 <sect3 id="menc-feat-vcd-dvd-audio-twolame"> | |
| 5166 <title>twolame</title> | |
| 5167 | |
| 5168 <para> | |
| 5169 For VCD and SVCD: | |
| 5170 <screen>-oac twolame -twolameopts br=224</screen> | |
| 5171 </para> | |
| 5172 </sect3> | |
| 5173 | |
| 5174 | |
| 5175 <sect3 id="menc-feat-vcd-dvd-audio-lavc"> | |
| 5176 <title>libavcodec</title> | |
| 5177 | |
| 5178 <para> | |
| 5179 For DVD with 2 channel sound: | |
| 5180 <screen>-oac lavc -lavcopts acodec=ac3:abitrate=192</screen> | |
| 5181 </para> | |
| 5182 | |
| 5183 <para> | |
| 5184 For DVD with 5.1 channel sound: | |
| 5185 <screen>-channels 6 -oac lavc -lavcopts acodec=ac3:abitrate=384</screen> | |
| 5186 </para> | |
| 5187 | |
| 5188 <para> | |
| 5189 For VCD and SVCD: | |
| 5190 <screen>-oac lavc -lavcopts acodec=mp2:abitrate=224</screen> | |
| 5191 </para> | |
| 5192 </sect3> | |
| 5193 </sect2> | |
| 5194 | |
| 5195 <!-- ********** --> | |
| 5196 | |
| 5197 <sect2 id="menc-feat-vcd-dvd-all"> | |
| 5198 <title>Putting it all Together</title> | |
| 5199 | |
| 5200 <para> | |
| 5201 This section shows some complete commands for creating VCD/SVCD/DVD | |
| 5202 compliant videos. | |
| 5203 </para> | |
| 5204 | |
| 5205 | |
| 5206 <sect3 id="menc-feat-vcd-dvd-all-pal-dvd"> | |
| 5207 <title>PAL DVD</title> | |
| 5208 | |
| 5209 <para> | |
| 5210 <screen> | |
| 5211 mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \ | |
| 5212 -vf scale=720:576,harddup -srate 48000 -af lavcresample=48000 \ | |
| 5213 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\ | |
| 5214 keyint=15:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 25 \ | |
| 5215 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable> | |
| 5216 </screen> | |
| 5217 </para> | |
| 5218 </sect3> | |
| 5219 | |
| 5220 | |
| 5221 <sect3 id="menc-feat-vcd-dvd-all-ntsc-dvd"> | |
| 5222 <title>NTSC DVD</title> | |
| 5223 | |
| 5224 <para> | |
| 5225 <screen> | |
| 5226 mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \ | |
| 5227 -vf scale=720:480,harddup -srate 48000 -af lavcresample=48000 \ | |
| 5228 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\ | |
| 5229 keyint=18:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 30000/1001 \ | |
| 5230 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable> | |
| 5231 </screen> | |
| 5232 </para> | |
| 5233 </sect3> | |
| 5234 | |
| 5235 | |
| 5236 <sect3 id="menc-feat-vcd-dvd-all-pal-ac3-copy"> | |
| 5237 <title>PAL AVI Containing AC-3 Audio to DVD</title> | |
| 5238 | |
| 5239 <para> | |
| 5240 If the source already has AC-3 audio, use -oac copy instead of re-encoding it. | |
| 5241 <screen> | |
| 5242 mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \ | |
| 5243 -vf scale=720:576,harddup -ofps 25 \ | |
| 5244 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\ | |
| 5245 keyint=15:vstrict=0:aspect=16/9 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable> | |
| 5246 </screen> | |
| 5247 </para> | |
| 5248 </sect3> | |
| 5249 | |
| 5250 | |
| 5251 <sect3 id="menc-feat-vcd-dvd-all-ntsc-ac3-copy"> | |
| 5252 <title>NTSC AVI Containing AC-3 Audio to DVD</title> | |
| 5253 | |
| 5254 <para> | |
| 5255 If the source already has AC-3 audio, and is NTSC @ 24000/1001 fps: | |
| 5256 <screen> | |
| 5257 mencoder -oac copy -ovc lavc -of mpeg -mpegopts format=dvd:tsaf:telecine \ | |
| 5258 -vf scale=720:480,harddup -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:\ | |
| 5259 vrc_maxrate=9800:vbitrate=5000:keyint=15:vstrict=0:aspect=16/9 -ofps 24000/1001 \ | |
| 5260 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable> | |
| 5261 </screen> | |
| 5262 </para> | |
| 5263 </sect3> | |
| 5264 | |
| 5265 | |
| 5266 <sect3 id="menc-feat-vcd-dvd-all-pal-svcd"> | |
| 5267 <title>PAL SVCD</title> | |
| 5268 | |
| 5269 <para> | |
| 5270 <screen> | |
| 5271 mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \ | |
| 5272 scale=480:576,harddup -srate 44100 -af lavcresample=44100 -lavcopts \ | |
| 5273 vcodec=mpeg2video:mbd=2:keyint=15:vrc_buf_size=917:vrc_minrate=600:\ | |
| 5274 vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 25 \ | |
| 5275 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable> | |
| 5276 </screen> | |
| 5277 </para> | |
| 5278 </sect3> | |
| 5279 | |
| 5280 | |
| 5281 <sect3 id="menc-feat-vcd-dvd-all-ntsc-svcd"> | |
| 5282 <title>NTSC SVCD</title> | |
| 5283 | |
| 5284 <para> | |
| 5285 <screen> | |
| 5286 mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xsvcd -vf \ | |
| 5287 scale=480:480,harddup -srate 44100 -af lavcresample=44100 -lavcopts \ | |
| 5288 vcodec=mpeg2video:mbd=2:keyint=18:vrc_buf_size=917:vrc_minrate=600:\ | |
| 5289 vbitrate=2500:vrc_maxrate=2500:acodec=mp2:abitrate=224 -ofps 30000/1001 \ | |
| 5290 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable> | |
| 5291 </screen> | |
| 5292 </para> | |
| 5293 </sect3> | |
| 5294 | |
| 5295 | |
| 5296 <sect3 id="menc-feat-vcd-dvd-all-pal-vcd"> | |
| 5297 <title>PAL VCD</title> | |
| 5298 | |
| 5299 <para> | |
| 5300 <screen> | |
| 5301 mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \ | |
| 5302 scale=352:288,harddup -srate 44100 -af lavcresample=44100 -lavcopts \ | |
| 5303 vcodec=mpeg1video:keyint=15:vrc_buf_size=327:vrc_minrate=1152:\ | |
| 5304 vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 25 \ | |
| 5305 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable> | |
| 5306 </screen> | |
| 5307 </para> | |
| 5308 </sect3> | |
| 5309 | |
| 5310 | |
| 5311 <sect3 id="menc-feat-vcd-dvd-all-ntsc-vcd"> | |
| 5312 <title>NTSC VCD</title> | |
| 5313 | |
| 5314 <para> | |
| 5315 <screen> | |
| 5316 mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \ | |
| 5317 scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts \ | |
| 5318 vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:\ | |
| 5319 vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 30000/1001 \ | |
| 5320 -o <replaceable>movie.mpg</replaceable> <replaceable>movie.avi</replaceable> | |
| 5321 </screen> | |
| 5322 </para> | |
| 5323 </sect3> | |
| 5324 </sect2> | |
| 5325 </sect1> | |
| 5326 </chapter> |
