Quarta Fase: VirtualDub impostazioni per la prima passata.
Per chi non se ne fosse mai
accorto, VirtualDub non è solo un programma per spezzare in due un AVI
o multiplexare una o più tracce audio ad un video. Per fare la
compressione in Xvid, useremo proprio VirtualDub.
Col Gordian
Pack vi dovreste ritrovare con la versione 1.4.10 di VDub, questa
versione va benissimo per lo scopo, nel caso voi voleste “giocare”
con qualche filtro Avisynth, vi consiglio di lavorare con VirtualdubMod
che vi permette di vedere in maniera più comoda tutte le modifiche che
farete allo script avs creato con Gordian Knot.
Avviamo VirtualDub:
Dal menu File
(1), selezionate Open
Video File e selezionate il file .avs creato con Gordian
Knot, come al solito spostando il cursore sulla barra di scorrimento
(2) potrete visionare le scene
del film.
Ora
cliccate sul menu Video (3),
vi si aprirà questa tendina:
Selezionate
Fast Recompress (4), la
conversione sarà un pò più veloce poiché il video sarà trattato in
modalità YUV.
Cliccate poi su Compression (5)
e vi aprirà una nuova finestra:
Andate a
cercare Il codec XviD Mpeg-4 (6),
in genere è fra quelli in fondo alla lista, poi cliccate su configure
(7), si aprirà una delle
finestre delle impostazioni del codec XviD.
Questa è
la prima finestra di impostazione del codec XviD.
Nel
particolare (1) è riportata la
modalità di codifica, modificabile premendo sul pulsante evidenziato
nel particolare (2)
Nel
particolare (3) a seconda della
modalità di codifica saranno riportate varie informazioni.
Con il
pulsante Advanced Options…(4)
si accede ai parametri avanzati del codec: tipo di quantizzazione,
precisione dell’algoritmo del controllo movimento, regolazione
B-frames, l’algoritmo di compressione della bitrate curve, titoli di
coda…
Il pulsante
Load Defaults…(5)
resetta il codec alle impostazioni predefinite. Queste impostazioni sono
state definite dagli sviluppatori del codec e onestamente bisogna dire
che usandole cosi come sono si ottengono buoni risultati.
Modalità
di codifica:
Ecco
spiegate brevemente le varie modalità con le quali si può eseguire la
compressione video:
1 Pass – CBR
La
compressione viene fatta in una sola passata cercando di rispettare il
più possibile il bitrate indicato nella casella Bitrate (da 0 a 10000).
Il Termine CBR non è molto corretto, poiché la compressione non viene
realmente fatta con bitrate costante.
1 Pass – quality
La
compressione viene fatta in una sola passata cercando di rispettate una
qualità video costante durante tutto il video a seconda del valore
inserito nella casella Quality (da 0 a 100). Gi sviluppatori del codec
affermano che questa modalità si basa su algoritmi molto complicati per
la stima del movimento al fine di fare la compressione.
1 Pass – quantizers
La
compressione viene fatta in una sola passata utilizzando un quantizer
(riduttore) costante per tutta la durata del film (da 1 a 31). Il
quantizer 1 non comprime i dati: con la compressione MPEG-4 il quantizer
più piccolo corrisponde a 2.
Un
quantizer costante non significa bitrate costante ma un tasso di
compressione costante.
2 Pass – 1st pass
La
compressione viene fatta con due passate, questa modalità esegue la
prima passata, il film viene codificato con quantizer fisso a 2 senza
creare un file video e genera un file di log .STATS che sarà
riutilizzato dal codec durante la seconda passata. In questo file .STATS
sono riportate le dimensioni di ogni fotogramma compresso, il livello di
movimento di ogni frame e la posizione degli I-frames, P-frames e
B-frames.
2 Pass
– 2nd pass Ext.
La codifica
viene fatta in due passate, questa modalità permette di effettuare la
seconda passata utilizzando un file .STATS modificato con un programma
esterno. Con questa modalità il codec non gestisce autonomamente la
compressione, attenzione quindi a cosa fate se modificate il file .STATS.
2 Pass
– 2nd pass Int.
La
compressione viene fatta in due passate, questa modalità permette di
effetture la seconda passata il file .STATS generato dal codec durante
la prima passata. La dimensione finale del file video deve essere
inserita nella casella Desiderd size in KBytes. Contrariamente alla
modalità Ext., questa si basa sulle varie impostazione del codec,
quindi attenzione, le impostazioni della cartella Global e Credits
devono essere identiche nella prima e seconda passata!
Null –
test speed
Non avviene
nessuna conversione, ci permette di testare la velocità di codifica con
i vari parametri settati.
Fatta
questa piccola panoramica, continuiamo:
Per quanto
riguarda l’Encoding mode, selezionate 2 Pass – 1st pass.
Come potete vedere (6) in questa
modalità non si puo’ impostare il bitrate. Cliccando su Advanced
options… (7) accediamo alle
impostazioni avanzate del codec.
Questa è la cartella Global,
In questa
immagine come in altre che seguiranno appaiono le funzioni delle versioni che
ad oggi (primi di gennaio 2003) sono in fase di sviluppo, nelle releases
definite stabili, alcune voci potrebbero non esserci.
Global
settings (1):
Motion search
precision: Determina il livello di precisione del codec quando compara le
similitudini fra due frames. I valori validi vanno da 1 a 6, più il valore è
basso e più il codec sarà veloce durante la compressione a scapito della
qualità a valori uguali si bitrate. I
metodi da 1 a 3 usano quasi gli stessi parametri per stimare il movimento.
A partire dal modo 4, il codec usa un metodo di
interpolazione su mezzo pixel per ottenere risultati più precisi, in
modalità 4 ogni macroblocco possiede un vettore di movimento univoco che
descrive il movimento fra due frames. Col
metodo 5, XviD usa “inter4v motion vectors”, significa che i 4 segmenti
8x8 di un macroblocco 16x16 possiedono i propri vettori di movimento. Col
metodo 6 l’analisi è più frequente e rallenta di un 10% la codifica,
aumentando leggermente il livello di compressione.
Quantization
type: varie opzioni
H263:
questo tipo produce leggero effetto smooth dell’immagine eliminando quasi
completamente la granulosità. E’ indicato per bitrates non troppo elevati
tipici dei films fatti su un solo CD, ma da buoni risultati anche nelle altre
situazioni.
MPEG:
questo tipo produce un’immagine più nitida del precedente, si nota però la
granulosità tipica della compressione mpeg, specie con bassi valori di
bitrate, se si fanno conversioni su 2 CD in questo modo si ottiene un leggero
miglioramento visuale con una lievissima diminuzione della velocità di
conversione.
MPEG Custom:
Questa modalità permette di selezionare la matrice di quantizzazione da
utilizzare.
Modulated:
da usare solo nella seconda passata, questo tipo di quantizzazione userà il
modo MPEG per i frames compressi con quantizer 2 e 3 e il tipo H263 per i
frames compressi con quantizer superiori al 3. Permette di ottenere immagini
ben dettagliate con bassi valori di quantizer evitando una granulosità troppo
visibile.
New Modulated
HQ: funziona al contrario del precedente; usa H263 per frames compressi
con quantizer 2 e 3, e il tipo MPEG per i frames compressi con quantizer
superiori a 3. Permette di ottenere un buon livello di dettaglio limitando
molto lo smoothing dell’ immagine.
Riassumendo, ecco le combinazioni di
Quantization type che vi consiglio per la prima e seconda passata:
Film
su 1 CD
|
|
Film su 2 CD
|
|
1st pass
|
2nd pass
|
1st pass
|
2nd pass
|
H263
|
H263
|
H263
|
H263
|
H263
|
Modulated
|
H263
|
Modulated
|
MPEG
|
New Modulated HQ
|
MPEG
|
New Modulated HQ
|
|
|
MPEG
|
MPEG
|
FourCC used:
In questa casella è possibile scegliere il FourCC del file video, cioè in
che modo viene identificato e decodificato. Un FourCC XviD farà in modo che
il video venga letto dal decoder XviD, un FourCC Divx o DX50 comporterà
invece una lettura col decoder DivX. E’ preferibile lasciarlo settato come
XviD.
Maximum
I-frame interval: Qui si regola l’intervallo massimo in frames di 2
I-frames (= K frames). Questo parametro obbliga il codec a inserire un I-frame
dopo l’intervallo indicato. Lo scopo è quello di evitare il progressivo
degradarsi della qualità video dovuta alla carenza di I-frames. Valori
consigliati: un multiplo del frame-rate del video originale, da 100 a 250 a
seconda che si faccia rispettivamente un film su 2 o 1 CD. (nel caso il
frame-rate sia di 25 fps)
Minimum
I-frame interval: In questo caso si regola l’intervallo minimo
consentito fra due I-frames. Con un valore pari a 1 il codec è libero di
piazzare una serie di I-frames consecutivi. Durante la riproduzione se il
decoder si ritrova a dover leggere una lunga serie di I-frames consecutivi il
video sarà visualizzato con una pessima qualità, generalmente però il
numero di I-frames consecutivi non è mai molto grande, puo’ succedere che
ne piazzi 4 o 5, e 4 o 5 frames corrispondono a circa 1/5 di secondo, quindi
è una cosa abbastanza difficile da notare. Valore consigliati 1. Per altri
valori potete fare delle prove, però attenzione c’è il rischio che il
codec non metta un I-frame dove serve.
Enable
Lumimasking: Il principio più o meno è quello dello Psychovisual
Enhancements del Divx 5. Praticamente le zone molto scure o molto chiare
(situazioni in cui l’occhio umano è meno sensibile) di un frame vengono
compresse maggiormente.Il rilevamento di queste zone viene fatto solo a
partire dalla luminanza. Attenzione: questo parametro permette di aumentare la
compressibilità col rischio però di artefatti abbastanza visibili quando il
bitrate è elevato. Nel caso di una codifica in due passate, usatelo solo
nella seconda.
Enable
interlacing: Permette la gestione da parte del codec di sorgenti
interlacciate.
Quarterpel:
Attiva la modalità Quarter Pixel (Qpel), ogni macroblocco viene diviso in 4
col fine di ottenere una stima del movimento più precisa poiché lo
spostamento minimo di un blocco fra 2 frames consecutividi è diviso per 4. Se
questa funzione non è attivata, il codec utilizza il metodo Half Pixel (HPel)
che corrisponde ad una divisione per 2 virtuale di ogni blocco. Attivare
questa opzione rallenta sensibilmente la codifica. In alcune versioni in
sviluppo del codec il qpel produce artefatti e fastidiose variazioni
cromatiche, quindi attenzione, fate alcune prove!
Dynamic hpel/qpel
decision (qpel must be enabled): Se l’opzione Qpel è attivata, il codec
sarà libero di abilitare o meno l’uso di qpel o hpel,
passando dinamicamente da una modalità all’altra.
Enable
greyscale: Permette di comprimere il film in Bianco e Nero: il codec
non considera la crominanza ed eseguirà la compressione basandosi solo sulla
luminanza, il guadagno di spazio a parità di risoluzione e quantizer è
consistente. Attenzione, le in formazioni riguardanti i colori saranno perse,
di conseguenza non sarà possibile vedere le immagini a colori in nessun modo.
Use chroma
motion: La ricerca del movimento si baserà anche sulla crominanza oltre
che sulla sola luminanza, la stima del movimento sarà più accurata poiché
il codec si basa su 2 matrici di dati. Questa opzione rallenta molto la
codifica.
Global Motion
Compensation: o GMC, migliora la gestione delle scene che contengono zoom
o grandi zone in movimento basandosi su due frames consecutivi.
B-frame
control (2):
Maximum
B-frames: Qui si imposta il massimo numero di B-frames consecutive. Il
valore -1 disattiva la compressione con B-frames, 0 (zero) ne
attiva la gestione durante la compressione senza però inserirne. Se vorrete
usare i B-frames, vi consiglio di impostare questo valore a 1 o 2, valori più
alti tendono a rendere la dimensione finale del file imprevedibile e a
diminuire la qualità video.
B-frame
quantizer ratio (%): Qui si imposta il ratio applicato al quantizer di un
B-frame in rapporto al quantizer del frame precedente e successivo. Il
quantizer di un B-frame è legato ai quantizer del frame precedente e
successivo da questa relazione: Quant[B-frame] = ((Ratio*(Quant[frame
precedente]+Quant[frame successivo])/2) + Offset)/100.
Valori
consigliati quelli di default, tenete conto per DivX 5 questo valore è sempre
pari a 200.
B-frame
quantizer offset: Questa casella permette di regolare l’offset ai
quantizer di tutti i B-frames, è un valore costante che si aggiunge al
prodotto del ratio (visto sopra). Ad esempio, un valore 200 aggiunge un
+2 al quantizer del B-frame.
Un valore pari a 0
(zero) disabilita la funzione.
Packed
bitstream: Attiva la funzione packed bitstream,cioè: i B-frames e i
P-frames precedente e successivo sono codificati assieme in un solo
bitstream, con lo scopo di evitare uno sfasamento temporale in fase di
decodifica.
Nelle versioni in
fase di sviluppo non ha mai apportato variazioni visibili, oppure introduceva
scattosità. Anche questa opzione dovrà essere utilizzata con cautela.
DX50 B-VOP
compatibility: Opzione che farà generare al codec B-frames compatibili
con i B-frames di DivX 5.
Praticamente
vengono introdotte delle restrizioni alle norme Mpeg-4 ISO, imponendo
che un B-frame non possa essere piazzato subito prima ad un K-frame. Se
intendete usare un FourCC DIVX o DX50, questa opzione è indispensabile.
Ne consiglio comunque l’utilizzo in ogni caso.
Print debug
info on each frame: probabilmente questa opzione non sarà più
disponibile nella versione finale, praticamente, con questa opzione permette
di visualizzare informazioni di debug ogni volta che un B-frame viene inserito
nel video.
Questa
invece è la cartella Quatization. Durante
la prima passata poiché il codec analizza il video con quantizer costanti
pari a 2, le opzioni sono bloccate. (A)
Le restrizioni dei quantizer dei B-frames non
sono ancora gestibili. (B)
Il passo
successivo è quello di occuparsi della cartella Two Pass, anche in
questo caso, nella prima passata gran parte delle opzioni sono bloccate.
Nella sezione
Two-pass tuning, l’unica cosa che è possibile modificare è Discard
first pass (1), e, a meno che non
vogliate un file video enorme alla fine della prima passata, lasciatela
attivata.
Hinted ME: (2)
se l’opzione è attivata, durante la prima passata verrà creato un file .MHW
contenente informazioni sui vettori di movimento calcolati al fine di essere
utilizzati direttamente nella seconda passata. Questo dovrebbe permettere un
aumento della velocità nella seconda passata a scapito però di una piccola
perdita di qualità del video. L’aumento di velocità che ho riscontrato
durante i test che ho fatto non è stata evidente, probabilmente l’opzione
non è ancora a punto. Vi consiglio di usarla solo se fate un film su 2 o più
CD.
1st pass stats:
(3) qui dovete specificare il percorso
dove verrà salvato il file con le statistiche della prima passata. Se lo
lasciate così com’è’ verrà creato in C:\.
Questo file .stats
è l’equivalente del file del .log DivX.
Anche nella
cartella Alt. Curve durante la prima passata quasi tutte le opzioni
sono bloccate.Gli unici valori che si possono modificare sono quelli
evidenziati nel riquadro.
Max bitrate (Kilobits/s):
Permette di limitare il bitrate istantaneo in kbps richiesto per un frame, i
bits che non verranno utilizzati a causa di questa limitazione saranno messi
in riserva e utilizzati nelle sequenze con basso bitrate.
Max overflow
improvement %: permette di regolare la distribuzione della riserva di bits
nelle sequenze che hanno un bitrate inferiore a quello stimato a priori dal
codec. Più il valore è elevato e più la riserva di bits sarà estinta
rapidamente.
Max overflow
degradation %: permette di regolare la percentuale di bits presi nei
periodi che hanno un bitrate più elevato di quello stimato a priori dal
codec.
Generalmente
questi valori li lascio per default, sappiate comunque che limitare il bitrate
in Max Bitrate puo’ compromettere la qualita’ delle scene che richiedono
alti valori di bitrate, specie in film con moltissima azione, esplosioni
colossali, lunghe scene molto rapide….
Nella cartella Credits
si andranno a regolare alcune impostazioni che riguarderanno solo i titoli
di inizio o di coda del film.
Nel riquadro
Credits at start of movie: (1) se
attivata dovrete specificare in Credits start at frame no. il
frame iniziale dei titoli di testa e in Credits end at frame no. il
frame in cui finiscono i titoli di testa.
Nel riquadro
at end of movie: (2) come nel caso
precedente dovrete specificare a che frame iniziano e a che frame finiscono i
titoli di coda. I due valori ve li dovreste essere segnati in una delle fasi
finali di Gknot.
Encode credits
in greyscale, (3) questa opzione
non ha bisogno di commenti, i titoli di coda verranno compressi in bianco e
nero.
Credits rate
reduction (4) con questi parametri
si imposta quanto la compressione dei titoli di coda, ci sono due modi per
farlo:
1.
Desired % rate: si indica quale percentuale di bitrate sarà usata
per la compressione, ad esempio se il bitrate medio del film è 1000, per il
titoli di coda impostare questa voce a 20% significa che che i titoli saranno
compressi a 200.
2.
I-frame e Pframe quantizer: in questo caso si indica al codec di
comprimere i t.d.c. con quantizer costanti, piu’ questi valori sono elevati
più i titoli saranno compressi.
Che senso ha
comprimere i titoli in modo diverso da tutto il resto del film? Semplice,
tutti i bits risparmiati saranno utilizzati durante il film col fine di
migliorare la qualità dell’immagine.
La cartella debug potete lasciarla stare,
informazioni sui parametri in essa contenuta le trovate nella recensione di
XviD fatta da –CereS – nella sezione articoli di www.Divxmania.it.
Cliccate per tre
volte sul tasto OK per tornare a VirtualDub:
Dal menù File
selezionate Save as AVI,
e date un nome (1)
al file avi fittizio che verrà creato durante la prima passata, cliccate su
Salva (2)
Ora non dovrete fare altro che aspettare che la prima passata sia compiuta, il
tempo necessario dipenderà dalla potenza del vostro PC, dalla durata del
film, dalla risoluzione e dalle opzioni di compressione attivate (B-frames,
Q-Pel ecc….).
Alla fine, otterrete un file .avi inutilizzabile e un file di
statistiche .stats.
[pagina
precedente] [pagina successiva]
[Menù video su CD][Home page] |