Read English version of this Guide.
Leggi la versione Francese di questa guida.
Ritorna all'indice degli Articoli.

DivX: The MakeFilm™ Revolution!
 
 

Scritto da Nicky Page, tradotto da nduja

Nota: Con questa guida dò per scontato che tu sappia già come creare un film DivX da un DVD, e che tu sappia usare in maniera sufficiente il programma VirtualDub. Se non hai dimestichezza a proposito di uno dei due, ti consiglio di leggere le altre mie guide, specialmente quella sull'uso del programma mpeg2avi, dato che affronta dettagliatamente le funzioni di VirtualDub.

I programmi di cui avrai bisogno:

  1. FlasKMPEG or Mpeg2avi ecc., (Qualsiasi programma tu possa usare per creare film DivX)
  2. MakeFilm
  3. VirtualDub
  4. AVIFrate
Fast Motion Codec, Low Motion Codec, High bitrate, Low bitrate - Ognuno cerca i migliori settaggi per creare dal proprio DVD il DivX "perfetto". Ciò mi ha spinto a scrivere le guide: "DivX quality check" e "How to Join DivX Avi's and Double the Quality of Your Rips". Teoricamente il codec Microsoft Mpeg-4 avrebbe dovuto essere come l'Mpeg-2, che consente di impostare un bitrate minimo (in modo che la qualità video non sia troppo bassa) ed un bitrate massimo (o non sia così alta da non poter entrare nel cd in cui vuoi mettere il film che avrai come risultato finale).

Abbiamo due versioni del codec DivX: il Fast Motion Codec, che, come il nome suggerisce, è ottimizzato per le scene con movimenti veloci. Le scene normali subiscono un grandissimo calo in qualità, ma le scene d'azione vengono veramente bene!! Con il Fast Motion Codec puoi impostare il bitrate massimo.  Per esempio, questa è una scena creata con il Fast Motion Codec impostato a 6000kbps:

action1.jpg (38334 bytes)

E questa è la stessa scena creata con il Low Motion Codec, con le stesse dimensioni, ma impostato a 600kbps:

action2.jpg (18601 bytes)

Al contrario, il Low Motion Codec ha una grande qualità, ma solo in scene con poca azione. Con questo codec tu imposti il bitrate massimo del tuo film. Per esempio, questa è una scena non veloce compressa con il Low Motion Codec a 600kbps:

low-action2.jpg (46304 bytes)

E ancora, ecco la stessa scena con il Fast Motion Codec a 6000kbps:

low-action1.jpg (57328 bytes)

Come puoi capire, persino a 6000kbps il Fast Motion Codec può raggiungere i risultati del Low Motion Codec a 600kbps. Però, per poter superare in qualità il Fast Motion Codec durante le scene d'azione, il Low Motion Codec deve essere impostato a non meno di 1500kbps . Il risultato sarebbe quindi di un file di grandissime dimensioni!

Penso sia chiaro anche per te che se noi potessimo suddividere un film in scene lente e veloci, e poi comprimere le prime con il Low Motion Codec e le seconde con il Fast Motion Codec, per riassemblarle in seguito, avremmo alla fine un film che ci darà "Il Meglio Di Entrambi I Mondi!"* E sopratutto di questo tentativo trattavo nella mia guida "How to Join DivX Avi's and Double the Quality of Your Rips".

*noi siamo borg, ogni resistenza è inutile! (ndt: perdonatemi ma sono molto ignorante a proposito di Star Trek)

Il problema in questo procedimento stava nella difficoltà di creare due o più film separati e riuscire a unire gli spezzoni con la qualità migliore senza creare una notevole e fastidiosa transizione tra una scena e l'altra. La mia guida precedente era stata redatta per riparare alcune scene assemblate male, il che era un'impresa più dura delle 12 fatiche di Ercole!

Ma ora, grazie ad una grande persona che risponde al nome di MI-CHI, si può usare questo metodo con la stessa facilità con cui si crea un div-x "standard"! Lasciate che vi introduca al programma MakeFilm!
 
 

Che cos'è MakeFilm?

