DVD2AVI e VFAPIConv-EN: come rendere compatibili in lettura tutti i software di elaborazione video con l'mpeg 1 e 2.  

La

I due software DVD2AVI e VFAPIConv-EN, sono a tutti gli effetti 2 gioielli di programmazione: offrono numerosissime potenzialità, sono freeware e sono forniti dall'autore insieme ai listati. E' possibile utilizzare e modificare tali listati rispettando comunque i limiti della General Public License (GPL) che impediscono la modifica e l'inserimento di questi, in sw commerciali. L'autore di DVD2AVI è LOLI.J e il sito ufficiale, in inglese, è http://hiroko.ee.ntu.edu.tw/

 Indice

Introduzione 

Schemi introduttivi

DVD2AVI e VFAPIConv-EN: installazione

DVD2AVI: parametri video

DVD2AVI: parametri audio

DVD2AVI: creazione del file.d2v e dell'audio relativo

Creazione dell'avi virtuale

Utilizzo dell'avi virtuale

Avi virtuali e VirtualDub: creazione dei DivX;-)

Avi virtuali e Tmpeg: creazione di SVCD, XSVCD, XVCD.....

Avi virtuali -->VirtualDub--->Frame_server--> Tmpeg

Avi virtuali contenenti video e audio

Avi virtuali......per tutti, sfruttando le capacità di Tmpeg

Links e installazione

 


Introduzione  

DVD2AVI (che per il noto gioco di parole sta per DVDtoAVI, ovvero da DVD ad avi) da solo o insieme con VFAPIConv-EN.exe  è in grado di compiere numerose operazioni ; eccone una breve lista

- decodifica di flussi audio-video mpeg 2 e passaggio diretto di tali dati a Tmpeg  per le conversioni in mpeg: grazie alla capacità di DVD2avi di decodificare video in formato DVD (file di estensione vob) e SVCD, sono possibili ad esempio le conversioni SVCD-->XVCD, DVD-->SVCD;-),DVD-->XVCD.

- trasformazione di flussi audio-video mpeg 2 o mpeg1 (VCD, XVCD,DVD e SVCD compresi) in AVI virtuali contenete video RGB non compresso: tale operazione è fatta dal SW VFAPIConv-EN.exe che crea un file di estensione .avi , di dimensioni ridotte; solo pochi KByte al posto dello spazio enorme occupato da un avi reale con video RGB non compresso .

In pratica è possibile far vedere a QUALSIASI APPLICAZIONE CAPACE DI LEGGERE AVI ( Virtual Dub, Premiere, Media studio Pro 6 e Windows Media Encoder compresi) gli mpeg 1 o 2 come semplici avi; DVD2Avi in maniera assolutamente trasparente ad ogni accesso ad un avi virtuale, si occuperà di "ingannare" tali software facendoli credere di avere a che fare con avi non compressi piuttosto che mpeg. Grazie a tale possibilità utilizzando Virtualdub si possono fare le conversioni DVD-->DivX;-)  e SVCD-->DivX;-) ; sono anche possibili delle "insolite" conversioni quali DVD-->WMV (il nuovissimo Microsoft Windows Media Video versione 8, teoricamente superiore al DivX;-)). 
Quando parlo di AVI virtuali con video RGB non compresso intendo che NESSUN FILE VIDEO AGGIUNTIVO VIENE CREATO SU HD (a meno del piccolo file avi di pochissimi KB). L'importante è lasciare l'mpeg originale, poichè il video RGB non compresso, non è memorizzato su HD; semplicemente l'mpeg viene decompresso da DVD2AVI e passato al sw che deve utilizzare l'avi tramite la memoria RAM del computer: tutto naturalmente è fatto in maniera automatica e trasparente all'utente.

- visualizzazione di video mpeg 2 con la massima qualità (modalità Reference): è ad esempio possibile utilizzare DVD2AVI per valutare la reale qualità degli mpeg presenti dei DVD senza le approssimazioni di visualizzazione dei DVD player Sw quali WinDVD2000 o PowerDVD, incapaci tra le altre cose di decodificare correttamente sfumature di colore. Comoda la possibilità di catturare fotogrammi del video mpeg all'interno del programma. DVD2AVI è in grado, tra l'altro, di leggere direttamente i VOB dal DVD presente nel DVD-Rom, tramite un plug-in di Decss. 

- estrazione (demultiplexing) di uno o di tutti i flussi audio ac3 o/e mpeg layer 1 presenti nei file Vob dei DVD.

I due maggiori difetti di DVD2AVI (almeno nella versione attuale, tutt'altro che definitiva), sono:
- impossibilità di immettere direttamente l'audio nell'avi virtuale : in pratica DVD2avi decomprime l'audio in un file wav non compresso che dovrà separatamente essere utilizzato insieme con l'avi che contiene solo Video non compresso. La cosa non è particolarmente scomoda visto che gran parte dei SW
dedicati al digital video sono in grado di caricare separatamente un avi solo video e un audio wav: Premiere 5-6, Media studio pro 6, Tmpeg, Virtual Dub per citare "nomi illustri" non hanno alcun problema a riguardo. Osservo comunque che è possibile all'occorrenza tramite un passaggio in più e all'aiuto di Tmpeg (vedremo dopo come procedere) creare un avi virtuale contenete sia il flusso audio che quello video: con questa possibilità è possibile fare le conversioni con sw quali LSX Encoder 3.5, che non permettono il caricamento separato di audio e video.
- impossibilità di ridimensionare il video all'interno di DVD2avi: tale operazione andrà fatta in seguito con il Sw che dovrà poi elaborare l'mpeg. 


Schemi introduttivi

Prima di vedere nel dettaglio come procedere, ecco qual'è la successione delle operazioni da fare. 
Considero ad esempio il caso in cui voglio convertire un pezzo di un film DVD in un altro formato: XVCD o SVCD con Tmpeg, DivX;-) con Virtual Dub o il caso in cui voglio elaborare tale pezzo di video con Premiere o in generale un software di editing video. Ovviamente sto analizzando solo una parte di tutte le possibili operazioni fattibili con DVD2avi e VFAPIConv-EN: accennerò in seguito le altre.

La prima cosa da fare è caricare il vob relativo (o più vob in successione) all'interno di DVD2avi: grazie alla capacità di Decss è possibile anche leggere il vob direttamente da DVD-ROM; è naturalmente possibile operare su di un vob rippato e decriptato su HD.

DVD2AVI è in grado di caricare e convertire qualsiasi file compresso in mpeg2, SVCD compresi: la compatibilità in lettura pertanto non è limitata ai soli file VOB . E' naturalmente possibile utilizzare anche tracce video mpeg prive di audio (normalmente hanno estensione .m2v o .mpv). Impossibile utilizzare video in formato mpeg1. 

All'interno di DVD2AVI occorre settare i parametri della decodifica (traccia audio, frequenza di campionamento dell'audio, normalizzazione dei volumi, IDCT per il video,...) e scegliere i punti di inizio e fine video se si desidera convertire o trasformare in avi virtuale solo una parte dell' mpeg caricato.  Scelti i parametri si memorizza il progetto (SAVE project)  : durante questa fase, viene creato un file wave che contiene l'audio relativo alla  selezione in formato PCM non compresso 44100 o 48000 a secondo dei parametri scelti: contemporaneamente è creato un file di estensione .d2v  che contiene solo una descrizione dei parametri utilizzati e occupa pochissimo spazio. L'operazione di creazione del file .wav e .d2v a secondo della velocità del proprio sistema e dei parametri utilizzati ha una durata normalmente inferiore rispetto a quella del video: per avere una idea, sul mio P2 400 con i parametri standard la conversione ha la durata pari a  "0.33 real time": 60 secondi di filmato convertiti in 20 secondi. Con un P3 1 GHz è possibile anche dimezzare tali tempi.

Ecco schematizzato cosa succede dopo il primo passaggio, in un esempio reale:

.

sono stati caricati in successione 4 file vob di un DVD, e selezionati 2 minuti e 37 secondi di filmato (lo si fa in maniera grafica con DVD2avi). Ipotizziamo di voler convertire una traccia ac3 5.1 in wav non compresso a 48 KHz: settati correttamente i parametri si avvia la conversione  SAVE project: chiamo il progetto "esempio". Dopo circa 50 secondi saranno creati i 2 file:
-
esempio AC3 T01 3_2ch 384Kbps 48KHz.wav  ( dimensione pari a 29 MByte)
-
esempio.d2v ( dimensione pari a 11 KByte ovvero 0,011 MByte)

Osservo come il file wav è un file audio PCM non compresso 16 bit stereo con frequenza 48 Khz, mentre il file esempio.d2v è in realtà un file di testo che contiene le informazioni relative alla codifica: ecco nell'esempio uno stralcio del suo contenuto

DVD2AVIProjectFile
4
24 G:\VIDEO_TS\VTS_01_1.VOB
24 G:\VIDEO_TS\Vts_01_2.vob
24 G:\VIDEO_TS\Vts_01_3.vob
24 G:\VIDEO_TS\Vts_01_4.vob
Stream_Type=1,0,0
iDCT_Algorithm=3
YUVRGB_Scale=1
Luminance=128,0
Picture_Size=0,0,0,0,0,0
Field_Operation=0
Frame_Rate=25000
Location=0,1E0,0,F89

7 0 1E0 2 2 2 2 2 2 2 2 2 2 2 2 2
7 0 2DC 2 2 2 2 2 2 2 2 2 2 2 2 2
7 0 3D5 2 2 2 2 2 2 2 2 2 2 2 2 2
7 0 4CD 2 2 2 2 2 2 2 2 2 2 2 2 2

............. 

Vediamo come utilizzare i due file esempio AC3 T01 3_2ch 384Kbps 48KHz.wav  e  esempio.d2v per le conversioni. La prima cosa da dire che è possibile chiudere il programma dvd2avi, nel momento in cui tutte le operazioni di conversione da mpeg video a avi virtuale verranno eseguite in maniera assolutamente trasparente all'utente dal file DVD2AVI.vfp.

Conversione in mpeg (VCD, XVCD, SVCD,XSVCD,.......) tramite Tmpeg
 Esempio:
(.d2v + .wav)-->Tmpeg--->XVCD

Occorre caricare il file esempio.d2v all'interno di tmpeg in video source/browse e il file esempio AC3 T01 3_2ch 384Kbps 48KHz.wav in audio source/browse. Si settano i parametri relativi all'mpeg da creare, caricando ad esempio un template e si avvia la conversione. E' possibile ovviamente creare un qualsiasi formato supportato da Tmpeg (VCD,XVCD,SVCD,XSVCD,....).

Osservo come tale metodo, a causa di una certa lentezza nel ridimensionamento da parte di Tmpeg, non è il più veloce possibile: una alternativa più rapida è quella di sfruttare il velocissimo ridimensionamento e le capacità di frame server di VirtualDub come vedremo in seguito. Sempre a causa della lentezza del ridimensionamento da parte di Tmpeg non è consigliabile creare con Tmpeg dei file AVI , cosa possibile tramite file/output to file/avi file: per tale conversione conviene utilizzare virtual dub (vedi in seguito)

