|
Introduzione
Si tratta di un potentissimo programma che consente 'pesanti' processi di video editing non lineare.
La mancanza di una GUI, per questo programma, che se forse non lo rende troppo popolare, ne svela allo stesso modo, le sue incredibiliti potenzialità.
Infatti l'Avisynth più che un programma come sia abituati a vederlo oggi su piattaforme win32, é un vero e proprio 'compilatore', rivolto alla 'programmazione video'.
Osservando un breve frammento di codice come il seguente, (preso direttamente dalla homepage dell'autore: http://math.berkeley.edu/~benrg/avisynth.html:
function NTSC2PAL(clip c) {
# Fairly good NTSC->PAL conversion. Would be better with Smart Bob. :-)
Assert(c.height == 480, 'NTSC2PAL: input clip must have 480 scan lines')
Bob(c, height=576)
ChangeFPS(50)
SeparateFields().SelectEvery(4,0,3)
return Weave()
}
Si può osservare come la sintassi del codice assomigli sia a Javascript che a VisualBasic (dato che non vi sono ';') nello stesso tempo, mentre la dichiarazione dei commenti sia invece piú vicina al Perl. Probabilmente l'autore non dovendo disporre di troppi caratteri speciali, ha valutato opportunee scelte di questo tipo.
La dichiarazione delle funzioni sembra puro Javascript (anche se, come giá detto non vi sono ';'), gli argomenti sono inclusi tra parentesi e seguono la consueta convenzione: 'tipo_argomento' 'nome_argomento'.
Il corpo della funzione e compreso tra parenti graffe.
Come in java (o in javascript), si puó notare che le proprietà degli oggetti sono accessibili nel formato: nome_oggetto.nome_selettore
Il valore che la function deve ritornare é quello che segue il return.
Questo breve frammento mette in mostra quando questo programma si renda flessibile alle esigenze dei 'video-programmatori'.
Installazione di Avisynth
Trattandosi in realtà di una dll (avisynth.dll), il programma non presenta alcuna installazione, in quanto la procedura consiste nel copiare la libreria nella cartella di sistema delle librerie e di scrivere i riferimenti alla sua locazione nel registro di sistema.
Ecco come procedere per l'istallazione in sistemi MS Windows nativi o emulati (si ricorda, ad ogni modo, che il pacchetto zip comprendente il programma, contiene anche le istruzione per eseguire quanto segue e comunque queste informazioni sono sempre accessibili dal sito del produttore):
Passo 0
Scompattare il pacchetto avisynthb1.0_beta3.zip
Passo 1
Copiare la libreria avisynth.dll nella cartella: C:\WINDOWS\SYSTEM
Passo 2
Eseguire doppio click sul file, scompattato in precedenza: install.reg
Tutto qui, per rimuovere le informazioni dal registro invece usare il file unistall.reg, e procedere alla rimozione del file avisynth.dll manualmente.
Il primo Script
Per usare il programma in oggetto, bisogna disporre di un editor di testo come il celebre 'notepad', e di un programma compatibile, eccone alcuni:
¤ AVI2MPG1 v1.10
¤ AVI2MPG2 (bbMPEG) v1.2
¤ LSX-MPEG Encoder v3.0 (standalone)
¤ Media Studio 6.0 (trial version)
¤ Premiere 5.x
¤ RealProducer Plus G2
¤ Sound Forge 4.5
¤ TMPGEnc 0.11e
¤ VirtualDub 1.3d
¤ Windows Media Player 6.4
¤ Xing-MPEG Encoder 2.20
L'estenzione 'proprietaria' degli script per Avisynth é 'avs', ma dato che diversi programmi in lista non riconoscono altre estenzioni se non 'avi', la soluzione suggerita dall'autore é quella di rinominare lo script nella estenzione 'avi' e di aggiungere nella prima riga dello script:
#Avisynth
Ma tale soluzione non é sempre valida per quei programmi che implemntano un prorio 'lettore' di file Avi o che verificano l'header del file, per tale motivo sono stati resi disponibili due programmi uno fornito dall'autore stesso e l'altro da virtualDub. (AVS_PATCH: http://math.berkeley.edu/~benrg/avisynth/avs_patch.zip, VirtualDub proxy: http://math.berkeley.edu/~benrg/avisynth/vdremote.zip. NB: Usate il primo programma AVS_PATH con prudenza in quanto effettua una sostituzione dell'header identidificativo dei files avi)
Per usare avisynth sotto Premiere é necessario invece installare il plug-in sempre scritto dall'autore e scaricabile da: http://math.berkeley.edu/~benrg/avisynth-premiere.html
sotto TMPGEnc é invece necessario usare l'AVS import filter.
http://math.berkeley.edu/~benrg/avisynth/tmpgenc-readavs.zip
Ecco in dettaglio la sintassi indicata da Ben Rudiak-Gould:
nome_variabile = espressione
espressione
return espressione
end
Il valore ritornata dall'espressione é il filmato video che sarà eseguito nell'applicazione in cui viene aperto il file AVS.
Nome_Funzione(argomenti) : la chiamata della funzione produce il videoclip, fatto restituire dal return interno alla funzione, secondo i processi eseguiti all'interno di questa.
espressione.Nome_Funzione(argomenti) : equivalente di Nome_Funzione(argomenti,espressione)
espressione1 + espressione2 : equivalente di UnalignedSplice(espressione1,espressione2)
espressione1 ++ espressione2 : equivalente di AlignedSplice(espressione1,espressione2)
NB: le funzioni UnalignedSplice e AlignedSplice servone per unire due flussi video, si differenziano nel trattamento della traccia audio, il primo concatena semplicemente le due tracce audio, il secondo invece le concatena sincronizzandole.
NB: Va precisato che le funzioni sono sempre dei filtri video, e non viene mai prodotta alcuna modifica al filmanto originale, ma ne viene sempre generato uno nuovo.
Per inserire un colore come argomento o assegnazione di variabile va usato il carattere speciale '$' seguito dal valore esadecimale come in HTML.
L'autore inoltre precisa che per ogni linea non puó esservi piú di uno statement, e che questi comunque non puó venir diviso i piú righe, ad ogni modo il compilatore non é Case Sensitive.
Siamo dunque pronti per creare il primo script per il nostro video-clip di nome 'filmato.avi' :
- Apriamo il nostro Notepad
- Creiamo un nuovo documento
- Scriviamo il seguente codice:
AVISource('percorso_assoluto\filmato.avi') #il percorso assoluto sarà il percorso del filmato ad es. C:\filmato.avi
# salvando lo script nella stessa directory del filmato é possibile
# omettere il percorso il tal modo il basterà scrivere:
# AVISource('filmato.avi')
- Ed infine salviamo quanto abbiamo scritto nel file: 'test.avs'
- E procediamo ad aprirlo sotto VirtualDub ad esempio.
Importare un file DV in VirtualDub
Se una delle maggiori pecche di VirtualDub per i digital-video amatori é la sua impossibilità nell'elaborare filmati di tipo DV, l'Avisynth generosamente ci consente di bypassare questo problema, ecco il banalissimo script, che realizza tutto ciò:
DirectShowSource('filename')
Tutto qui.
Gli altri comandi
L'Avisynth include una serie di filtri, alcuni simili a quelli del VirtualDub, che consentono diverse operazioni da il deinterlacciamento, al resizing lineare o bicubico, al cropping, all'aggiustamento della gamma cromatica eccetera.
Dato che parlare di tali filtri sarebbe ridondante con la 'reference guide' scritta dell'autore stesso, si invitano i lettori interessati a consuntarla a questo indirizzo ufficiale: http://math.berkeley.edu/~benrg/avisynth-reference.html.
/anonimoanemico
|
|