MakeFilm è un programma che prepara files batch (ndt: automazioni) per VirtualDub. Il concetto vuole che tu crei due versioni DivX per lo stesso film: una in High Bitrate, una in Low Bitrate. Tu isoli nel film in Low Bitrate le scene veloci, per sostituirle con spezzoni che vai a prendere nel film in High Bitrate, e MakeFilm creerà un batch file che farà fare a VirtualDub il resto del lavoro! Tu dovrai solo aprire il batch file con VirtualDub e farlo iniziare a lavorare! VirtualDub quindi creerà un film diviso in spezzoni attingendo dalle due versioni compresse in modo diverso, numerandoli e salvandoli in una cartella. Dopo sarà molto facile aprirli e concatenarli in un unico film con VirtualDub, usando l'opzione "append video segment" dopo aver selezionato il primo spezzone della serie. A questo punto potrai salvare il tuo film in un DivX di qualità eccelsa. Ti sbagli se pensi che sia difficile, a farsi è molto facile ed intuitivo! MakeFilm ha anche un calcolatore avanzato per il bitrate che ti permette di considerare quanto spazio ti resta per le scene in High Bitrate dopo averle aggiunte a quelle in Low Bitrate, e viceversa =^).

E le cattive notizie? In pratica nessuna, se non il fatto che avrai bisogno 2-3 gigabytes di spazio libero per usare questo metodo. Avrai bisogno dello spazio per salvare 4 Films: i primi due con bitrate diversi; il terzo rappresentato dagli spezzoni da assemblare, ed il quarto che sarebbe poi il risultato finale.
 
 

Creare un Film!

Innanzitutto, devi creare due files AVI: uno in Low Bitrate, uno in High Bitrate. Come fare sta a te. Puoi usare rispettivamente Mpeg2avi o Flask Mpeg. Usa SEMPRE il Low Motion Codec per il film in Low Bitrate, la qualità sarà migliore, credimi! Inoltre, ti raccomando di impostare il Low Motion Codec ad almeno 600kbps, non ti consiglio di meno, ma fà come ti pare. (ndt: traduzione libera :-) )

Per il film in High Bitrate hai due opzioni. Per un DivX su un CD singolo raccomanderei di usare il Fast Motion Codec ad almeno 2000kbps. Se invece dividerai il film in due CD puoi oscillare tra i 1000 e i 2000kbps con il Low Motion Codec a seconda di quanto spazio hai libero. Ti consiglio di settare la variabile Crispness (ndt: accuratezza) a 75% per evitare che qualche frame sia scartato nella compressione. Settare la variabile Keyframe ad 1 secondo ti permetterà di separare e assemblare gli spezzoni più accuratamente (ndt: perchè avrai più frame indicizzati e potrai scegliere meglio dove tagliare e... incollare!).

Come calcolare i bitrate dei files AVI?

MakeFilm ha un calcolatore interno per i bitrate. Ha due funzionalità: Un calcolatore standard (che è molto simile agli altri trovabili in giro per la rete), ed uno avanzato che ti permette di fare due cose in particolare:

1. Approssimare il bitrate necessario del file in High Bitrate, nel caso che tu voglia calcolare le scene da sostituire nel file in Low Bitrate prima ancora di creare il file con bitrate alto

2. Calcolare il numero massimo di secondi che puoi copiare dal film in High Bitrate a quello in Low Bitrate.

Il Calcolatore
 
Film length (s)

Lunghezza del film in secondi. Es. 2 ore = 2 * 60 minuti * 60 secondi = 7200 secondi

Audio (Kbps) 

Bitrate del flusso audio. Es. 64 per 64Kbps 44.100KHz DivX ;-) Audio o 192 per due tracce 96Kbps MP3 (due lingue).

Final size (MB)

Dimensione finale desiderata per video+audio. Es.650 per un cd da 74 minuti, 700 per uno da 80 minuti.

Bitrates (Kbps) of [Avi1 ; Avi2]

Indovina? Se vuoi usare il calcolatore di MakeFilm solo per sapere il bitrate di un file AVI, lascia intatti questi campi. Avi1 è il file in Low Bitrate, Avi2 il file in High Bitrate.