Conversione in DivX;-) o in avi tramite Virtual Dub 
 Esempio: (avi_virtuale + .wav)--->Virtual Dub-->DivX;-)

Prima conversione 

Seconda conversione 

Non è purtroppo possibile leggere il file .d2v con virtualdub, ma occorre trasformare il file esempio.d2v in un file avi virtuale.Tale operazione, rapidissima, viene eseguita dal Software VFAPIConv-EN.exe che crea così il file esempio_d2v-vfapi.avi : in pratica viene creato un file solo leggermente più capiente (194 Kbyte al posto di 11 KByte) che è tutti gli effetti un file avi contenente "virtualmente" video in formato RGB non compresso: è un avi virtuale poichè tale video non è scritto su HD (occuperebbe tantissimo spazio) ma ogni qual volta l'avi viene richiamato da un Sw, è decodificato dal file DVD2AVI.vfp e passato alla applicazione che lo richiede. 

Creato il file esempio_d2v-vfapi.avi è possibile utilizzarlo con qualsiasi sw in grado di leggere, modificare e convertire file avi: Windows Media player, Virtualdub, Premiere, Media studio  pro,....: ogni qual volta viene richiamato tale file avi, DVD2AVI.vfp automaticamente convertirà l'originale (nel nostro caso i VOB) e lo passerà tramite la RAM del computer in modalità RGB non compressa al programma che lo ha richiamato. Osservo come tale AVI è MUTO non contenendo la traccia audio che è invece presente separatamente nel file esempio AC3 T01 3_2ch 384Kbps 48KHz.wav

Per fare la conversione in DivX;-) o più in generale in AVI occorre caricare all'interno Virtual dub l'avi "virtuale", esempio_d2v-vfapi.avi (open video file): per inserire l'audio occorre caricare il file esempio AC3 T01 3_2ch 384Kbps 48KHz.wav cliccando su audio/Wav audio. Eventuali asincronismi (anticipi o ritardi dell'audio) possono essere corretti in audio/interleaving/delay audio track by, inserendo valori positivi o negativi in millisecondi.

Naturalmente all'interno di Virtual Dub andranno settati i vari parametri relativi al ridimensiona, codec audio e video,....

Elaborazione con un sw di editing video capace di caricare separatamente audio e video (Premiere, Media Studio Pro,....)
 Esempio: (avi_virtuale + .wav)--->Premiere 6 --> avi

Prima conversione 

Seconda conversione 

Il procedimento è analogo al caso visto con Virtual Dub: occorre prima di tutto creare con VFAPIConv-EN.exe  l'avi virtuale (solo video) esempio_d2v-vfapi.avi. All'interno del SW di editing (ad esempio Premiere) occorre caricare tale avi e la traccia audio relativa esempio AC3 T01 3_2ch 384Kbps 48KHz.wav e utilizzarli come normali file avi. E' possibile in seguito tagliare, filtrare, mixare,... operando come di consueto su tali contributi. Per chi utilizza Premiere ricordo che per comodità è possibile linkare la traccia audio e video tramite l'opzione Link : basta caricare il video e l'audio, che avranno naturalmente la medesima durata   , inserirli ad esempio in Video 1A e Audio1 , selezionare l'opzione Link  e cliccare sui due contributi (il linkaggio è confermeto da un breve lampeggio delle tracce). Se ci sono problemi di sincronismo prima di linkare i due contributi è naturalmente possibile spostarli leggermente (con la risoluzione di 1 fotogramma) sino ad eliminare eventuali anticipi o ritardi dell'audio.

La cosa interessante da notare, a prova della qualità di DVD2avi,  è che è possibile utilizzare anche 2 o più avi virtuali all'interno del Sw di editing, che possono essere liberamente modificati (sono concesse anche transizioni tra avi virtuali) senza alcun problema.

 

Nel proseguo dell'articolo per indicare tmpeg che legge il file *.d2v + l'audio relativo in formato wav indicherò per comodità 
(.d2v + wav)--->Tmpeg; ad esempio (.d2v + .wav)--> Tmpeg--> Frame
per indicare un software (VirtualDub ad esempio) che legge il file avi prodotto dalla conversione operata da VFAPIConv-EN.exe e il corrispondente wav indicherò 
(avi_virtuale + wav)--->Virtual Dub o in generale (avi_virtuale + .wav)--->sw_video

Prima di descrivere un pò più in dettaglio i vari passaggi, voglio accennare come utilizzando DVD2avi e VFAPIConv-EN.exe sono possibili altre due applicazioni molto interessanti, che analizzerò in seguito:

- Creazione di un avi virtuale (sempre a  partire da video mpeg 2) contenente oltre che la traccia video anche quella audio: ciò è possibile grazie alla "collaborazione" di tmpeg che tra l'altro permette di utilizzare anche i suoi filtri video. 

- Creazione di un avi virtuale a partire da un file audio-video mpeg 1: in pratica è possibile utilizzare file mpeg1 (VCD, XVCD,...) anche con sw che non riconoscono in maniera nativa l'mpeg1 ma che al contrario elaborano file avi: ad esempio l'encoder mpeg1/2  LSX-MPEG Encoder 3.5.

L'ultima applicazione che analizzeremo è la catena (avi_virtuale + .wav)--> VirtualDub--> FrameServer--> Tmpeg che permette di ottenere gli stessi risultati della lettura diretta (.d2v + .wav) ----> Tmpeg, ma con velocità leggermente maggiori a causa del ridimensionamento più rapido fatto da Virtual Dub.


DVD2AVI e VFAPIConv-EN: installazione 

Per installare i due sw occorre scaricare e decomprimere nella stessa directory il file dvd2avi v1.76 e VFAPIConv : per installare il software basta eseguire il file vifpset.bat.

Gli aggiornamenti li trovate sul sito ufficiale http://hiroko.ee.ntu.edu.tw/: basta sostituire i file DVD2AVI.vfp e DVD2AVI.exe con le nuove versioni. 


DVD2AVI: parametri video 

Vediamo come procedere nella creazione dei file .d2v e dell'audio relativo. Per fare ciò occorre eseguire DVD2avi, caricare il file o la successione di file da elaborare, scegliere i parametri audio e video, il punto iniziale e finale da elaborare, e avviare la conversione (save project): come già detto verrà creato il file .d2v che è un breve file in formato testo che descrive le caratteristiche del video originale; riguardo l'audio che sarà relativo alla parte selezionata e al flusso audio scelto (una delle lingue disponibili nel caso dei DVD), è possibile ottenere un file WAV PCM non compresso grazie alla capacità di DVD2avi di decodificare l'AC3 e l'mpeg layer1 o potrà essere demultiplexata e copiata senza alcuna modifica la parte della traccia originale presente nel filmato. 

DVD2AVI è in grado di convertire flussi che contengono video mpeg2 e audio PCM non compresso, ac3 o mpeg1 layer1: è possibile pertanto utilizzare i file vob dei DVD o semplici file mpeg2. Tra questi ultimi è ad esempio possibile convertire i flussi presenti nei SVCD (video mpeg2 e audio mpeg1 layer1 44100 Hz) o mpeg 2 prodotti da schede di digitalizzazione real time, molto spesso presenti nel formato I frame o IP.

Attualmente DVD2avi è incompatibile con gli MPEG1, MPEG-2 YUV 4:4:4 o formati detti "format o transport streams ", quali il D-VHS o DVB. 
DVD2avi è in pratica in grado di decodificare qualsiasi mpeg video che soddisfa le specifiche
Main Profile & Main level, (MP@ML) formato colore YUV format 4:2:0 e limite massimo sul bitrate pari a 15000 kbits/s : nessun problema nella decodifica di mpeg2 di tipo I frame e IP frame ad esempio sono ottenibili mediante digitalizzazione in tempo reale con la scheda video ATI Radeon che può spingersi fino a 15000 Kbits/s: ricordo come i Vob dei DVD hanno invece il limite di 9800 Kbits/s, rispetto ai 15000 concessi dalle specifiche dell'mpeg.

DVD2avi permette di caricare anche più di un mpeg in successione: questi saranno visti come un unico file. Naturalmente le caratteristiche audio e video devono essere identiche. Tale opzione diventa importante se si desidera convertire video presente in formato DVD, suddiviso in più file vob.

Per selezionare il/i file da convertire occorre eseguire DVD2avi, click su open/file (F3), ADD per aggiungere file, DEL per eliminarli. In alternativa è possibile carica l'mpeg trascinando il file da convertire direttamente nella finestra di DVD2AVI.
Osservo come DVD2avi è dotato del "riconoscimento automatico" dei nomi: se si carica come nell'esempio il file parte1, saranno caricati in successione, se presenti,  i file parte2, parte 3, .... .

 

Tale operazione è comoda nel caso in cui si caricano i VOB dei DVD, come nell'esempio che segue : basta caricare il file VTS_01_0. vob, e gli altri saranno caricati automaticamente.

Due parole sulla conversione di video presente su DVD tramite DVD2avi: prima di tutto vi rimando all'articolo Il Css e il ripping dei DVD su Hard Disk: possibili applicazioni per approfondimenti sul CSS e la struttura dei DVD.

Riguardo la protezione CSS, DVD2AVI non prevede nativamente la possibilità di decriptare i VOB: utilizzando la versione "ufficiale" presente nel sito occorre decriptare il/i Vob da convertire su HD e procedere alla conversione. In realtà esiste un plug-in , che trovate inserito e attivo nella versione di DVD2AVI presente sul mio sito: il plugin consiste nel file OpenDVD.dll che è in grado di trovare la chiave CSS e decriptare i DVD (bisogna semplicemente inserire tale file nella medesima directory di DVD2avi) : in pratica anche con DVD2AVI è possibile operare leggendo i VOB direttamente dal  DVD-ROM evitando l'operazione di ripping. In tal caso occorre prima di tutto autenticare il DVD-ROM ad esempio eseguendo sw quali DVD Decripter o Smart Ripper o utilizzando per un attimo un DVD player.

Autenticato il disco occorre cliccare su Help e selezionare DVD-plug-in/key operation.

Quando si caricheranno  il/i vob dal DVD-Rom, ci sarà la ricerca della chiave di decriptatura e il vob apparirà come un file decriptato. E' ovvio che ogni qual volta dovrà essere utilizzato il file .d2v o l'avi virtuale (creato convertendo il .d2v conVFAPIConv-EN ) occorrerà inserire il DVD nel lettore ( ... e ci mancherebbe altro!!!! )  e deve essere stata effettuata la autenticazione (occorre ripeterla ogni volta che si riavvia il PC).

