Avisynth v0.3: l'incredibile sw che trasforma tutti gli mpeg encoder stand alone in Plug-in per Premiere e Flaskmpeg

 


Introduzione
Installazione
Come fare: Premiere--->avisynth---->Tmpeg
Premiere5.x (o flaskmpeg) ---->avisynth----->VirtualDub----->Tmpeg
Flaskmpeg---> avisynth---->Tmpeg
Conclusioni

Introduzione

Prima della comparsa di avisynth, per poter  comprimere in mpeg all'interno di Premiere 5.X /6 e di Flaskmpeg occorreva utilizzare un plug-in appositamente scritto per tale scopo; i più importanti sono:

  1. - Panasonic mpeg v2.x (ottima qualità, non disponibile l'Mpeg2)
  2. - bbmpeg (freeware, ottima qualità  ma lento)
  3. - Lsx plug-in (discreta qualità nonostante le doti velocistiche)
  4. - Dvmpeg (scarsissima qualità)
  5. - Cinecraft-Encoder (ottima qualità e velocità, ma funziona solo con PIII e Athlon)

Avisynth permette grazie alle sue capacità di " frame-server " di trasferire virtualmente il file avi di uscita di Premiere e Flask  ad una qualsiasi applicazione capace di leggere file avi (ed in particolar modo gli encoder) senza bisogno di memorizzare nulla sull'HD: l'avi viene trasferito come formato RGB non compresso direttamente in Ram in modo assolutamente trasparente all'utente. La applicazione che tramite avisynth si interfaccia a Premiere o Flakmpeg, vedrà l'uscita avi virtuale  di questi programmi come se fosse un normale avi memorizzato sull'hard disk: tale avi potrà banalmente essere visualizzato o nel caso degli encoder elaborato e  convertito in mpeg.

Poniamo ad esempio di avere all'interno di Premiere ,  3 avi, mixati con delle transizioni e magari un filtraggio (es correzione di colore in un avi): se volessi convertire in Mpeg tramite es.Tmpeg dovrei tramite esport movie, memorizzare in avi, possibilmente senza ricompressione dove gli avi non sono modificati, caricare l'avi da Tmpeg e comprimere: il tutto con il limite dei 2GB dettato al formato avi.

Tramite Avisynth non occorre memorizzare l'avi, ma  Tmpeg vedrà l'avi virtuale prodotto dalle elaborazioni  di  Premiere (transizioni, filtri...) come se fosse su Hd ed è possibile  subito iniziare la conversione (ovviamente Premiere deve essere lasciato attivo). Si crea così la catena Premiere--->avisynth---->Tmpeg.  Da notare che funzionano tutte le caratteristiche di Tmpeg, come la sua correzione colori, deinterallacciamento.... e addirittura tutti i preview in tempo reale: ovviamente se per esempio nella scelta del punto di inizio e fine di tmpeg, faccio il preview devo attendere che Premiere faccia i suoi calcoli, es. di transizione e correzione colore; ovviamente lo fa SOLO SUL FRAME PREVISUALIZZATO senza perdita di tempo. Sono possibili tutte le elaborazioni incrociate come transizioni e filtri video di Premiere e es. interallacciamento con Tmpeg: poichè tutto è fatto in RAM in RGB 24 bit non ci sono perdite di tempo o di qualità.

Se ad esempio sempre con Premiere attivo carico l'avi virtuale con il media player (Premiere--->avisynth---->Mediaplayer) posso in tempo reale fare tutte le operazioni di visualizzazione, stop, avanti,.... tipiche di un player ovviamente visualizzando il file globale elaborato da Premiere: tra l'altro verifico la velocità con cui Premiere fa le sue elaborazioni.

Lo stesso discorso vale se aggancio a Premiere un altro software di encoder come ad esempio quello che seguono nella lista. (Premiere--->avisynth---->Generico sw che elabora gli avi)

Se al posto di Premiere---> avisynth----> Tmpeg  utilizzo la catena  Flaskmpeg---> avisynth---->  generico SW (es.Tmpeg) il discorso non cambia: l'unica cosa che non si può fare è saltellare con SW avanti e dietro, visto che flask decodifica i DVD in maniera sequenziale;  per il resto funziona tutto.

Grazie ad Avisynth , che funziona con gran parte dei sw capaci di leggere AVI, tranne che  con alcune eccezioni, è possibile trasformare quindi alcuni famosi encoder stand alone in plug-in di Premiere o Flask: ecco una lista di cui ho personalmente verificato il funzionamento:

  1. - TMPEG B12
  2. - LSX encoder 3.0 (Occorre applicare una piccola patch vedi sotto)
  3. - BBmpeg 1.23 (Occorre applicare una piccola patch vedi sotto)
  4. - Panasonic stand alone
  5. - DVMPEG 5.0 
  6. - Xing v 2.20 
  7. - Vitec MpegMaker v2.0 
  8. - Euris Mpeg Power Pro v2.0h

inoltre altri programmi di elaborazione avi che si interfacciano senza problemi sono

  1. - Windows Media Player (serve solo per la visualizzazione)
  2. - VirtualDUB 1.3d

I due programmi che non funzionano tra gli encoder testati ci sono Mpeg soft engine 2.0 e  Rainbow mpeg encoder 1.1 : non è un caso che ad esempio Mpeg soft engine 2.0 utilizza delle librerie proprietarie per la gestione degli avi.


Installazione 

Prima di tutto il sito di Avisynth è http://www.math.berkeley.edu/~benrg/avisynth.html su cui trovare eventuali aggiornamenti.

Per installare Avisynth scaricare dal mio sito Avisynth_03.zip (60K) e scompattarlo in una directory provvisoria. Occorre poi copiare il file  avisynth.dll in Windows/System se si utilizza Windows 95/98/98SE o ME ; occorre invece copiare il file  avisynth.dll in Windows/System32 se si utilizza Windows NT/2000/XP.
Per ultimo occorre  eseguire poi il file install.reg: avrete avisynth installato nel sistema.

Per usare Avisynth con Premiere 5.X  o 6.0 occorre copiare IM-Avisynth.prm e CM-Avisynth.prm nella directory plug-in di Premiere.

Per usare Avisynth con Flaskmpeg occorre copiare avisynth.cm.flask nella directory in cui c'è FlaskMpeg; se avete scaricato una versione diversa di avisynth, il file avisynth.cm.flask non lo troverete: in tal caso occorre semplicemente rinominare il file CM-Avisynth.prm (presente nella distribuzione di avisynth) in avisynth.cm.flask e copiarlo nella directory in cui c'è Flaskmpeg.

Le distribuzioni di flaskmpeg che trovate nel mio sito già contengono il plug-in.


Come fare: Premiere--->avisynth---->Tmpeg

Ovviamente la prima cosa da fare è aver installato avisynth, Premiere e Tmpeg (che trovate sul mio sito digital video).

Vediamo come procedere per utilizzare la catena Premiere--->avisynth---->Tmpeg.

Caricate Premiere e realizzate il progetto liberamente (filmati, transizioni, filtri,...) settando la risoluzione video desiderata: cliccate su Export Movie (banalmente CTRL-M con la finestra timeline attiva) e tra i setting usare come general setting  LINK TO AVI e premere OK. A questo punto dovete scegliere il nome del file avi virtuale , e lo immettete come al solito all'interno di nome-file. La lista della directory che compare è assolutamente ininfluente poiché non si memorizza alcun file.

Inserite ad esempio 1 in nome file e cliccate su Salva (o schiacciate invio) 

 

Sull'HD non viene memorizzato nulla ma appare la scritta IPCSource("1") all'interno di una finestra

 

Da quel momento in poi qualunque applicazione potrà accedere, all'avi virtuale. Ovviamente se volete interrompere il tutto basta premere stop serving. Per gli amanti della tastiera dopo che avete fatto quanto detto una volta, per esportare l'avi virtuale banalmente occorre premere in successione  CTRL-M , 1, Invio . E'quello il motivo per cui  il file virtuale lo ho chiamato semplicemente 1: se lo avessi chiamato es pippo   avrei  ovviamente trovato IPCSource("Pippo") e avrei dovuto immettere CTRL-M , Pippo, Invio.

Per accedere al file avi virtuale occorre banalmente caricare  da parte del programma che accederà,  un file di testo del tipo nome.avs (es carica.avs ) che contiene all'interno il testo IPCSource("1") (o IPCSource("Pippo") se avessi chiamato così il l'avi virtuale)