High Bitrate length (s)

Lunghezza totale in secondi degli spezzoni in High Bitrate che vuoi inserire nel file in Low Bitrate.

 

Esempio 1: Trovare il bitrate per il file AVI in High Bitrate

Devi comprimere 645 secondi, in High Bitrate, di un film che è lungo 7200 secondi (ndt: 2 ore!) ed ha un flusso audio di 64kbps, ed il tutto deve stare in 700MB. Il file in Low Bitrate è stato compresso a 650kbps. Inseriti tutti questi dati nei rispettivi campi vedrai comparire nel campo "Max High Bitrate (Kbps)" la risposta: circa 1570Kbps.

Ora che conosci questo valore puoi comprimere il film nel file in High Bitrate e far lavorare VirtualDub sui due file a tua disposizione. Quando unirai gli spezzoni generati prima da VirtualDub otterrai un file delle dimensioni (di poco minori o maggiori) desiderate.

Esempio 2. Ottenere il numero di secondi per il file AVI in High Bitrate

Hai compresso un film nei due file, il Low Bitrate a 650kbps e l'High Bitrate a 1500 Kbps, e adesso vuoi sapere quanti secondi in High Bitrate possono essere inseriti nel Low Bitrate. Il tuo film è come all'esempio 1: lungo 7200 secondi con un flusso audio di 64kbps e deve avere una dimensione massima di 700MB; il risultato sarà esposto nel campo "Max Len High Br. (s)", e la rispostà sarà circa 698 secondi.
 
 

Prima di cominciare, facciamo delle verifiche!

Okay, hai creato i due file AVI. Ma come sicuramente già saprai i film in Fast Motion Codec non possono essere uniti a quelli in Low Motion Codec perchè le loro intestazioni sono diversi. Come ho già spiegato nella mia guida "How to Join DivX Avi's and Double the Quality of Your Rips" questa differenza può essere annullata con un editor esadecimale. Procurati un programma freeware chiamato HView su www.softseek.com o nei più diffusi siti web per download di software. Quando apri un DivX con quel programma dovrebbe apparirti una schermata simile a questa sotto:

Sembra complicato eh? In realtà devi solo cambiare da così:

A così:


 
 

Verifica del framerate, A/V synch & NTSC!

Se hai cambiato il framerate del film a causa della desincronizzazione tra audio e video dovresti avere un framerate come 24.998 o qualcosa del genere. Prima di procedere dobbiamo cambiare il framerate a 25fps. Makefilm lavora solo con un film a 25fps PAL perchè è un numero intero. Il motivo è dato dal fatto che non puoi dividere un film a metà frame! Quindi dovrai cambiare il framerate a 25fps anche se il tuo film "gira" a NTSC 29.97 o 23.976 ecc. Non preoccuparti, è facile a farsi ed a prodotto finito può essere ripristinato senza differenze.

Apri quindi il programma AVIFrate e cambia il framerate a 25.000. Ma segnati da qualche parte il framerate "orginale"! A prodotto finito potremo ripristinare il framerate esattamente come prima.


 
 

Rimozione dell'audio

So cosa starai pensando, "Dicevi che era facile e devo fare tutto 'sto casino!" Bene, è meglio stare al sicuro che piangere ;^). Rimuovere l'audio non è necessario nell'operazione di riassemblamento, ma assicura velocità a tutte le operazioni e nessun suono verrà perso nel processo di "taglia e incolla". Quindi sta a te decidere! Innanzitutto dobbiamo salvare l'audio in un posto sicuro per poterlo riassemblare dopo. Quindi apri VirtualDub e seleziona "File" > "Save Wav..."

Nota: WAV non significa PCM wave o roba di quel tipo, significa salva con nome "qualcosa.wav"! Il formato audio è lo stesso del film, per cui se hai usato il formato MP3, in realtà quello che salvi sarà un MP3 ma con estensione WAV. Questo non costituisce un problema e potrà essere riassemblato in seguito.