Riguardo la opportunità di utilizzare la modalità di conversione diretta (lettura da DVD-ROM senza ripping su HD vi rimando alla FAQ 14.

Appena viene caricato il video è possibile visualizzarlo tramite il player incorporato.   

E' possibile scorrere il filmato ed avanzare di circa mezzo secondo tramite che posizionano il player sul frame di tipo I precedente o successivo (normalmente un frame I è presente ogni 12 o 15 fotogrammi, circa mezzo secondo).
Per la scelta della sezione da convertire basta posizionarsi su i punti di inizio e fine conversione e marcarli  e : dopo il caricamento è selezionato automaticamente l'intero video.
Quando si creano i file .d2v con i relativi audio (Save project- F4) saranno elaborati e convertiti i flussi audio-video della sezione indicata.

Per il play del video selezionato basta premere F5 (option/preview): verrà visualizzato il video con una velocità che dipende dalla potenza del processore oltre che dai parametri scelti. 
Sulla destra si aprirà la finestra "Statistics" che contiene informazioni sul flusso audio-video. 
Interessante la visualizzazione dei fotogrammi al secondo (FPS) in basso a destra che permette di valutare l'impatto dei parametri scelti sulla velocità di decodifica: IDCT, ritagli, filtro luminosità, formato colore,.......
Per terminare la visualizzazione basta premere
ESC sulla tastiera. Osservo che durante il preview (F5) tramite il tasto F7 è possibile eliminare la visualizzazione: in tal caso appare la massima velocità (FPS) di decodifica che ovviamente si incrementa. 

Vediamo i parametri relativi alla sezione video:

Qualità della Decodifica video: sono disponibili 3 algoritmi per la iDCT (inverse discrete cosine trasform, la trasformata coseno discreta).

Ho abbondantemente discusso tali parametri nell'articolo dedicato alle varie versioni di Flaskmpeg: osservo come le 3 opzioni possibili sono le stesse presenti nel plug-in Miha.idct.flask di Miha Peternel accessibili nella versione flaskmpeg 06 (sono le 3 modalità cerchiate in rosso) .

Le 3 versioni presenti in DVD2avi soddisfano le specifiche IEEE-1180 e pertanto presentano differenza invisibili ad occhio nudo: il mio consiglio è quello di usare l'algoritmo 32-bit MMX, il più veloce. 

Field operation: è un parametro che ha influenza nel caso di video mpeg NTSC memorizzato a 23.976 fotogrammi al secondo; in tal caso occorre settare forced film  . 

Per i DVD Pal e gli mpeg a 25 fps  (in pratica tutto ciò che usiamo per il nostro sistema televisivo) occorre selezionare "None"

Formato colore in uscita: tale parametro NON influenza il formato d'uscita degli avi virtuali ( file .d2v e relativa conversione tramite VFAPIConv-EN) , poichè questi sono SEMPRE in RGB-24 bit: l'opzione Color Space ha influenza solamente nel caso si utilizza DVD2AVI per convertire il video in un AVI reale, ovvero in un file che occupa spazio su HD e naturalmente ha una dimensione che dipende dal codec di compressione usato (sono disponibili quelli installati nel sistema) oltre che dalla durata e dimensione del filmato.

E' possibile creare un avi reale tramite File/Save avi: scelto il nome verrà chiesto di selezionare il codec video di compressione compatibile con lo spazio colore selezionato (YUV 4:2:2 o RGB 24-bit): quasi tutti i codec richiedono il formato RGB 24-bit, ad eccezione del DivX;-) e del noto Huffyuv (codec loseless freeware scaricabile presso Huffyuv ).

E' sconsigliabile creare file avi direttamente con DVD2avi poichè all'interno del programma non è possibile effettuare ridimensionamenti, fondamentali ad esempio per la creazione dei DivX;-): inoltre l'audio viene copiato non compresso in un file wave separato e non all'interno dell'avi che è muto. Come già anticipato il modo migliore per creare avi  (DivX;-) compresi) con DVD2AVI è quello di utilizzare  gli avi virtuali con Virtual Dub come vedremo nel dettaglio.

In conclusione consiglio di lasciare color Space/YUV 4:2:2 non perché ciò condiziona la qualità degli avi virtuali ma perché la visualizzazione del video (anteprima video attivabile con il tasto F5) all'interno del programma è notevolmente più veloce con tale modalità. Il motivo sta nel fatto che l'mpeg 2 MP@ML è un formato nativo 4:2:0 e che la conversione  formato colore 4:2:0-->4:2:2 è notevolmente più rapida della conversione 4:2:0-->RGB24bit.

Con il mio Pentium 2 400 visualizzo un vob 720*576 a 18,5 fotogrammi al secondo con la modalità YUV 4:2:2 e solo 13,5 fotogrammi al secondo con la modalità RGB 24-bit (quasi il 40% più lento).

 

Conversiome YUV-->RGB: con tale opzione si modifica la dinamica relativa alla luminosità ovvero l'escursione tra il bianco e il nero. 

Se si sceglie PC scale il nero viene codificato come RGB= (0, 0, 0)  le immagini appaiono mediamente più scure. 

Se si sceglie TV scale il nero viene codificato come RGB= (16, 16, 16) le immagini appaiono mediamente più chiare . 

Nel caso di conversioni di DVD, il mio consiglio è quello di utilizzare PC scale, nel momento in cui solo così si ottiene una dinamica completa e neutrale dei colori e in tutti i casi si rispetta il formato originale (i DVD sono sempre superottimizzati riguardo il bilanciamento dei colori,... tranne ovviamente che in rare eccezioni) : l'eventuale maggiore luminosità andrà poi settata sul televisore. 
Facendo delle analisi con i diagrammi dei colori in tmpeg è evidente la differenza: ad esempio ecco i 2 istogrammi di luminosità relativi alla immagine (Jurassic Park 2).
  

PC scale: canale Y (luminosità) TV scale canale Y (luminosità)
nero     -------------------------->  bianco nero     -------------------------->   bianco

Si vede come in PC scale ci sono tutte le tonalità : dal nero puro (i bordini neri dell'immagine) che nel diagramma corrispondono alle barre a sinistra, al bianco (i luccichii in basso a destra dell'immagine). Nel caso di TV scale i bordini neri non sono localizzati all'estrema sinistra ma un pò più a destra (la linea verticale "solitaria"),come è evidente nella immagine che segue che è la stessa del diagramma TV scale, ma meno ingrandita nelle ampiezze. E' inoltre evidente la mancanza del bianco (estrema destra del diagramma) presente in PC scale.

 

Filtro luminosità: è possibile modificare la luminosità del video, tramite i parametri Gain e Offset: per rendere attivo l'effetto occorre selezionarlo tramite  .

Anche in questo caso per le conversioni di DVD conviene deselezionare tale filtro che al contrario può essere molto utile per mpeg cromaticamente non corretti: ottima la velocità (il filtro opera direttamente nel formato YUV  PRIMA della eventuale conversione in RGB )

Clip e Resize: Attualmente (versione 1.76) è possibile solo ritagliare una parte del video ad esempio eliminando le eventuali bande nere; l'eventuale  ridimensionamento andrà fatto tramite il software che utilizzerà l'avi virtuale. La incapacità di ridimensionare il video ritagliato, rende molto "rischioso" il ritaglio poichè occorre tener conto di quanto si è eliminato, per poi ridimensionare correttamente il video (non a caso o inserito delle tabelle che contemplano quasi tutti i casi possibili)

Per rendere attivo l'effetto occorre selezionarlo tramite.

Osservo come l'eventuale ritaglio delle bande nere velocizza la conversione, poichè le parti eliminate non saranno soggette alla relativamente lenta operazione di conversione spazio colore.

Vedremo in seguito con degli esempi come operare: la dimensione del video che si ottiene dall'eventuale ritaglio la si legge nei parametri Width (larghezza) e Height (altezza).

 

DVD2AVI: parametri audio

Riguardo l'audio, DVD2AVI è in grado di elaborare audio nel formato AC3, PCM non compresso e mpeg1 layer II: ad eccezione del formato DTS, DVD2avi è in grado di gestire qualsiasi tipo di audio presente negli mpeg e nei Vob dei DVD.

Come ho visto, nel momento in cui viene memorizzato il progetto ( file/Save Project (F4)), per la parte video viene creato il breve file .d2V che potrà poi essere convertito nell'avi virtuale; in più viene elaborata la parte audio corrispondente. La sezione convertita è quella marcata tramite  e  .

L'elaborazione consiste in una delle seguenti possibilità:

Formato audio presente nell'mpeg

Possibile elaborazione 

Dolby Digital AC3 - creazione di un file WAV con audio PCM non compresso 16 bit : la frequenza di campionamento può essere lasciata a 48000Hz o convertita a 44100 Hz.
- demultiplexing: il flusso ac3 è copiato in un file 
Mpeg audio (layerII) - demultiplexing: il flusso mpeg audio è copiato in un file 
PCM - demultiplexing: il flusso PCM audio è copiato in un file .wav

E' inoltre possibile ignorare l'audio: in tal caso niente è memorizzato su HD. 

Osservo come nel caso in cui si stanno utilizzando i file vob di un DVD, non è possibile conoscere la lingua relativa alle varie tracce, che sono sempre indicate come Track 1, Track 2, Track 3,......: per avere tale informazione basta ricorrere ad esempio a Smart Ripper che è in grado di elencare le tracce presenti sul DVD.  

Vediamo i parametri audio da settare :

Selezione del flusso audio: nel caso di mpeg in cui c'è una sola traccia audio, questo è certamente il primo: negli altri casi (vedi le diverse opzioni audio di un film) ci si deve riferire al numero indicato ad esempio da Smart Ripper  : attenzione a non confondere le tracce, numerate a partire da 0 in Smart ripper e da 1 in DVD2AVI.

0x80-->track1
0x81-->track2
0x82-->track3......

Facendo il preview (F5) del filmato , viene indicato il tipo di audio selezionato: ad esempio

Mpeg audio (layerII) AC3 5.1 384Kbits/s AC3 Dolby Sourround 2.0 192Kbits/s

Tipo di traccia audio: conviene utilizzare "auto select": solo nel caso in cui DVD2avi sbaglia il riconoscimento della traccia (personalmente non mi è mai successo) è possibile forzare la conversione della traccia ad uno dei 3 formati possibili. 

 

Vediamo i parametri possibili se si è selezionata una traccia Dolby digital ac3:

 

 

Le possibilità di elaborazione sono 3:

- DECODE : la traccia AC3 selezionata viene convertita  in Wav PCM non compresso.
-
DEMUX : la traccia AC3 selezionata viene demultiplexata e copiata su HD.
-
DEMUX ALL TRACKS : vengono demultiplexate e copiate su HD tutte le tracce ac3 presenti.

 

 

 

 

Tramite Dynamic Range control è possibile modificare la dinamica dell'audio così da aumentare il volume nei punti in cui questo è basso e attenuarlo  quando è forte. Per i film in cui ci sono dialoghi conviene settare Normal (light è la regolazione più blanda e Heavy la massima). In  tutti gli altri casi (colonne sonore, video musicali,...) conviene settare OFF ad evitare inutili modifiche alla dinamica.
 

 

Selezionando Dolby Surround Downmix è possibile forzare la conversione ac3 5.1 in Wav stereo con codifica matriciale Dolby Surround (vedi tra breve i dettagli).
 

 

