XviD in VirtualDub

Avvia VirtualDub, premi Control-O per caricare il file avs che GKnot ha creato.

Poi seleziona Fast recompress selezionando in Video menu.

Poi torna ancora nello stesso menu e seleziona Compression, o piu' velocemente premi Control-C.

Seleziona XVID MPEG-4 CODEC dalla lista dei codec. Poi premi il pulsante configure per configurare l' encoding.

Ti troverai di fronte una finestra piuttosto spartana:

Qui puoi selezionare i vari metodi di encoding. In questa guida analizzeremo l'encoding in due passate quindi seleziona 2 pass - 1st pass.

Una piccola carellata di tutte le opzioni: 1 Pass - CBR esegue l'encodes del film al bitrate costante che voi gli indicate.

1 Pass - quality e' la modalita' con qualita' costante. Potete settare la qualita' con un numero tra 0 e 100 dove 100 e' la qualita' massima.

1 Pass - quantizer è simile alla modalità a qualità costante ma qui ogni frame ha la stessa compressione, mentre con quality la compressione puo' oscillare un po'(normalmente oscilla tra due dati quantizers).

2 Pass - 1st pass: Fase di analisi per la modalità a doppia passata. Il codec generera' un file di testo contente un bitrate suggerito per ogni frame ,che noi chiameremo bitrate curve.

2 Pass - 2nd pass Int è la modalità a doppia passata interna. Il codec adatterà la bitrate curve in base ad una serie di parametri che verranno illustrati in seguito.

2 Pass - 2nd pass Ext non viene fatto nessun tipo di adattamento ma viene ricavato da una bitrate curve già calcolata (solo GKnot può effettuare questa operazione).

Una volta settato il codec per la prima passata premete il pulsante Advanced options.

Se volete la massima qualità o se volete ottenere un unico CD impostate Motion search precision a 6, altrimenti a 5.Per un unico CD impostate quantization type su H.263 e per 2 CD su MPEG. H.263 tende a produrre un'immagine più sfumata, mentre MPEG è più precisa. MPEG Custom è solo per esperti (ovvero se conoscete la funzione della matrice di quantizzazione, se non siete sicuri al 110% di cosa state facendo non usate questa opzione). Modulated alterna i quantizzatori H.263 e MPEG in modo da ottenere un'immagine più dettaglita senza aumentare le dimensioni come quanto viene utilizzato unicamente la quantizzazione di tipo MPEG. Se volete usare modulated quantizers dovete fare la prima passata usando H.263 quantizers. Il nuovo modulated HQ e' un altro mix di H.263/MPEG e necessita l' H.263 nella prima passata.

Lasciate FourCC used sul valore di default XVID. Cambiando questo parametro è possibile utilizzare il filtro di riproduzione del DivX4 o DivX5, tuttavia esistono ancora alcune incompatibilità quindi utilizzare un'altra impostazione diversa da quella di default non è raccomandato.

Lasciate Maximum I-frame interval su 300. Questo assicurerà che un I-frame (Keyframe) venga inserito almeno ogni 300 frame. Se un I-frame viene inserito a causa di un cambio di scena prima che questo numero venga raggiunto il contatore viene azzerato. Potete usare Minimum I-frame interval per prevenire I-frames consecutivi che potrebbero causare errori nel calcolo del bitrate e cattivi risultati nell' aspetto del video. Settando 1 si disabilita questa feature, i calcoli della curve dovrebbero essere cosi' stabili che questa feature non dovrebbe piu' essere richiesta.

Poi abbiamo lumi-masking che cerca di diminuire il bitrate nelle scene che l'occhio umano non riesce e visualizzare bene. E' ancora allo stadio sperimentale cosi' il risultato varia da film a film ma se volete utilizzarlo assicuratevi di attivarlo in entrambe le passate! Enable greyscale va abilitato nei film in bianco e nero.

Enable interlacing attivera' il supporto per video interlacciati. Questa opzione va usata solo nel caso di video interlacciati (difficilmente un dvd lo e'), di solito materiale ottenuto con processi di acquisizione e registrazioni con videocamere amatoriali...

Poi c'e' chroma motion. Se questa opzione e' attivata XviD inoltre usa le informazioni di chroma per calcolare il motion : e' come mettere search precision al valore 7. Questi calcoli allungano l' encoding di 5-10% ma sono abbastanza efficaci contro i blocchi.

Abbiamo ora Quarterpel, che abilita quarter pixel motion estimation : un modo piu' accurato per calcolare il motion. Quarterpel puo' essere utile specialmente per le basse risoluzioni. Global Motion Compensation puo' essere utile per salvare bits sulle scene di panning. Entrambe le features sono ancora allo stadio di sviluppo quindi usatele con moderazione : potrebbero avere dei bug.