Adesso bisogna rimuovere l'audio da entrambi i files AVI. Apri il primo con VirtualDub e seleziona Video > Direct stream copy; Audio > No audio, quindi salvalo. Apri il secondo film e fà lo stesso.

Verifica finale

Se ci siamo capiti bene dovrebbe essere così:

  1. Hai il film compresso in un file AVI con High Bitrate
  2. Hai il film compresso in un file AVI con Low Bitrate
  3. Il framerate di entrambi i files AVI è 25fps
  4. Hai una traccia audio separata contenente l'audio del film
  5. Nessuno dei due files AVI ha ormai la traccia audio
A questo puntoi ti suggerirei di creare una cartella e metterci dentro i due files AVI rinominandolinqulacosa del tipo movieF.avi e movieL.avi per ricordarti dei codec usati (F sta per Fast Motion Codec) etc. E crea un'altra cartella denominata "clips" in cui andrai a salvare gli spezzoni da riassemblare. Questo non è un dettaglio importante, ma l'ho ricordato di modo che tu possafare ordine del lavoro eseguito sinora.

Infine, dobbiamo verificare che entrambi i files siano della stessa lunghezza. Dovrebbero esserlo dato che l'unica differenza tra di loro è il bitrate usato, o no? (ndt: altrimenti dovresti rifare tutto daccapo eheheh :\ ) I tuoi files AVI devono avere stessa altezza, lnghezza e keyframe. Per verificare, apri i due files con VirtualDub e vai alla fine se l'ultimo frame è allo stesso numero in entrambi i film tutto va bene. Continuiamo.
 
 

Il momento divertente!

Divertente? In realtà è più divertente del resto, ed ho trovato che diventa preso un'abitudine dopo un pò. Apri con VirtualDub il film fatto in Low Bitrate. Ora dobbiamo "fare un giro" nel film e cercare le scene d'azione. Vedrai che nelle scene d'azione la qualità cala sensibilmente ed il video diventa "blocchettoso", dato che il Low Motion Codec, a differenza del Fast Motion Codec, non innalza il bitrate. Non dimenticare quindi che stai cercando nel film gli spezzoni da sostituire con clips ad un bitrate PIU' ALTO! Usa la barra di scorrimento di VirtualDub per trovare le scene da migliorare. Quando ne hai trovata una DEVI selezionare il punto di inizio con i bottoni di navigazione tra keyframes(A).