Dalla versione 1.75 è presente l'opzione "Pre-scale decision" che se selezionata,   dopo una analisi di tutto il vob (analisi che può durare parecchio in proporzione alla durata del video selezionato)  ottimizza la quantizzazione del flusso ac3 e produce un audio migliore. I miglioramenti sono quasi sempre inavvertibili, per cui consiglio di deselezionare tale opzioni a meno di necessità qualitative particolari.
L'opzione Dolby Surround Downmix va settata nel momento in cui si possiede un amplificatore compatibile Dolby Sourround- Dolby Pro-Logic, (uno tra tutti il Creative Desktop Theatre Dtt2500), poichè un audio creato con Dolby Surround Downmix ascoltato con un normale amplificatore stereo appare qualitativamente inferiore.

Ricordo come la codifica  Dolby Surround inserisce 4 canali distinti nel normale flusso stereo che se amplificato con un decoder compatibile Dolby Pro-Logic ricrea i 4 flussi distinti (ovviamente con una separazione non perfetta come succede nel caso delle codifiche non matriciali come l'ac3)

Con l'opzione deselezionata il wav stereo è creato così (cost1 e cost2 sono due numeri costanti, L' e R' sono i canali stereo che sono creati, mentre L,R,C,Ls,Rs, LFE  (canali destro, sinistro, centrale, posteriore sinistro, posteriore destro, basse frequenze) sono i 5.1 canali discreti dell'ac3.

5.1 Canali discreti --> stereo 

L' = L + cost1*C + cost2*Ls + cost3*LFE
R' =
R + cost1*C + cost2*Rs+ cost3*LFE

Con l'opzione selezionata 

5.1 Canali discreti --> audio stereo contenente 4 canali con codifica matriciale Dolby Surround 
S = Ls + Rs filtrati con un passa basso avente freq. di taglio 7KHz
L' =
L + cost1*C - cost2*S + cost3*LFE
R' =
R + cost1*C + cost2*S+ cost3*LFE

In fase di decodifica l'amplificatore Pro-Logic ricostruisce i 4 canali L, R, C, S elaborando l'audio stereo così codificato.

Il modo più banale di inserire i coefficienti è il seguente:
per la creazione del flusso stereo con codifica matriciale Dolby Surround

S = Ls + Rs filtrati con un passa basso avente freq. di taglio 7KHz
L' =
L + C -S
R' =
R +C +S

In fase di ricostruzione l'amplificatore Pro-Logic elaborando L' e R' può ricavare i 4 canali L1, R2,C1, S1
L1 = L'
R1 = R'
C1= 0,5*(R'+L')=
C+ 0,5 L+ 0,5 R ( sul centrale appaiono attenuati del fattore 0,5 i canali R e L)
S1= 0,5*(R'-L')=
S- 0,5 L+ 0,5 R ( sul canale surround appaiono attenuati del fattore 0,5 i canali R e L)

Nella pratica l'amplificatore Pro-Logic realizza una decodifica "più intelligente" analizzando le caratteristiche del canale stereo; concettualmente parte sempre dalle operazioni viste.  Come ultima cosa per creare un effetto sourround soddisfacente invia il flusso surround S1 ai 2 canali posteriori in maniera sfasata di 180 gradi.

 

 

 

 

 

 

 

Qui si decide se effettuare o meno la conversione da 48000 Hz ( frequenza di campionamento obbligatoria nel DVD) a 44100.

Osservo come a secondo dell'utilizzo dell'audio, è possibile lasciare tale frequenza immutata,  convertirla  all'interno di DVD2avi o con altri software. Ad esempio se si utilizza il video .d2v  e l'audio wav con Tmpeg per creare SVCD, XVCD, VCD,...,  è possibile lasciare l'audio a 48000 delegando a Tmpeg la conversione (basta utilizzare uno dei template che ho scritto per Tmpeg che tale conversione avverrà in maniera automatica); naturalmente se la conversione 48-->44.1 viene fatta da dvd2avi, con gli stessi Template si otterrà sempre un mpeg corretto, nel momento in cui Tmpeg è in grado di riconoscere automaticamente il tipo di audio in ingresso.

Stesso discorso nel caso in cui si creano DivX;-) con audio a 44100 Hz con Virtual Dub leggendo l'avi virtuale e il relativo wav: se questo è a 48000 KHz basta convertirlo all'interno di Virtual Dub

E' possibile scegliere la qualità della conversione: migliore qualità comporta un incremento dei tempi di conversione; per la massima qualità ovviamente occorre settare High o UltraHigh. Ecco i tempi impiegati per la conversione di 1 minuto di audio 5.1 con il mio P2 400Mhz: riporto inoltre il parametro "real time" cioè il fattore da moltiplicare per ottenere i tempi di decodifica (es.  0.73 real time ---> 30 minuti di audio convertiti in 30 X 0.73= 22 minuti circa) 

Nessuna conversione  20 sec 0.33 real time
Low  26 sec 0.38 real time
Mid  44 sec 0.73 real time
High  76 sec 1.26 real time
UltraHigh  106 sec 1.76 real time

 

 

Cliccando su Normalization è possibile inserire una amplificazione globale all'audio: con volume 100 e opzione selezionata il file wav viene amplificato al livello massimo possibile prima della distorsione (è la opzione che consiglio).

Ovviamente ad esempio con 75 si intende il 75% del volume massimo consentito prima delle distorsioni.
Il sw esegue una prima conversione e in base ai livelli raggiunti, moltiplica il Wav ottenuto per un fattore che garantisce il livello scelto: lo svantaggio è legato al tempo impiegato per questa operazione.

Una operazione analoga può essere realizzata con un qualsiasi sw audio dotato di capacità di normalizzazione ( praticamente tutti)

Se si è selezionata una traccia audio mpeg (vedi ad esempio il caso in cui si sta convertendo un SVCD), non è possibile convertire la traccia in wav poichè questa può essere solamente demultiplexata e copiata su HD: viene creato un file con estensione .mpa . L'unica opzione possibile è la scelta di demultiplexare la singola traccia selezionata (DEMUX) o nei rari casi in cui ci sono più tracce, tutte le tracce mpeg audio presenti (DEMUX ALL TRACKS) (vedi ad esempio i primi DVD quali "L'incredibile volo" o "Jumanji" ). 


DVD2AVI: creazione del file.d2v e dell'audio relativo 

Settati i parametri audio e video per creare il file d2v e la traccia audio relativa occorre selezionare file/save project (F4) e indicare il nome del progetto, nell'esempio test. 

Viene creato un piccolo file (test.d2v nell'esempio) e nella stessa directory il file con il nome esplicativo delle caratteristiche del flusso audio convertito (Test AC3 T01 3_2ch 384Kbps 44.1KHz.wav nell'esempio)

Nel caso in cui si è scelto di demultiplexare il flusso audio ac3 o mpeg audio,  piuttosto che creare il file wav, viene indicato l'offset temporale con cui tale audio deve essere utilizzato.

Ad esempio :

Test AC3 T03 3_2ch 384Kbps DELAY -112ms.ac3 
Test MPA T02 DELAY -125ms.mpa

indicano che per utilizzare in maniera sincrona i flussi ac3 e mpa occorre inserire un offset rispettivamente pari a  -112ms e -125 ms: il meno indica il fatto che l'audio deve essere inserito in ANTICIPO di tale valore.

Ovviamente a secondo del software con cui tale audio sarà utilizzato cambierà il modo con cui  inserire tali valori: ad esempio con tmpeg, capace di leggere direttamente audio mpeg ( .mpa) tale offset va inserito in setting/advanced/source range/.

La presenza di tali offset deriva dal fatto che i pacchetti audio ac3 e mpa sono indipendenti da quelli video e il punto selezionato di inizio video non coincide necessariamente con l'inizio del pacchetto. 


Creazione dell'avi virtuale

Vediamo come creare l'avi virtuale partendo dal file di estensione .d2v creato da DVD2AVI: è il passaggio che negli schemi precedenti ho indicato come
Tale conversione, rapidissima ed eseguita da
VFAPIConv-EN.exe  , trasforma un file di tipo .d2v in un file AVI , che può essere utilizzato da un qualsiasi Sw capace di visualizzare o elaborare avi. Appena una applicazione accede al file avi, in maniera assolutamente automatica, la DLL DVD2AVI.vfp converte il video del file mpeg 2 a cui l'avi fa riferimento,  in RGB 24 bit non compresso passando attraverso la ram del sistema i dati al sw che sta accedendo all'avi: per questo motivo normalmente si parla di avi virtuali: eliminando il video mpeg2 d'origine l'avi non è ovviamente in grado di produrre nulla. In questa maniera qualsiasi software di editing video compatibile con gli avi è in grado di utilizzare video mpeg 2.

Il procedimento è banale: basta eseguire VFAPIConv-EN.exe 


e click su Add Job. Appare la consueta finestra di apertura file da cui caricare il file .d2v

Appare la seguente finestra dalla quale è possibile eventualmente cambiare il nome dell'avi: il mio consiglio è di lasciare il nome proposto nel momento in cui è in seguito diventa semplice utilizzare il relativo file audio. Infatti la scelta dei nomi è coerente:

File progetto di DVD2avi (estensione .d2v) esempio.d2v
File audio (estensione .wav, .ac3 o .mpa) esempio AC3 T01 3_2ch 384Kbps 48KHz.wav
File Avi (virtuale) esempio_d2v-vfapi.avi

Tra le opzioni occorre lasciare selezionate video output e  video output by VFAPI Reader Codec.

Cliccando su OK si ritorna alla finestra precedente da cui si avvia la conversione tramite . Si ottiene l'avi virtuale relativo al video selezionato.

La cosa interessante è che VFAPIConv-EN.exe è in grado di convertire in avi virtuali non solo file progetto prodotti da dvd2avi ma anche è in grado di effettuare la stessa trasformazione convertendo  file vob, mpeg2 e progetti Tmpeg.

Riguardo la possibilità di convertire vob--->avi virtuali e file mpeg2-->avi virtuali, rimane una possibilità fondamentalmente inutile poichè la parte audio viene del tutto ignorata: è molto più comodo al contrario convertire progetti .d2v prodotti dvd2avi che permette di elaborare la traccia audio; questa sarà presente in un file separato e perfettamente sincrona con l'avi prodotto. Tra le altre cose utilizzando DVD2avi c'è la possibilità di scegliere la parte da convertire ed è possibile utilizzare più vob in successione.

Riguardo la possibilità di convertire progetti tmpeg in avi virtuali, ne parlerò nel capitolo relativo.


Utilizzo dell'avi virtuale

Una volta creato con il procedimento visto l'avi virtuale, che ricordo contiene SOLO IL VIDEO dell'mpeg convertito, e la eventuale traccia audio (normalmente in wav non compressa o eventualmente in mpa o ac3), è possibile utilizzare i due contributi in una infinità di applicazioni. Il problema maggiore sta nel fatto che non ci troviamo in presenza di un AVI contenente l'audio,  ma che al contrario la traccia audio è presente in un file separato.

I software che permettono di caricare separatamente il video avi "muto" e la traccia audio e di trattarli al loro interno come un unico contributo audio-video sono numerosissimi.