Il file  per i più pigri, lo ho inserito nello zip AVISYNT_03.zip che avete scaricato : carica.avs . Tale file conviene metterlo in una directory facilmente accessibile, poichè qualsiasi software deve usare l'avi virtuale , lo deve caricare.

Come primo esperimento, vediamo l'avi virtuale con il media player: banalmente se avete settato le cose come detto,

1)  In  Premiere CTRL-M , 1, Invio e appare la finestra con  la scritta IPCSource("1")
2) Caricate il media player e da li caricate il file carica.avs (o banalmente lo trascinate nel player)
3) adesso potete con il player visionare il file avi con tutte le elaborazioni di Premiere.

Terminate chiudendo il media player e premendo stop serving nella finestrella Avisynth Premiere plug-in.

Nel caso volete comprimere l'avi virtuale con il Tmpeg le operazioni sono analoghe:  

IMPORTANTE:

Poichè le applicazioni capaci di elaborare gli avi normalmente quando si carica il file avi immettono nel file selector qualcosa del tipo *.avi  , per caricare il carica.avs  (in generale nome.avs) conviene  selezionare come nome prima *.* , premere invio e finalmente sarà possibile visualizzare e caricare il file carica.avs.

Questo discorso vale per il media player, ma anche per tutti gli altri sw a cui interfacceremo premiere--->avisinth.