Poi abbiamo B-frames. Come si vede dallo screenshot B-frames e' disabilitato. Potete usare le opzioni di Maximum B-frames per settare il numero di consecutividi B-frames. Sfortunatamente con DivX5 non puoi andare altre 1, nonostante sia suggerito di non superare 3. B-frame quantizer ratio indica la compressione addizionale che B-frame ottiene come rispetto a P-frame (la formula precisa e' ((quantizer of previous p-frame + quantizer of following p-frame)* (bframe quant ration)) / 200 + (b-frame offset / 100)). Lascia questi valori su default.

Infine packed bitstream dovrebbe creare un bitstream che puo' essere decodificato senza delay (come e' stato introdotto nel DivX5.01, in VDub non sarete piu' indietro di un numero di frame dovuto al B-frame decoding) ma poichè il trattamento della curva non può maneggiarlo correttamente si consiglia di non usare questa caratteristica per il momento. DX50 B-VOP compatibility genera un B-frames compatibile con DivX5, che e' il B-frames che puo' riferirsi solamente al P-frames (considerando che secondo Mpeg-4 i B-frames standard possono anche riferirsi ai i-frames). Se la selezionate e settate FourCC a DX50 sarete in grado di riprodurre i vostri video XviD su i pc che hanno installato solo il codec DivX5 (benche' attivando QPel and/or GMC si potrebbero avere degli artefatti).

Ora passiamo alla sezione Two Pass.

Qui è possibile selezionare lo statsfile. Di default come mostrato a sinistra lo stats file verrà memorizzzato sulla root dell'harddisk dove la sorgente video è memorizzata (ad esempio d:\)



Selezionando Hinted ME i motion vectors calcolati durante la prima passata verranno salvati nel file specificato nel campo Hinted ME in modo da velocizzare la seconda passata.Vi sarà una leggera perdita in qualità, ma difficilemente la potrete notare. Nel momento in cui scrivo questa guida, Hinted ME non funziona correttamente e non dovrebbe essere usato( 27/12/02 ).

Andiamo nella sezione Credits.

Inserite l'inizio e la fine dei titoli di coda e spuntate la casella Credits at end of the movie. Generalmente il secondo valore è il numero di frame del vostro filmato, tuttavia in alcuni casi dopo i titoli di coda vi possono essere altre spezzoni di film in questo caso potete usare il seconda parametro per indicare al codec di ritornare alla modalita normale di compressione e quindi queste ultime scene verranno codificate ad una qualità maggiore. Se sono presenti dei titoli di testa potete fare la stessa cosa attraverso Credits at start of movie.



Infine l' encoding mode :

La modalità a quantizzatore costante assicura che ciascun frame venga compresso allo stesso modo. Se volete attivare questa modalità la dovete attivare durante la prima passata (ovvero ora!). Se preferite impostare la dimensione per i titoli di coda o una percentuale del bitrate del film per ora non dovete attivare niente, altrimenti assicuratevi che sia tutto deselezionato tranne l' I-frame quantizer.


Premete 3 volte OK per ritornare alla finestra principale di VirtualDub, quindi premete F7 per salvare il file relativo alla prima passata. Spuntate inoltre la casella Add operation to job list and defer processing. Se volete usare GKnot per l'adattamento della bitrate curve (sconsigliato) non potete usare questa opzione in quanto dovete eseguire la prima passata, modificare manualmente lo stats file in GKnot e quindi effettuare la seconda passata.



Ritornate alla configurazione del codec.

Questa volta selezionate dalla lista 2 Pass - 2nd pass Int. Se preferite che sia GKnot ad effettuare l'adattamento della bitrate curve selezionate 2 Pass - 2nd pass Ext dalla lista. Potete trovare maggiori informazioni sull'adattamento della bitrate curve in GKnot nella GKnot scaling guide.

Tuttavia visto che XviD ha delle funzinalità di adattamento molto avanzate è più sicuro usare le funzioni di adattamento interne. Tornate a GKNot, nella linguetta bitrate noterete il campo Video Size che indica quanto grande sarà il vostro avi senza suono, in MB e KB. Inserite il valore in KB nel campo Desired size.


Quindi premete nuovamente il bottone Advanced options.

Se volete ottenere un unico CD potete attivare lumi masking, che è una tecnica psicovisuale che permette di usare meno bit per le areee molto scure o molto chiare visto che l'occhio umano non è in grado di distinguere bene i dettagli in queste aree. Questa caratteristica è stata progettata in modo da migliorare la qualità del video, ma in alcuni casi sembra avere l'effetto opposto, usatela quindi con prudenza. In ogni caso dovete usarla solo per rip su 1 CD.

Se avete usato i quantizzatori H.263 durante la prima passata, a questo punto potete usare i quantizzatori modulati per incrementare il dettaglio. In questo caso comunque non potrete usare il file che contiene i motion vector generato durante la prima passata, in quanto queste due caratteristiche non sono compatibili.

Le rimanenti opzioni non devono essere modificate.

Andate ora la linguetta Quantization