Volendo fare una breve lista occorre inserire praticamente tutti i software di editing non lineare (Premiere, Media Studio Pro, Main Actor,...) e una parte dei software di conversione quali Tmpeg, Virtual Dub, Panasonic mpeg1 v2.51.

Per gli altri SW incapaci di caricare separatamente i 2 contributi (vedi LSX mpeg encoder o BBmpeg.), occorre utilizzare le capacità di tmpeg, legate alla possibilità di trasformare i file progetto di tmpeg in avi virtuali , tramite VFAPIConv-EN.exe: vedremo in seguito come fare.

Ovviamente vista la relativa "stranezza" dei file avi virtuali, nessuno può garantire il funzionamento perfetto con qualsiasi sw: in base ai test che ho fatto è in generale difficile trovare problemi. Nel mio sistema ho ad esempio verificato che la visualizzazione degli avi virtuali con il media player, non funziona con la scheda video settata  a 16 bit: a 24 e 32 bit tutto funziona perfettamente (è comunque un problema dei driver Matrox in difficoltà con la gestione di video RGB a 24 bit con profondità colori a 16 bit).

Vediamo una serie di applicazioni concrete.


Avi virtuali e VirtualDub: creazione dei DivX;-)

Utilizzando gli avi virtuali e relativo audio con Virtual Dub è possibile effettuare tutta una serie di conversioni quali DVD-->DivX;-), SVCD--> DivX;-), Mpeg2--> DivX;-) e nel caso più generico mpeg2-->avi ( il DivX;-) è a tutti gli effetti un avi ).

E' naturalmente possibile utilizzare tutte le elaborazioni audio e video fattibili con VirtualDub, prime tra tutte il ridimensionamento e ritaglio del video.

Il metodo per procedere è semplicissimo: vediamo il caso dell'esempio, ovvero la trasformazione (avi_virtuale + .wav)--> VirtualDub--> DivX;-)

1) Creazione dei file .d2v e wav 

2) Creazione dell'avi virtuale 

3) Creazione del DivX;-)

Le prime due operazioni le ho già analizzate: ottengo nel caso dell'esempio i file 

File progetto di DVD2avi (estensione .d2v) esempio.d2v
File audio (estensione .wav, .ac3 o .mpa) esempio AC3 T01 3_2ch 384Kbps 48KHz.wav
File Avi (virtuale) esempio_d2v-vfapi.avi

occorre caricare i contributi audio e video con Virtual Dub.

Eseguito Virtual Dub per caricare l'avi (muto) click su File/ :selezionare e caricare esempio_d2v-vfapi.avi

Per verificare la correttezza della operazioni è ovviamente possibile visualizzare l'avi: E' IMPORTANTE CLICCARE SU E SOLO DOPO E' POSSIBILE UTILIZZARE IL CURSORE DI SCORRIMENTO : questo piccolo limite, probabilmente un bug di Virtual Dub, vale ovviamente solo dopo il caricamento dell'avi: in seguito è possibile utilizzare il cursore di scorrimento senza alcun problema.
Per inserire l'audio occorre caricare il file esempio AC3 T01 3_2ch 384Kbps 48KHz.wav cliccando su audio/Wav audio

A questo punto Virtual Dub considera audio e video così caricati come un unico contributo: è possibile operare come concesso da VirtualDub.

Osservo come potrebbe essere utile verificare il sincronismo audio-video comprimendo una decina di secondi di video (la selezione della parte da comprimere la si fa tramite ): eventuali asincronismi (anticipi o ritardi dell'audio) possono essere corretti in audio/interleaving/delay audio track by, inserendo valori positivi o negativi in millisecondi: ogni fotogramma di asincronismo corrisponde a 40 ms.

Per il discorso degli asincronismi e per tutte le questioni riguardo il DivX;-) vi rimando all'articolo che ho scritto sul DivX;-). Ovviamente per la realizzazione di DivX;-) con audio ac3 occorre procedere in perfetta analogia ma demultiplexando con DVD2avi il flusso ac3 (non serve il file Wav) e utilizzando come descritto nell'articolo la versione Virtual Dub ac3.

La cosa importante da chiarire è la differenza tra il ridimensionamento e ritaglio fatto con flaskmpeg e descritto nell' articolo sul DivX;-) e il metodo che sto descrivendo.

Nel caso dell'utilizzo di flaskmpeg l'ordine di esecuzione è il seguente: Flaskmpeg quando decodifica il vob PRIMA LO  RIDIMENSIONA alla risoluzione indicata nei parametri e poi LO RITAGLIA: il risultato è convertito in AVI.

ESEMPIO DI RIDIMENSIONAMENTO DI VIDEO NON ANAMORFICO CON FLASKMPEG

Frame originale 720*576 del DVD

 

Frame ridimensionato ad 
esempio a 512*384

Frame ritagliato a 512*224
(risoluzione finale del DivX;-)1

     

Nel caso dell'utilizzo dell'avi virtuale e Virtual Dub l'ordine di esecuzione è esattamente il contrario: VirtualDub quando crea l'avi, riceve il video RGB non compresso,  PRIMA LO RITAGLIA e poi LO RIDIMENSIONA in base ai parametri indicati.

Ovviamente in tutti i casi in cui non ci sono bande nere nel vob originale, il ritaglio non va eseguito.

ESEMPIO DI RIDIMENSIONAMENTO DI VIDEO NON ANAMORFICO CON VirtualDub e l'avi virtuale

Frame originale 720*576 del DVD

Frame ritagliato  
a 720*327

Frame ridimensionato 
ad esempio  a 512*224
(risoluzione finale del DivX;-)1

     

Rispetto a quanto descritto nell'articolo che utilizza Flaskmpeg occorre procedere per il ridimensionamento e il ritaglio in modo diverso.

In ordine occorre cliccare su Video/ e .

Tra i vari filtri disponibili doppio click su "resize" .

In tale finestra occorre settare la risoluzione finale del file avi, DivX;-) nel nostro caso. In figura ho considerato il caso di una risoluzione pari a 384*176: per "filter mode" conviene utilizzare Bilinear, ottimo compromesso qualità , velocità: assolutamente sconsigliato "nearest neighbor" (è il metodo più elementare di ridimensionamento in cui viene utilizzato il colore di un singolo pixel senza mediare con il colore dei pixel vicini).

A questo punto nei casi in cui non serve alcun ritaglio (sono i vob che non contengono barre nere) è già possibile previsualizzare correttamente il video, nelle giuste proporzioni,  tramite show Preview o ritornando alla schermata principale.

Nei casi in cui si deve effettuare il ritaglio, occorre cliccare su nella finestra in cui sono elencati i filtri video. I due valori da modificare sono Y1 offset e Y2 offset: andrà inserito il medesimo valore che dipende dal tipo di film utilizzato (vedremo tra breve nelle tabelle , i valori da immettere). 



Attenzione: se state modificando e magari correggendo i valori di Cropping inseriti in precedenza, a causa di un bug di virtual dub, conviene cliccare sempre su  e annullare i vecchi valori : dopo averli posti a zero, basta cliccare sul filtro (ad esempio), cliccare nuovamente su e inserire i nuovi valori di cropping

Vediamo adesso le possibili risoluzioni dei DivX;-) e i valori Y1 e Y2 offset relativi ai vari formati possibili: i bitrate indicati sono quelli consigliati con il metodo descritto nell'articolo sul DivX;-).

Formato 2.35:1 Anamorfico (Star Trek l'insurrezione, Matrix, Il gladiatore..) 

(immagine presente nel VOB
distorta nelle proporzioni)

 

Y1 e Y2 offset = 72

 

Dimensione
DivX;-) 

.

 

Larghezza 
(width)

Altezza
(height)

bitrate video

352

152

< 650

384

168

< 650

416

176

650-680

448

192

680-730

480

208

730-780

512

224

780-850

544

232

850-950

576

248

950-1100

608

264

1100-1300

640

272

1300-1600

672

288

1600-1900

704

304

1900-2100

736

320

>2100

 

Formato 2.35:1 Non Anamorfico (Armageddon, Titanic, The Abyss...) 

(immagine presente nel VOB
corretta nelle proporzioni)

 

Y1 e Y2 offset = 120

 

Dimensione
DivX;-) 

.

 

Larghezza 
(width)

Altezza
(height)

bitrate video

352

152

< 650

384

168

< 650

416

176

650-680

448

192

680-730

480

208

730-780

512

224

780-850

544

232

850-950

576

248

950-1100

608

264

1100-1300

640

272

1300-1600

672

288

1600-1900

704

304

1900-2100

736

320

>2100

 

Formato 1,78 : 1 Anamorfico (Jurassic Park2, Nirvana, La vita è Bella,...)

 

(immagine presente nel VOB
distorta nelle proporzioni)

 

Y1 e Y2 offset = 0 : NON VA EFFETTUATO ALCUN RITAGLIO

 

Dimensione
DivX;-) 

.

.

Larghezza 
(width)

Altezza
(height)

bitrate video

352

200

< 680

384

216

680-730

416

240

730-780

448

256

780-850

480

272

850-950

512

288

950-1100

544

312 1100-1300

576

328 1300-1600

608

344 1600-1900

640

360 1900-2100

672

376 > 2100

704

400 > 2100

736

416 > 2100

 

Formato 1,78 : 1 non anamorfico (Die Hard, Totò Truffa 62, ....)

 

(immagine presente nel VOB
corretta
nelle proporzioni)

 

Y1 e Y2 offset = 80

Dimensione
DivX;-) 

.

 

Larghezza 
(width)

Altezza
(height)

bitrate video

352

200

< 680

384

216

680-730

416

240

730-780

448

256

780-850

480

272

850-950

512

288

950-1100

544

312 1100-1300

576

328 1300-1600

608

344 1600-1900

640

360 1900-2100

672

376 > 2100

704

400 > 2100

736

416 > 2300

 

Formato 1,33 : 1 ( Fantasia, La carica dei 101, Flubber, )

 

(immagine presente nel VOB
corretta nelle proporzioni)

 

 

Y1 e Y2 offset = 0: NON VA EFFETTUATO ALCUN RITAGLIO

 

Dimensione
DivX;-) 

.

Larghezza 
(width)

Altezza
(height)

bitrate video

352

264

< 800

384

288

800-870

416

312

870-970

448

336

970-1150

480

360

1150-1350

512

384

1400-1600

544

408 1600-1900

576

432 1900-2100

608

456 2100-2300

640

480 >2300

672

504 >2300

704

528 >2300

Al di là del settaggio dei parametri video, si procede esattamente come visto nell'articolo sul DivX;-).

Osservo che nel caso in cui si devono convertire DVD o in generale materiale interallacciato (vedi i servizi speciali dei DVD, i film presenti in modalità interallacciata per la doppia conversione NTSC-->PAL-->DVD,.....), a causa della incapacità del DivX;-) di gestire il video interallacciato, occorre deinterallacciarlo. 
Per fare ciò con VirtualDub, basta aggiungere un filtro di deinterallacciamento.

In ordine occorre cliccare su Video/ e .