Adesso apri il blocco note e trascrivi la posizione del punto d'avvio visualizzata al circoletto(B). Puoi usare indifferentemente sia il numero del frame (nell'immagine sopra 72775) o il timecode (sopra è 0:48:31.000. Lo 000 puoi evitarlo). Cerca quindi la fine di questa scena veloce, ed usa, per trovare il punto di fine, di nuovo i pulsanti keyframe(A). Bingo! Fà lo stesso con tutti gli spezzoni che vuoi. Alla fine dovresti ottenere qualcosa come il mio esempio qui sotto per il film "Alien Resurrection" (ndt: dell'autore!) :

Avrei potuto rendere questo più complesso. Ricorda: è tanto facile individuare un singolo clip quanto individuarne un centinaio! L'unico lavoro extra, è scrivere una lista più lunga. E non hai nemmeno bisogno di scrivere un commento per iogni scena, io l'ho fatto solamente per senso dell'ordine. Dobbiamo creare un piccolo file INI dopo. Seguendo il mio esempio, eccotelo:

Sempre nel blocco note, inserisci sopra l'elenco dei timecodes l'intestazione [TimeCodes]. Sopra di esso abbiamo un elenco con intestazione [Files]. Sotto, attaccato alla voce "AviInFile1=" devi inserire il percorso del primo file AVI (questo DOVREBBE essere sempre il film con Low Bitrate). Vai a capo, e scrivi attaccato alla voce "AviInFile2=" dov'è il film in High Bitrate. Il Jobfile è il file generato da MakeFilm per la divisione degli spezzoni da parte di VirtualDub. Dato che io lo voglio salvare nella mia cartella "c:\clips" e dargli il nome "alien.jobs" , scriverò: "Jobfile=C:\clips\alien.jobs". AviOutFile è il percorso del posto dove vuoi salvare gli spezzoni ed il nome che vuoi sia loro assegnato. Ho scritto che li voglio nella mia cartella "clips" e che siano chiamati "alien". In altre parole VirtualDub spezzetterà il film seguendo le mie istruzioni sui punti di inizio e fine, e dando agli spezzoni nome del tipo "alien01.avi", "alien02.avi" ecc.
 
 

Uso dell'interfaccia di MakeFilm

Salva il file elaborato col notepad con il nome che vuoi, io ho chiamato il mio: "alientime.txt", ed aprilo da MakeFilm. Usa il pulsante sfoglia ([...]) accanto al campo "Time File" e trova il file di testo appena creato e chiamato "alientime.txt". Non appena lo aprirai molti campi si compileranno automaticamente. Se vedi che qualche impostazione non è corretta, puoi cambiarla ora dall'interfaccia.

La sezione inferiore chiamata "Create Cutting Job" ha bisogno di essere spiegata. VirtualDub ha problemi nel dividere spezzoni inferiori a 60 secondi. La funzione Cutting Job compensa questo malfunzionamento per cui se vuoi puoi anche creare spezzoni di 1 secondo senza il minimo problema. Se sei sicuro che i tuoi spezzoni, e gli spazi tra essi, non siano inferiori ai 60 secondi, puoi evitare questa funzione. Ma siccome suppongo nel prodotto finale cercherai di economizzare in termini di spazio, dubito che non possa esserti utile. Come funziona? Invece di tagliare piccoli spezzoni, li taglia più larghi e poi fa eliminare a VirtualDub i frames in più. Siccome VirtualDub ha problemi nell'accorpare spezzoni piccoli, è meglio tagliare gli extra alla fine. Quello che ti serve sapere è solo che MakeFilm crea un job file che deve essere eseguito dopo che il film è stato processato. Per fare ciò deve sapere, o meglio, devi dirgli quale sarà il nome del nuovo file AVI.

Quindi, torniamo all'immagine sopra. In qualsiasi modo hai deciso di dare nome al file AVI finale, corrisponde al campo"Joined AVI", ed io ci ho scritto "repeat.avi". L'ho chiamato repeat perchè ha dei bit ripetuti che devono essere eliminati. Phew! Spero di essermi spiegato decentemente. (ndt: altrimenti la colpa è mia. =[ )

Infine, il campo "Final AVI" ci chiede dove VirtualDub farà il suo ultimo lavoro e salverà il file FINALE, con tutti gli spezzoni tagliati e riuniti correttamente. Super! Premi "Convert"!. (ndt: solo se è tutto ok)
 
 

Uso dei Jobfiles

Tieni duro, abbiamo quasi finito! Se hai fatto come nel mio esempio, dovresti notare che MakeFilm ha create nella cartella "clips" due piccoli file: alien.jobs e alien2.jobs. il primo suddivide il tuo film in scene. Il secondo corregge i problemi dovuti alla gestione di clips inferiori a 60 secondi, dopo questo, il tuo film è finito. Allora, come li usiamo? Apri VirtualDub e seleziona "File" > "Job Control..."

Apparirà la finestra Job Control. Seleziona "File" > "Load job list..."

trova il primo job file e clicca "open".

Vedrai apparire una finestra come nell'immagine qui sotto. Clicca su "Start" e aspetta che VirtualDub finisca di lavorare.! =^).

Quando VirtualDub finisce dai un'occhiata alla tua cartella "clips". Vedrai che tutto il film è stato separato in varie parti, alcune in High Bitrate, le altre in Low Bitrate. Cool! Chiudi la finestra Job Control. Avvia VirtualDub ed apri il primo clip. Dovrebbe essere quello senza nessun numero attaccato, quindi il mio si chiamerà alien.avi. Dopo apri il clip seguente usando la funzione "File" > "Append video segment...". Ma questa volta, abilita l'opzione cerchiata in rosso nell'immagine qui sotto (Automatically load and detect additional video segments). Bingo! Ogni spezzone seguente nella lista sarà aperto ed unito agli altri automaticamente!

Infine, dovrebbe esserci un file del tipo filename.last.avi (il mio si chiama alien.last.avi). Questo è l'ultimo file, e deve essere unito agli altri manualmente. Vai di nuovo du "File" > "Append video segment...". Seleziona alien.last.avi, clicca "Open" e per ora hai finito. Salva il file con il nome repeat.avi come ho già anticipato prima. Per poterlo salvare dobbiamo selezionare: "Video" > "Direct stream copy" e penso che tu sappia anche perchè.

Uso del secondo Jobfile

Se hai poco spazio ora puoi anche canecellare gli spezzoni nella tua cartella "clips". Ma non cancellare il file chiamato "repeat.avi". Adesso andiamo, come avrai già indovinato, ad aprire il secondo job file! [nel mio esempio alien2.jobs].

Stessa procedura del primo, e fallo partire! Questa volta VirtualDub eliminerà le scene ripetute nel film repeat.avi e lo salverà automaticamente dandogli il nome che è piaciuto a me: final-alien.avi. Questò è veramente il file FINALE! Aprilo - e guardalo! Se hai fatto tutto correttamente allora hai un film con una super qualità sia nelle scene lente che in quelle veloci. Congratulazioni!... ma aspetta! Dove è andato a finire il suono?
 
 

"Straightening Loose Ends" (ndt: che vuol dire?)

Adesso che hai finito di lavorare sul file AVI puoi ripristinare le limitazioni che avevi imposto all'originale cosicchè il suono cisia, sia sincronizzato, ed il film vada alla giusta velocità.

Ripristino del Framerate

Se prima hai cambiato il Framerate del tuo film, adesso devo ripristinarlo, ad esempio con questo programma:

Ripristino del flusso audio

Ti ricordi che abbiamo salvato l'audio da qualche parte prima di rimuoverlo dal film? Bene, adesso è il momento di rimettercelo dentro. Apri VirtualDub, seleziona "Video" > "Direct stream copy", seleziona "Audio" > "Wav Audio..." e il programma ti chiederà dov'è. Tu ovviamente dovrai inserire il percorso di dove hai salvato il file con estensione .wav. Seleziona poi: "Audio" > "Direct stream copy". Infine: "File" > "Save Avi..." ed è finita! Il tuo film dovrebbe essere pronto con un audio pienamente sincronizzato. Se non è così, allora hai sbagliato da qualche parte! (ndt e sono cazzi tuoi ora...)
 
 

Risoluzione dei problemi

Il tuo più grande problema sarà renderti conto di quello che stai facendo. é molto veloce da farsi una volta che hai compreso questo metodo, ma quando stai ancora imparando devi accertarti che ogni file sia nella posizione che tu hai specificato. Gi errori di VirtualDub quasi sempre saranno dati dal fattoche il programma non riesce a trovare il file che tu hai specificato. Questo significa che o hai messo un file nella posizione sbagliata, o hai dato a MakeFilm delle posizioni non corrette.

Se uno o entrambi dei tuoi file (quelli con bitrate diverso) non hanno qualche frame, magari scartato, questo sistema non funzionerà perchè non avranno i Timecodes non corrisponderanno. il modo migliore per prevenire questo inconveniente è andare alla fine dei files e vedere se il numero totale di frames è lo stesso.

Anche se hanno lo stesso numero di frames, ma uno dei due film ha un frame "maligno" da qualche parte, il filmato si bloccherà (ndt: arrivato a quel frame)! Questo non è un problema derivato dal nostro giochetto, ma è un bug che a volte compare nell'High Motion Codec. Assicurati di abbassare la variabile "Crispness" almeno al 75% per cercare di evitare questa "sorpresa". Potresti anche cercare di evitare quella parte del film e fare in modo che nel film finale compaia quella "sana" (ndt: quella nel film con bitrate diverso da quello che ha il frame maligno).

Per maggiori dettagli consultate la guida di MakeFilm =)...nice one MI-CHI!
 
Ritorna all'indice degli Articoli.


Duplication of links or content is strictly prohibited. (C) DIGITAL DIGEST - DVD 1999 - 2002