Nel caso volete comprimere l'avi virtuale con il Tmpeg le operazioni sono analoghe:  

1)  In  premiere CTRL-M , 1, Invio e appare la finestra con  la scritta IPCSource("1")
2) Caricate il Tmpeg e nella finestra video-Browse inserite *.* e poi caricate il file carica.avs
3) A prova che tutto va ok vedrete il primo frame nella finestra e se ad esempio andate in setting-advanced- e doppio click su Source frame range, potete fare lo scrolling del filmato vedendo gli effetti che premiere sta calcola in tempo reale a richiesta. Per il resto tutto funziona normalmente e ovviamente tutti gli eventuali effetti che immettete in Tmpeg (deinterallacciamento, colori, denoise...) saranno sovrapposti agli effetti di premiere.

Riguardo gli altri sw in elenco l'unico problema lo hanno il LSX encoder e il BBmpeg, che appena caricano un file di estensione avs e non avi, ancor prima di analizzarlo lo rifiutano: per risolvere la cosa occorre utilizzare il programma avs_patch che ho inserito nello zip. Si procede così: copiatelo dove c'è l'eseguibile (es Lsx mpeg2enc.exe) ed eseguite su linea di comando avs_patch mpeg2enc.exe . Verrà creato il programma  mpeg2enc_avisynth.exe ( ovviamente viene lasciato l'originale) che è in grado di caricare gli *.avs e quindi il file carica.avs: quando si dovrà caricare un normale avi basterà ovviamente eseguire il programma originale mpeg2enc.exe.


Premiere5.x (o flaskmpeg) ---->avisynth----->VirtualDub----->Tmpeg

 

Riguardo VirtualDUB 1.4 ( che trovate sul sito ufficiale www186.pair.com/vdub/ o www.geocities.com/virtualdub/ ) è un incredibile freeware dedito alle elaborazioni dei file avi, ottimo  per fare operazioni quale conversione di formato (DivX compreso), dotato di incredibili filtri video e in più dotato di un metodo di cattura video che permette di minimizzare i fotogrammi persi e la perdita di sincronismo audio-video grazie ad un ottimo sistema di buffer e controllo: con la mia Marvel g200 ho eliminato ogni problema di sincronismo audio- video che con il programma di cattura della Matrox è sempre all'agguato.