Tra i vari filtri disponibili doppio click su "DEINTERLACE" e "blend field together" . Il risultato è un video in cui ognuno dei 25 fotogrammi al secondo contiene l'informazione "mixata"  di 2 semiquadri (50 fps) successivi.

Naturalmente è possibile utilizzare altre modalità di deinterallacciamento, magari usando plug-in esterni come lo "smart Deinterlace" che potete scaricare dal mio sito cliccando qui.(il contenuto del file zip va copiato nella directory plugins di virtual dub). 
Poiché il deinterallacciamento va fatto prima del ridimensionamento, occorre far sì che l'ordine sia quello giusto e cioè: ciò è possibile selezionando il filtro utilizzando e settando l'ordine come in figura.

Vediamo in conclusione le velocità che è possibile ottenere con il metodo visto, comparato con i metodi alternativi analizzati nell'articolo sul DivX;-).

Voglio osservare come è possibile valutare la velocità di decodifica di DVD2avi e relativo ritaglio e ridimensionamento di VirtualDub all'interno di VirtualDub cliccando su file/preview (F5) , deselezionando e leggendo il valore video rendering rate (nella tabella di sotto i valori sono riportati in "solo decodifica " in arancio).

Nelle ultime 2 righe ho inserito la velocità del preview (F5) di DVD2AVI in modalità RGB o YUV con o senza previsualizzazione (F8); nella casella DivX;-) è indicata la velocità di conversione del solo video (save avi) all'interno di DVD2avi.

software  sola decodifica
 vob 720*576 
sola decodifica 
vob ridimensionato
 a 352*288 
DivX;-) 
352*288
1000Kbit/s
DivX;-) 
480*288
1200Kbit/s
DivX;-) 
704*432
1600Kbit/s
DivX;-) 
720*576
Flaskmpeg v.06 preview-Miha 10.0 fps 12.0 fps 6.9 fps 6.3 fps  4.3 fps  
DVD2AVI-->VirtualDub  10,4 fps 10.8 fps   7.5 fps   6.7 fps   4.5 fps 4.0 fps
GUI-MpegtoAVIPX3 v. 010     8.2 fps   7.1 fps  5.3 fps  6.0fps 
DVD2AVI v.1.76 
modalità RGB

12 fps (con visualizzazione)
15 fps (senza visualizzazione)

        4.8 fps 
DVD2AVI v.1.76 
modalità YUV

18 fps (con visualizzazione)
21 fps (senza visualizzazione)

        5.9 fps 

 

 


Avi virtuali e Tmpeg: creazione di SVCD, XSVCD, XVCD.....

Tmpeg è in grado di leggere direttamente i file .d2v e pertanto per leggere video mpeg2, non serve la conversione .d2v---> avi virtuale fatta da  VFAPIConv-EN.exe . In pratica l'unica differenza sta nel fatto che si risparmia tale passaggio, peraltro rapidissimo. 

Caricando il file .d2v e il relativo audio, con tmpeg è possibile effettuare tutta una serie di conversioni quali DVD-->XVCD, DVD-->SVCD, SVCD-->XVCD ed in generale mpeg2--> mpeg1 o 2.....

E' naturalmente possibile utilizzare tutte le elaborazioni audio e video fattibili con tmpeg.

Il metodo per procedere è concettualmente banale: vediamo il caso dell'esempio (.d2v + .wav)-->Tmpeg--->XVCD

1) Creazione dei file .d2v e wav 

2) Creazione dell'XVCD

La prima operazione la ho già analizzata: in più occorre eventualmente ritagliare il video cliccando  su video/ come vedremo tra breve. Ottengo nel caso dell'esempio i file 

File progetto di DVD2avi (estensione .d2v) esempio.d2v
File audio (estensione .wav, .ac3 o .mpa) esempio AC3 T01 3_2ch 384Kbps 48KHz.wav

Occorre caricare i contributi audio e video con Tmpeg: il file esempio.d2v va caricato cliccando su video source/browse; il file esempio AC3 T01 3_2ch 384Kbps 48KHz.wav in audio source/browse.

Settati tutti i parametri all'interno di tmpeg è possibile avviare la compressione (ricordo che è possibile tranquillamente chiudere il programma DVD2avi, nel momento per la decodifica del DVD viene utilizzata la DLL DVD2AVI.vfp.

Per una analisi dettagliata delle problematiche legate a SVCD, XSVCD e CVCD e per la guida all'uso di Tmpeg, vi rimando all'articolo relativo: per l'XVCD il discorso è perfettamente analogo: la differenza fondamentale sta nella compressione mpeg1 del XVCD rispetto all'mpeg2 dei "cugini" XSVCD e SVCD.

A questo punto l'unica questione da chiarire è quella relativa alle dimensioni del video nel caso delle conversioni da DVD in SVCD, XVCD, XSVCD. In questi casi i parametri da settare sono:

1) Eventuale ritaglio tramite DVD2avi 
2) Scelta della risoluzione dell'mpeg : qui le possibilità sono le classiche 352*288, 352*576, 480*576, 704*576, 720*576 utilizzate per SVCD, XVCD, VCD, XSVCD, CVCD, DVD. 
3) Ridimensionamento all'interno di Tmpeg.

Osservo come il metodo che consiglio non è certamente l'unico possibile, ma garantisce la massima velocità grazie alla eliminazione delle bande nere che rallentano la conversione poichè obbligano una inutile doppia conversione YUV--> RGB da parte di DVD2avi e RGB-->YUV da parte di tmpeg. 

Prima di vedere con delle tabelle i casi possibili, facciamo l'esempio della conversione di un DVD 2:35:1 anamorfico in un  un SVCD 480*576 non anamorfico, caso tra l'altro molto frequente.

La prima cosa da fare è ritagliare il video all'interno di DVD2avi, ovviamente prima di effettuare la Creazione dei file .d2v e wav. Per far ciò occorre cliccare su video/. Nel caso in esame (vedi le tabelle che seguono) occorre settare: si eliminano 72 righe nere verticali e orizzontali trasformando l'mpeg 720*576 in un avi 720*432. Inseriti correttamente gli altri parametri è possibile avviare la conversione creando il file .d2v e wav, entrambi da caricare all'interno di tmpeg.

Il secondo parametro da scegliere è la risoluzione dell'mpeg da realizzare: ovviamente il modo più semplice per farlo è caricare uno dei template che ho scritto per Tmpeg (vedi sezione links): la risoluzione finale è in tutti i casi quella che è indicata all'interno di Tmpeg in setting/video/Size : nel nostro esempio tale dimensione è 480*576.

Poichè stiamo creando un SVCD 480*576 non anamorfico occorre utilizzare un Template di tipo 4:3 (ad esempio: SVCD Benny 4 3 q77 2450-224): il parametro da verificare in tal caso è setting/video/. Dovendo creare SVCD anamorfici occorre al contrario utilizzare template di tipo 16:9 che settano l'aspect ratio a 16:9.

L'ultimo parametro da settare è quello del ridimensionamento di tmpeg: click su setting/advanced per la scelta dei parametri.

E' fondamentale utilizzare il Video Arrange Method = Center (custom size): i valori da immettere sono quelli presenti nella tabelle che seguono sotto la scritta  Ridimensionamento , 480*324 nell'esempio.

Noto come nel metodo che utilizza flaskmpeg descritto nell'articolo relativo occorre al contrario utilizzare Video Arrange Method = Center (non center custom size), perche in tal caso il ridimensionamento viene eseguito da flaskmpeg.

Riguardo il parametro Video Source Type occorre utilizzare NON-interlaced nel caso si utilizza video progressivo e in particolare film su DVD:se si stanno convertendo contributi interallacciati (servizi speciali, trailer, materiale di origine televisiva, film ottenuti dalla conversione NTSC-->Pal), occorre settare video source interlace.

Osservo che nel caso in cui si devono convertire DVD o in generale materiale interallacciato (vedi i servizi speciali dei DVD, i film presenti in modalità interallacciata per la doppia conversione NTSC-->PAL-->DVD,.....) in XVCD o CVCD aventi risoluzione 352*288, e solo in tale caso, occorre deinterallacciare il video con Tmpeg. Per far ciò  click su setting/advanced/deinterlacing : come method conviene usare Double (effetto blend) o eventualmente le modalità "intelligenti"  Double adaptation o Double field adaptation. Il risultato è un video in cui ognuno dei 25 fotogrammi al secondo contiene l'informazione "mixata"  di 2 semiquadri (50 fps) successivi.

Vi rimando al capitolo successivo per un metodo che velocizza la conversione sino al 25-28%.

Ecco le tabelle relative ai diversi formati possibili: per i film presenti su DVD in anamorfico ho inserito i valori nei casi in cui si desidera creare un SVCD, XVCD,.... non anamorfico (in giallo) o un SVCD, XVCD,... anamorfico (in azzurro chiaro).
Nel caso di film presenti su DVD in formato non anamorfico, ovviamente è indicato solo il caso di SVCD, XVCD,... non anamorfico
(in giallo).

Nella creazione di SVCD, XVCD, ... non anamorfici occorre utilizzare un Template di tipo 4:3 che inserisce il parametro setting/video/. ; nel caso di SVCD, XVCD,.. anamorfici occorre al contrario utilizzare template di tipo 16:9 che utilizza setting/video/aspect ratio 16:9