Cambiate Min I-frame quantizer e Min P-frame quantizer a 2. Usare il quantizzatore 1 non è una buona idea e quindi vogliamo assicurarci che non venga mai usato. Potete ridurre anche il quantizzatore massimo per migliorare la qualità, ma questo può ridurre la fedeltà al bitrate impostato quindi usatelo con prudenza.

Per sicurezza potete lasciare Max quantizers su 31.

Se ottenete dei keyframe di scarsa qualità (gli sviluppatori tendono a pensare che sia un lavoro del codec quello di fare queste scelte, quindi usate queste opzioni con prudenza) potete provare ad abbassare il Max I-frame quantizer a qualcosa compreso tra 4 e 7. Comunque, non ho mai avuto bisogno di questo in quanto non mi sono mai capitati degli I-frames di bassa qualità nei miei video XviD.

Finche' non ho attivato il B-frames le opzioni del B-frame quantizer erano disabilitate.

Andate sulla linguetta Two Pass:

I-frame boost per assegnare più bits agli I-frames rispetto a ciò che è stato calcolato dalla bitrate curve.

Below i-frame distance indica la massima distanza che possono avere due I-frames per essere considerati consecutivi. Tutti gli I-frames sotto questa soglia incorreranno in una riduzione del bitrate, puù alta è la distanza, minore sarà questa riduzione - l'entità della riduzione dipende dal valore di I-frame bitrate reduction %. Discard first pass dovrebbe essere sempre abilitato, altrimenti un file video sarà scritto anche durante il first pass.

Curve compression controlla come verrà scalata la curva del bitrate. High bitrate scene % indica quanti bits verranno "brasati via" dalle scene ad alto movimento, mentre Low bitrate scenes % è lo stesso ma per le scene a bassa quantità di movimento. Bitrate payback delay significa entro quanti frames il codec dovrà restituire il bitrate ipo/iper utilizzato per una data scena. Lascia queste opzioni ai loro valori di default come mostrato a sinistra fintanto non sarai perfettamente sicuro di ciò che stai facendo oppure quando fai deli esperimenti. Usando 0/0 otterrai una distribuzione perfettamente lineare.

Lasciate anche il paramtro payback sul suo valore di default (with bias).

Se usate la curva di compressione alternativa come descritto nel seguito della guida potete ottenere migliori risultati e i valori appena specificati non verranno usati.

Infine selezionate il file contenente le statistiche della prima passata. Quando viene usato GKnot per adattare la bitrate curve il campo 2nd pass stats viene attivato e potrete quindi selezionare il file creato da GKnot. Per adesso NON usate l'opzione Hinted ME.

Passate quindi sulla sezione Al Curve. Prima d'iniziare: E' molto difficile da controllare e molto spesso può fornire risultati inferiori al'uso della normale curve compression quindi usatela con molta attenzione solo se sapete esattamente cosa state facendo (nello screenshot è attivata in modo che possiate veder meglio le opzioni).

Curve aggression specifica quanto velocemente il codec adatta il bitrate ai frames. High aggression è la scelta migliore per le scene particolarmente dinamiche (ad esempio scene slow motion seguite rapidamente da scene high motion). Low aggression effettua l'adattamento più lentamente e non migliora significativamente i frame a basso bitrate, ma allo stesso tempo non danneggia i frami ad alto bitrate. Medium aggression è un compromesso tra le due opzioni.

Abbassare low distance sposterà la scelta verso frame a basso bitrate. Alzare high distance sposterà la scelta verso frame ad alto bitrate. (dal forum su XviD è emerso che le scelte migliori sono 100 per low distance e tra 150 e 250 per high distance).

Strength specifica lo scostamento massimo permesso. Strength ha una pesante influenza sulla qualità. Tuttavia il valore di default 50 sembra produrre ottimi risultati sull'intero film.

Bonus bias è la percentuale di bonus che è distribuita in maniera preferenziale ed il resto in modo proporzionale. In sostanza, alzando bonus bias, si favoriscono le scene a basso bitrate.


Infine andiamo sulla linguetta Credits.

Se avete deciso di non usare la modalità a quantizzatori fissi potete specificare una percentuale del bitrate finale selezionando sia Desired % rate ed inserendo un valore (10-20%), oppure selezionando Starting size (KBytes) ed inserendo la gradezza per i tioli iniziali e finali. Se non sono presenti titoli iniziali inserite semplicamente 0 nei rispettivi campi.

Se avente usato la modalità a quantizzatore fisso nella prima passata non dovete cambiare nulla.

Premete OK 3 volte, quindi premete F7 per salvare l'AVI, assegnategli un altro nome e, come per la prima passata, spuntate la casella Add operation to job list and defer processing. Quindi premete F4 per richiamare la joblist.

Tutto quello che rimane da fare è premete Start, verranno quindi eseguite entrambe le passate senza che sia richiesto nessun altro intervento. Una volta terminato il processo di codifica potete chiudere sia VirtualDub che GKnot.

>> indietro

Ultimo aggiornamento 27/12/02 Ultima tradizione 23/3/2003