Voglio accennare ad una ulteriore possibilità di VirtualDub 1.4, che è quella di permettere una catena del tipo Premiere5.x---->avisynth----->VirtualDub----->Tmpeg potendo intrecciare le elaborazioni il tutto senza perdita di tempo a seguito del collegamento.

Si procede cosi:

  1. - con Premiere  si procede come visto (  CTRL-M , 1 , Invio )
  2. - con  VirtualDub si carica il file carica.avs e si impostano eventualmente i filtri video
  3. -  In Virtual dub si va in File-start frame server e si ottiene la finestra
  4. - premere Start e memorizzare il file con l'estensione test.vdr  (  il file è piccolissimo   di circa 60 byte va memorizzato su una precisa directory )
  5. - Caricare tmpeg e da li il file appena memorizzato ( test.vdr ), con il solito metodo Video - Browse- *.* -test.vdr . Se da tmpeg volete collegarvi direttamente a Premiere senza passare per i filtri di Virtual-Dub allora basta caricare il solito carica.avs.

Nel caso utilizzate Flaskmpeg al posto di  Premiere, nulla cambia (vedi sotto)


Flaskmpeg---> avisynth---->Tmpeg

Nel caso in cui la catena deve essere utilizzata per creare XVCD trovate il procedimento passo- passo nell'articolo Da DVD a XVCD tramite Flaskmpeg--->Avisynth---->Tmpeg:  guida alla conversione dove tra l'altro sono specificati i motivi che spingono a preferire questo metodo all'utilizzo del panasonic mpeg encoder.

Per la creazione di SVCD tramite la medesima catena potete riferirvi all'articolo Il SVCD (Super Video Cd)......più DVD che XVCD: guida alla realizzazione

Nel caso in cui occorre convertire file mpeg1 o 2 in altri mpeg 1 o 2 (ovviamente con caratteristiche diverse) sempre creando la catena Flaskmpeg--->Avisynth---->Tmpeg non cambia nulla rispetto al caso in cui si converte un DVD; l'unica differenza è che per caricare l'mpeg da convertire con le versioni flaskmpeg 0593 e 0594 occorre selezionare file/apri invece che file/Open DVD file .

Rispetto all'uso con Premiere , con Tmpeg occorre solamente stare attenti ad un particolare: quando modificando un parametro, compare un Preview questo funziona normalmente solo che fa sballare il sincronismo audio video di flask (provate ad esempio ad andare nella finestra di audio preprocessing, e ad ascoltare l'audio magari con il volume 200%: l'audio amplificato si sente ma poi sballa tutto il sincronismo ). La soluzione è banale : se modificate dei parametri e utilizzate le funzioni di Preview, prima di iniziare la  conversione occorre  cliccare Stop serving nella finestrella Avisynth Premiere plugin e poi normalmente in Flask esegui- inizia la conversione e in Tmpeg START; in pratica si reinizializza il processo.
Per lo stesso motivo il punto di inizio della conversione e il numero di fotogrammi da convertire lo si deve settare in Flask, senza toccare il Source Frame Range (  Setting- configuration- advanced) di Tmpeg.


Conclusioni

 

Concludo rimandandovi per approfondimenti alle pagine web di Avisynth http://www.math.berkeley.edu/~benrg/avisynth.html: Avisynth in realtà oltre che scambiare i dati tra applicazioni, è in grado di realizzare delle operazioni sul video, come ad esempio il ridimensionamento, lo scrolling.... . Caricate ad esempio dal Media Player il file Fadeout2.avs presente nel AVISYNT_03.zip 

 

Come al solito  per qualsiasi commento e parere potete contattarmi al mio indirizzo di posta elettronica
benedettodue@tiscalinet.it .

31 luglio 2000
ultimo aggiornamento 18 aprile 2001

Ritorna alla pagina digital video

Ritorna alla home page