DVD in formato 2.35:1 Anamorfico (Star Trek l'insurrezione, Matrix, Il gladiatore.....)
 

RITAGLIO con DVD2avi

 

Formato SVCD, XVCD, XSVCD,......  

Ridimensionamento 

Larghezza 

Altezza

non 
anamorfico
352*288  352 162
352*576 352 324
480*576  480 324
704*576  704 324
720*576  720 324

Formato SVCD, XVCD, XSVCD,......  

.
anamorfico
352*288   352 216
352*576   352 432
480*576   480 432
704*576   704 432
720*576   720 432

 

DVD in formato 2.35:1 non anamorfico (Armageddon, Titanic, The Abyss...)

RITAGLIO con DVD2avi

 

Formato SVCD, XVCD, XSVCD,......  

Ridimensionamento 

Larghezza 

Altezza

non 
anamorfico
352*288   352 168
352*576  352 336
480*576   480 336
704*576   704 336
720*576   720 336

 

 

DVD in Formato 1,78 : 1 Anamorfico (Jurassic Park2, Nirvana, La vita è Bella,...)

 

 NON VA EFFETTUATO ALCUN RITAGLIO

 

Formato SVCD, XVCD, XSVCD,......  

Ridimensionamento 

Larghezza 

Altezza

non 
anamorfico
352*288  352 224
352*576 352 432
480*576  480 432
704*576  704 432
720*576  720 432

Formato SVCD, XVCD, XSVCD,......  

.
anamorfico
352*288  352 288 (**)
352*576  352 576 (**)
480*576  480 576 (**)
704*576  704 576 (**)
720*576  720 576  (**)

(**) E' possibile in alternativa utilizzare all'interno di Tmpeg l'opzione setting/advanced/ al posto di Video Arrange Method= center (custom size) poichè la intera  dimensione di uscita dell'mpeg viene "riempita" dal video d'ingresso: naturalmente utilizzando Full screen, diversamente da center (custom size), non occorre immettere manualmente alcun valore numerico.

DVD in formato 2.35:1 non anamorfico (Armageddon, Titanic, The Abyss...)

RITAGLIO con DVD2avi

 

Formato SVCD, XVCD, XSVCD,......  

Ridimensionamento 

Larghezza 

Altezza

non 
anamorfico
352*288  352 208
352*576  352 416
480*576  480 416
704*576  704 416
720*576  720 416

 

 

 

DVD in Formato 1,33 : 1 ( Fantasia, La carica dei 101, Flubber )

 

 

 NON VA EFFETTUATO ALCUN RITAGLIO

 

 

Formato SVCD, XVCD, XSVCD,......  

Ridimensionamento 

anamorfico
352*288  352 288 (**)
352*576  352 576 (**)
480*576  480 576 (**)
704*576  704 576 (**)
720*576  720 576  (**)

(**) E' possibile in alternativa utilizzare all'interno di Tmpeg l'opzione setting/advanced/ al posto di Video Arrange Method= center (custom size) poichè la intera  dimensione di uscita dell'mpeg viene "riempita" dal video d'ingresso: naturalmente utilizzando Full screen, diversamente da center (custom size), non occorre immettere manualmente alcun valore numerico.


Avi virtuali -->VirtualDub--->Frame_server--> Tmpeg

E' possibile velocizzare la creazione dei SVCD, XVCD, XSVCD con una modifica al metodo appena visto, inserendo nella catena delle operazioni le capacità di ridimensionamento di VirtualDub : grazie alla maggiore velocità rispetto al ridimensionamento fatto con Tmpeg, è possibile velocizzare le conversioni anche del 25-28%.

Ad esempio per la creazione di un XVCD 352*288 partendo da Vob ottengo un incremento del 27% della velocità pareggiando e superando di pochissimo la velocità della classica conversione fatta con Flaskmpeg . Diverso il caso di SVCD in cui la gran parte del tempo è impiegata da tmpeg per la compressione: i guadagni dipendono molto dal formato scelto e passano da pochi punti percentuali (anche solo il 4-5%) nel caso di risoluzioni standard (480*576) 4:3 full screen, a circa il 15% per film contenenti bande nere, il caso che poi interessa nella pratica. Il motivo di tali differenze sta nella "relativa" lentezza del ridimensionamento fatto con Tmpeg. Ecco i risultati in fotogrammi al secondo con il mio P2 400 Mhz.

Metodo  XVCD 352*288 SVCD 480*576
4:3 Full screen
SVCD 480*576
film 1,78 :1
Avi virtuali -->VirtualDub--->Frame_server--> Tmpeg  3,91 fps (+27%) 2,03 fps (+4,1%) 2,29 fps (+13.3%)
Flaskmpeg 06--->avisynth--->Tmpeg 3,85 fps (+25%) 1,98 fps (+1,5%) 2,24 fps (+11 %)
(d2v+wav)--->Tmpeg   3,08 fps 1,95 fps 2,02 fps

 

Osservo comunque come per una analisi corretta dei risultati occorre considerare che utilizzando Flaskmpeg, non occorre la operazione di creazione del file wav, cosa che è indispensabile nel caso di DVD2avi e che naturalmente porta via del tempo: complessivamente considerando tale  tempo aggiuntivo, il metodo Flaskmpeg 06--->avisynth--->Tmpeg è complessivamente leggermente più veloce.

Vediamo brevemente come procedere: utilizziamo l'esempio di prima.

La prima operazione è la solita creazione dei file .d2v e wav con le eventuali operazioni di ritaglio con i valori visti nelle tabelle visto nelle tabelle. 

Occorre, come seconda cosa, creare l'avi virtuale relativo alla parte video mediante VFAPIConverter:  nell'esempio viene creato l'avi esempio_d2v-vfapi.avi.

La operazione seguente sta nel ridimensionamento del video tramite VirtualDub e il successivo avvio del FRAME SERVER: vediamo come procedere.

Eseguito Virtual Dub occorre caricare l'avi (muto): click su File/ , selezionare e caricare esempio_d2v-vfapi.avi

Per verificare la correttezza della operazioni è ovviamente possibile visualizzare l'avi: E' IMPORTANTE CLICCARE SU E SOLO DOPO E' POSSIBILE UTILIZZARE IL CURSORE DI SCORRIMENTO :questo piccolo limite, probabilmente un bug di Virtual Dub, vale ovviamente solo dopo il caricamento dell'avi: in seguito è possibile utilizzare il cursore di scorrimento senza alcun problema.

La seconda operazione da fare è il ridimensionamento del video: click su Video/ e .

tra i vari filtri disponibili doppio click su "resize" .

In tale finestra occorre settare i valori indicati in arancio nelle tabelle viste per i SVCD, XVCD, ...: ad esempio 480*324

Ridimensionamento 

Larghezza 

Altezza

480 324

(naturalmente Larghezza sta per Width e altezza sta per Height). Per "filter mode" conviene utilizzare Bilinear, ottimo compromesso qualità, velocità: assolutamente sconsigliato "nearest neighbor" (è il metodo più elementare di ridimensionamento in cui viene utilizzato il colore di un singolo pixel senza mediare con il colore dei pixel vicini).

Osservo come l'unico caso in cui occorre deinterallacciare il video è quello in cui si sta utilizzando la risoluzione 352*288 insieme con video interallacciato (servizi speciali, trailer o materiali video di origine video-telecamera): in tal caso basta inserire il filtro deinterlace come descritto prima .

A questo punto occorre avviare il frame server. Senza dilungarmi sulla cosa il meccanismo che si viene a creare è il seguente:DVD2AVI.vfp decomprime l'mpeg2 passando sotto forma di avi virtuale il video RGB 24 bit non compresso a VirtualDub; VirtualDub ridimensiona il video e sempre sfruttando la RAM del sistema lo passa a Tmpeg che lo comprime nel formato voluto. Tmpeg per ricevere i dati deve caricare un piccolo file, di estensione .vdr.

Per permettere il passaggio dei dati da VirtualDub a Tmpeg  (si parla di Frame serving) si deve operare così:

Click su file/: appare la finestra .

Cliccando su START occorre inserire il nome del file di frame serving che nell'esempio è server.vdr (è conveniente memorizzare il file in una directory facilmente accessibile poichè occorre richiamarlo da tmpeg) 

ATTENZIONE: E' fondamentale scrivere l'estensione .vdr : va bene qualsiasi nome (server.vdr, pippo.vdr, test.vdr) ma non va bene scrivere server o pippo o test senza estensione; in tal caso tmpeg non riconoscerebbe il frame serving di tmpeg.

Cliccando su SALVA, si ha che la finestra di Virtual Dub si trasforma in

Da questo momento in poi, qualsiasi applicazione compatibile con lo standard Frame Serving caricando il file che nell'esempio ho chiamato server.vdr è in grado di ricevere i dati da Virtual dub, nel nostro caso il video ridimensionato; è quello che dobbiamo fare con tmpeg.

L'ultima operazione da fare è settare i parametri con tmpeg e avviare la conversione. Per permettere l'utilizzo del frame serving occorre modificare l'ordine con cui sono utilizzati i plug-in VFAPI pena un blocco del sistema. Occorre cliccare su option/environmental setting/VFAPI plug-in e deselezionare "DirectShow Multimedia File Reader"

Vi rimando all'articolo I mille problemi dell'mpeg 1 e 2 : guida alle soluzioni (quesito 6) per un approfondimento: al termine dell'utilizzo di tmpeg con il frame server di VirtualDub occorre ovviamente riselezionare tale plug-in.

Fatto questo si possono caricare i contributi: come traccia video (Video source/ Browse, ) occorre caricare il file server.vdr , mentre come traccia audio (Audio source/ Browse) dovrà essere caricato il file wav esempio AC3 T01 3_2ch 384Kbps 48KHz.wav.

 

A questo punto occorre caricare il template relativo (XVCD, SVCD...) che tra le altre cose forzeranno la risoluzione (setting/video/size) alle classiche 352*288, 352*576, 480*576 o 704/720*576. Rimangono  da sistemare i parametri in setting/advanced che ricordo NON SONO MEMORIZZABILI NEI TEMPLATE MA VANNO DI VOLTA IN VOLTA SETTATI MANUALMENTE.

Diversamente dal caso visto prima in cui occorreva inserire video arrange method = center (custom size) e settare manualmente la dimensione indicata nelle tabelle, qui poichè il ridimensionamento è fatto con Virtual Dub basta settare video arrange method = center.

A questo punto è possibile avviare la conversione cliccando su START.

Osservo come può accadere che dopo essere stato avviato il frame serving Tmpeg non riconosca il file server.vdr: le cause possono essere numerose;

- non si è avviato correttamente il frame server con VirtualDub
- non si è inserita l'estensione .vdr
- non è stato installato correttamente VirtualDub (vedi
links
- i plug-in di VFAPI di Tmpeg sono in un ordine incompatibile o non è stato deselezionato
"DirectShow Multimedia File Reader"; vi rimando all'articolo I mille problemi dell'mpeg 1 e 2 : guida alle soluzioni (quesito 6) per un approfondimento

Concludo ricordando come anche in questo caso conviene verificare se ci sono problemi o meno di sincronismo audio video: per far ciò click su setting/advanced/source range e modifica del parametro Audio Gap correct (ad esempio ). Conviene selezionare un range di qualche secondo (200-300 frame) e verificare che il sincronismo sia a posto.


Avi virtuali contenenti video e audio

Rimane da considerare il caso in cui si desidera utilizzare gli avi virtuali in software in cui non è possibile inserire separatamente i contributi video (avi virtuale muto) e audio (file wav, ac3 e mpa), ma occorre necessariamente utilizzare un avi avente all'interno la traccia audio. E' il caso del Ligos LSX MPEG ENCODER 3.5 o del Microsoft Windows Media Encoder ver.7 e 8 (creazione di file WMV).

Come creare l'avi virtuale avente in più all'interno la traccia audio .wav? Occorre in pratica utilizzare le funzioni di VFAPI (video file API) plug-in di tmpeg, ovvero sfruttare il plug-in TMPGEnc.vfp, il misterioso file di cui gran parte degli utenti di Tmpeg ignorano l'utilità. Tale file permette di utilizzare le capacità di elaborazione audio e video di tmpeg senza eseguire l'encoder tmpeg: qualsiasi software compatibile con lo standard VFAPI è cioè in grado di sfruttare i diversi filtri video di tmpeg, correzione colore, ridimensionamento, deinterallacciamento, cropping, anti-noise video. 

Nel nostro caso è il sofware VFAPIConv-EN che sfrutta le capacità di elaborazione di tmpeg per la creazione e l'utilizzo degli  avi virtuali.

Vediamo in pratica come ottenere l'avi virtuale contenente audio, a partire da uno spezzone di un DVD (il nostro solito esempio).

1) Creazione dei file .d2v e wav 

Il metodo è il solito: eseguire DVD2avi, caricare il contributo mpeg2 (nell'esempio un film), selezionare eventualmente una parte (02:37 ) e settare i parametri audio e video. Nell'esempio si è scelto di decodificare una traccia in wav 48 Khz. Click su SAVE project e scelto il nome "esempio" saranno creati i file esempio AC3 T01 3_2ch 384Kbps 48KHz.wav e esempio.d2v.

 

2) Creazione dei file progetto di tmpeg (.tpr) 

Occorre caricare all'interno di tmpeg il file esempio.d2v in video source/browse e il file esempio AC3 T01 3_2ch 384Kbps 48KHz.wav in audio source/browse.

A questo punto è possibile utilizzare, eventualmente, le capacità di elaborazione video e audio di Tmpeg : l'avi virtuale usufruirà di tali caratteristiche. In pratica quando si utilizzerà l'avi virtuale il plug-in DVD2AVI.vfp decodificherà l'mpeg 2 e dopo averlo eventualmente ritagliato passerà i dati ( RGB 24 bit non compresso)  al plug-in  TMPGEnc.vfp che effettuerà i vari filtraggi video e sempre in formato RGB 24 bit li passerà alla applicazione che utilizza l'avi virtuale. Il tutto avviene in maniera automatica sfruttando la RAM del sistema.

Come detto tmpeg è in grado di elaborare il video: i parametri che hanno influenza sono tutti quelli che non coinvolgono la capacità di Tmpeg di creare mpeg: nel nostro caso TMPEG viene utilizzato solo per la sua capacità di elaborare video RGB non compresso. In pratica i parametri che hanno effetto sull'avi virtuale sono: 

Risoluzione video (setting/video/size: ) . Se si vuole evitare ridimensionamenti da parte di tmpeg, basta inserire la risoluzione dell'mpeg originario, 720*576 nel caso di Vob: l'eventuale ridimensionamento lo farà il software che utilizzerà l'avi.

Filtraggi video e modalità di ridimensionamento: setting/advanced : ricordo che Video source type, Field order e Source aspect ratio influenzano l' eventuale ridimensionamento del video, la cui modalità è decisa in Video Arrange Method. Per non fare alcuna modifica al video originale basta deselezionare i filtri video, lasciare la risoluzione dell'mpeg (720*576 per i vob) e settare Video Arrange Method = Full screen. In tal caso Video source type, Field order e Source aspect ratio saranno del tutto influenti.

Frequenza di campionamento dell'audio e modalità stereo o mono: setting/audio. Ovviamente i parametri relativi al bitrate audio saranno del tutti trascurati poichè verrà sempre utilizzato audio wav non compresso.

Per previsualizzare l'avi virtuale, basta all'interno di tmpeg cliccare su file/preview. Si vedrà esattamente il video in formato RGB 24 bit con gli eventuali filtri e ridimensionamenti (click destro sul video per eventuali ingrandimenti) 

Settati i parametri visti occorre memorizzare il progetto: click su File/Save Project (Ctrl-S): viene creato il file progetto di estensione .tpr in una frazione di secondo. 

 

3) Creazione dell'avi virtuale contenete audio e video

La creazione dell'avi virtuale è realizzata come negli altri casi da VFAPIConv-EN.exe.

Il procedimento è sempre lo stesso (lo ripeto per comodità di esposizione): basta eseguire VFAPIConv-EN.exe 


e click su Add Job. Appare la consueta finestra di apertura file,  da cui caricare il file .tpr , nel nostro caso esempio.tpr

Appare la seguente finestra  

Tra le opzioni occorre lasciare selezionate Audio output (a prova che l'avi virtuale conterrà anche la traccia audio), video output e  video output by VFAPI Reader Codec.

Cliccando su OK si ritorna alla finestra precedente da cui si avvia la conversione tramite

Osservo che se il video rimane virtuale (viene ricavato dall'mpeg come visto), l'audio è a tutti gli effetti reale: eseguendo viene copiato nel file avi che occuperà uno spazio pari quindi alla traccia audio non compressa. 

 

 


Avi virtuali...... per tutti, sfruttando le capacità di Tmpeg

Concludo accennando alla possibilità di creare degli avi virtuali sfruttando la vasta compatibilità in lettura da parte di tmpeg e la sua capacità di elaborare il video con dei filtri.

In pratica sto parlando di un caso più generale di quello appena visto: è possibile caricare un qualsiasi filmato all'interno di tmpeg e trasformarlo in un avi virtuale con VFAPIConv-EN.exe ; quando un qualsiasi sw in grado di visualizzare ed elaborare avi, accede a tale avi virtuale, entra in azione il plug-in TMPGEnc.vfp che carica il flusso audio- video, eventualmente lo filtra e lo passa in formato RGB 24 bit non compresso al sw che lo ha richiesto.

Due possibili applicazioni: 
- utilizzo di file mpeg 1 con SW incompatibili in lettura con tale formato ma al contrario capaci di leggere file avi (vedi LSX MPEG ENCODER 3.5 ); 
- utilizzo dei filtraggi di tmpeg (correzione colore, filtraggi antinoise, deinterallacciamento...) all'interno di qualsiasi sw capace di leggere avi: è possibile pertanto filtrare il video in software quali  LSX Encoder che nativamente non sono in grado di elaborare l'avi in ingresso se non in maniera molto ristretta.

Osservo come sfruttando il metodo visto (e i precedenti) ad esempio l'LSX Encoder che nativamente è solo in grado di convertire un avi in mpeg1 o 2 , riesce a fare le medesime conversioni ma su file avi, mpeg1 e mpeg2 (XVCD, DVD, SVCD compresi) con in più la possibilità di utilizzare gli ottimi filtri di Tmpeg; stesso discorso per altri encoder quali il Windows media encoder con il quale diventa ad esempio possibile convertire interi film con i nuovi codec quali il WM8 (una versione teoricamente superiore al DivX;-).

Il metodo è il seguente :

1) Creazione dei file progetto di tmpeg (.tpr) 

Occorre caricare all'interno di tmpeg il filmato da convertire: nei casi esaminati questi era il file in formato.d2v (origine mpeg2) con l'audio relativo; il caso che sto vedendo è quello più generale in cui si carica un qualsiasi file che tmpeg è in grado di leggere : avi, mpeg1, DV,......e naturalmente file progetto .d2v .

A questo punto è possibile utilizzare, eventualmente, le capacità di elaborazione video e audio di Tmpeg : l'avi virtuale usufruirà di tali caratteristiche. In pratica quando si utilizzerà l'avi virtuale il plug-in  TMPGEnc.vfp caricherà il video, effettuerà gli eventuali  vari filtraggi video e in formato RGB 24 bit li passerà alla applicazione che utilizza l'avi virtuale. Il tutto avviene in maniera automatica sfruttando la RAM del sistema.

Come detto tmpeg è in grado di elaborare il video: i parametri che hanno influenza sono tutti quelli che non coinvolgono la capacità di Tmpeg di creare mpeg: nel nostro caso TMPEG viene utilizzato solo per la sua capacità di elaborare video RGB non compresso. In pratica i parametri che hanno effetto sull'avi virtuale sono: 

Risoluzione video (setting/video/size: . Se si vuole evitare ridimensionamenti da parte di tmpeg, basta inserire la risoluzione del video originario, 720*576 nell'esempio: l'eventuale ridimensionamento lo farà il software che utilizzerà l'avi.

Filtraggi video e modalità di ridimensionamento: setting/advanced : ricordo che Video source type, Field order e Source aspect ratio influenzano l' eventuale ridimensionamento del video, la cui modalità è decisa in Video Arrange Method. Per non fare alcuna modifica al video originale basta deselezionare i filtri video, lasciare la risoluzione dell filmato che si è caricato e settare Video Arrange Method = Full screen. In tal caso Video source type, Field order e Source aspect ratio saranno del tutto influenti.

Frequenza di campionamento dell'audio e modalità stereo o mono: setting/audio. Ovviamente i parametri relativi al bitrate audio saranno del tutti trascurati poichè verrà sempre utilizzato audio wav non compresso.

Per previsualizzare l'avi virtuale, basta all'interno di tmpeg cliccare su file/preview. Si vedrà esattamente il video in formato RGB 24 bit con gli eventuali filtri e ridimensionamenti (click destro sul video per eventuali ingrandimenti) 

Settati i parametri visti occorre memorizzare il progetto: click su File/Save Project (Ctrl-S): viene creato il file progetto di estensione .tpr in una frazione di secondo.

 

2) Creazione dell'avi virtuale contenete audio e video

La creazione dell'avi virtuale è realizzata come negli altri casi da VFAPIConv-EN.exe.

Il procedimento è banale: basta eseguire VFAPIConv-EN.exe 


e click su Add Job. Appare la consueta finestra di apertura file,  da cui caricare il file .tpr , nel nostro caso esempio.tpr

Appare la seguente finestra  

Tra le opzioni occorre lasciare selezionate Audio output (a prova che l'avi virtuale conterrà anche la traccia audio), video output e  video output by VFAPI Reader Codec.

Cliccando su OK si ritorna alla finestra precedente da cui si avvia la conversione tramite

Osservo che se il video rimane virtuale (viene ricavato dal file caricato da Tmpeg), l'audio è a tutti gli effetti reale: eseguendo viene copiato nel file avi che occuperà uno spazio pari quindi alla traccia audio non compressa. 

 

Si è ottenuto l'avi virtuale che può essere utilizzato da qualsiasi applicazione capace di leggere ed elaborare avi.


LINKS E INSTALLAZIONE

 DVD2AVI e VFAPIConv

Per installare i due sw occorre decomprimerli ed eseguire il file vifpset.bat.

vdvd2avi v1.76 e VFAPIConv  430 KB Sito Ufficiale http://hiroko.ee.ntu.edu.tw/  

 

 TMPEG

Per installare tmpeg occorre  decomprimere il vari files in una directory  ed eseguire TmpegEncVFP_install.bat. I template (presets) aggiornati vanno scompattati copiandoli possibilmente nella directory di tmpeg ( per comodità) 

Tmpeg_B12f
992 KB
Sito ufficiale http://www.tmpgenc.com/
Da scaricare a parte i miei
Template B12f  personalizzati.  

 

Smart Ripper e DVD decripter

Questi 2 programmi non hanno bisogno di una vera e propria installazione: basta  decomprimerli in una directory. 

Digital Video  DVD_Decripter.zip   SRipper.zip
Geocities   DVD_Decripter.zip  SRipper.zip 

 

Virtual Dub 1.4 : click su uno dei links a sinistra o sul 
sito ufficiale http://www186.pair.com/vdub/ 

Dopo aver decompresso il file in una directory per l'installazione del Sw e del Frame Server, eseguire Auxsetup e selezionare Install handler.

Link1

Se non è disponibile cercare nella sezione Download di uno dei seguenti siti (e mirror) http://go.to/doom9   http://doom9.org/    http://doom9.net/

Link2

Se non è disponibile cercare in  http://www.media-video.com/utilitaires.php 

 

http://www.digital-digest.com/dvd/downloads/virtualdub.html  

 

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

26 Giugno 2001

ritorna alla home page

ritorna alla pagina Digital Video