Sincronizzazione Audio-video


Scritta da Trippone Spropositato il 16-02-2003

Siete appassionati di VCD/SVCD? Bene, allora vi sarà sicuramente capitato di aspettare 7/8 ore durante le quali il pc effettuava la vostra grassa conversione da un divx-xvid to VCD per poi accorgervi che il nuovo file mpeg aveva i flussi audio e video sfasati...

E’ ora di dire basta! Vogliamo un (S)VCD come Dio comanda!



Guida alla sincronizzazione audio/video nei VCD-SVCD (mpeg1-mpeg2)

By Trippone spropositato
Divxmania.it STAFF


Siete appassionati di VCD/SVCD? Bene, allora vi sarà sicuramente capitato di aspettare 7/8 ore durante le quali il pc effettuava la vostra grassa conversione da un divx-xvid to VCD per poi accorgervi che il nuovo file mpeg aveva i flussi audio e video sfasati :-((((

E' ora di dire basta! Vogliamo un (S)VCD come Dio comanda!

Esistono due modi per evitare il dramma.

Il primo e più naturale consiste nell'accorgersi del problema prima di iniziare la conversione e quindi applicare il giusto ritardo o anticipo al flusso audio direttamente durante l'encoding.

Il secondo invece sussiste nel momento in cui dopo le famose 8 ore ci accorgiamo del guaio. Che facciamo ri-encodiamo il tutto???? Il cielo ce ne scampi!

Analizziamo un secondo le piccole cause che possono portare a questi asincronismi.

Spesso i file avi di origine (siano essi DviX o XviD) appaiono perfetti, però magari a loro è stato applicato un ritardo\anticipo (con VirtualDub o chi per lui) di cui i lettori (Bsplayer, Wmplayer ecc…) si accorgono e ce lo fanno vedere e sentire magnificamente, ma teniamo presente che i programmi di encoding VCD (come TMPGenc) considerano i due flussi completamente distinti e indipendenti fra loro infischiandosene del delay applicato (giacché fisicamente non fa parte del file audio, ma è solo un indicazione per il player di farlo partire in anticipo o in ritardo). Non dare importanza a questo fatto porta al prematuro ricorso ad uno psicanalista:-)

Tanto è vero che quando invece convertiamo direttamente un DVD in VCD questo problema scompare (almeno nel 99% dei casi).

Questa guida quindi considererà i due casi separatamente:

Caso 1 - Conversione non ancora effettuata

Caso 2 - Conversione già effettuata - Sincronizzazione di un file mpeg


Caso 1
Conversione DivX-S(VCD) non ancora effettuata

Spiegherò la procedura da seguire con l'ottimo TMPGenc (freeware), ma sicuramente anche gli altri progs di encoding avranno una funzione molto simile.

La premessa d'obbligo è che questa guida non vuole spiegare tutto il procedimento di conversione Divx-VCD ma solo la soluzione al problema di asincronismo audio/video, a questo scopo infatti esiste già l'articolo di CereS™ (il Signore e Padrone)™ (il Signore e Padrone) nella sezione Archivio-articoli intitolata "S(VCD) con TMPGenc".

Veniamo a noi. Una volta aperto il file avi di origine nella casella Video source e audio source e caricato il template VideoCD PAL.mcf (o svcd, il processo è uguale) clicchiamo sul pulsante setting.
user posted image

Si aprirà la finestra MPEG video setting, clicchiamo sulla scheda Advanced

user posted image

Spuntiamo la voce Source range e facciamoci doppio clic sopra, si aprirà la seguente finestra:

user posted image

Il lavoro verrà svolto tutto in questa finestra. Come vedete appaiono sia il video che l'audio, questo fa si che possiamo renderci conto degli eventuali problemi di sincronia a occhio nudo.

Esempio:

Spostiamoci col cursore in un punto del film dove sappiamo esserci una porta che sbatte, un colpo d'arma da fuoco o qualsiasi rumore forte e secco ben individuabile.

Nell'esempio il simpatico Scrat ha appena sbattuto una noce di cocco, infilandola nel terreno

user posted image

Il rumore di fondo nella scena è molto basso e lo si vede dallo spettro dell'audio (in verde), però c'è qualcosa che non va, dovrebbe infatti esserci un picco dovuto all'impatto del cocco con la terra.

Andiamo quindi a cercare il picco aumentando o diminuendo la voce audio gap correct usando le freccette:
user posted imageAumentando il valore l'audio verrà anticipato e vedrete scorrere lo spettro verso sinistra (ovviamente il video non si muoverà), diminuendo il valore invece lo spettro si sposterà verso destra ritardando l'audio. Giocando quindi un po' con questo fattore troverete la giusta correzione. Nel nostro esempio un giusto valore si è rivelato essere 70 msec:

user posted image

infatti all'impatto col terreno corrisponde un picco nel flusso audio.

Prima di iniziare la conversione dell'intero film è comunque buona norma fare almeno una prova codificando in VCD solo un piccolissimo spezzone (significativo ovviamente, un romantico bacio non ci sarebbe utile). Si fa sempre dalla finestra source range settando start frame e end frame, vi consiglio di spostarvi col cursore in un punto subito prima di un rumore significativo e premere "Set start frame", spostarvi subito dopo e premere "Set end frame". La parte selezionata si evidenzierà e tutto il processo di conversione sarà limitato a quello spezzone. Cosicché con prove di pochi secondi potrete poi avere la certezza che dopo le 8 ore di conversione avrete un signor risultato.

Ricordatevi quando avrete finito con le prove e avrete scelto il giusto audio gap correct di inserire il valore "0" zero in Start frame e "-1" in end frame, così TMPGenc evidenzierà tutto il film e farà la conversione completa. Caso 2
Conversione DivX-S(VCD) già effettuata.
Sincronizzazione di un file mpeg.


In questo secondo caso si suppone che siamo in possesso di un file Mpeg, che può essere VCD, SVCD (anche non standard, XVCD-XSVCD) che presenta asincronismi audio-video. Per risolvere dovremo usare due programmi freeware: TMPGenc e BBmpeg, il primo lo trovate nella sezione download di divxmania.it, il secondo qui: http://www.divx-digest.com/software/avi2mpg2.html

Prima di tutto è necessario dividere il file mpeg in due file distinti, uno video e uno audio, con TMPGenc.

Apriamo TMPGenc, nel menù file clic su MPEG tools…nella scheda simple DE-multiplex

apriamo il nostro file .mpg:

user posted image

Automaticamente TMPGenc ci suggerirà i nomi dei file video e audio, clicchiamo su Run.

Dopo pochi minuti avremo i file .m1v (flusso video) e .mp2 (flusso audio). Possiamo chiudere TMPGenc.

Per sistemare la loro sincronia useremo adesso BBmpeg.

BBmpeg non necessita di installazione si scompatta in una cartella e si apre cliccando sul file avi2mpg2.exe

Clicchiamo sul pulsante "Start Encoding" in basso a sx, sulla successiva finestra scegliamo "Settings" e avremo :

user posted image

Settiamo tutto come in figura (potete scegliere l'mmx mode in base al vostro processore, ma non è importante), passiamo ora alla scheda Input and Output files:

user posted image

Col tasto Open PS decideremo il nome da dare al file che stiamo per creare,

Open VS per aprire il flusso video (.m1v) creato in precedenza con tmpgenc,

Open AS per aprire il flusso audio (.mp2) creato in precedenza con tmpgenc.

Passiamo a Program Stream Settings:

user posted image

Prima di tutto dovremo indicare al programma che tipo di file stiamo trattando in Program Stream Type:

-Se il nostro file originario era un VCD standard (1150 Kbps-352x288) va bene VCD

-Se era un VCD fuori standard allora selezioniamo mpeg-1

-Per i SVCD anche non standard va sempre bene la scelta SVCD

Gli unici valori con cui andremo a giocare sono:

user posted image

gli startup delays di audio e video, cioè il ritardo con cui partono i due flussi. Il valore Pack non toccatelo e tantomeno audio 2 (la seconda traccia audio che comunque non abbiamo).

Inoltre considerate che per evitare casini non meglio specificati, i valori vanno solo aumentati e mai diminuiti. Mi spiego, per il vcd i valori standard sono quelli in figura: video 344 e audio 344 supponiamo di voler anticipare l'audio rispetto al video di 100 millisecondi.

La cosa da NON FARE è settare l'audio a 244.

La cosa DA FARE è settare il video a 444 e lasciare l'audio a 344

Per gli altri formati il discorso è uguale ma cambiano i ritardi e il pack, comunque a noi poco importa tanto giochiamo sulla differenza.

Decisi i valori da settare clicchiamo su ok e sull'altra finestra scegliamo "START"

Il processo è breve e bbmpeg alla fine procederà automaticamente al multiplexing, facendovi ritrovare il file mpeg bello e pronto per l'uso senza dover ripassare per tmpgenc.

L'unico caso in cui è necessario far dare una ripassatina al file è quando si è lavorato su un mpeg-1 per creare un XVCD . In tal caso bisognerà tornare su tmpgenc, andare in File-Mpeg tools…- merge&cut :

user posted image

Carichiamo il file.mpg col tasto add e selezioniamo "MPEG-1 Video-CD (non-standard) nella casella Type. Diamo un nome al file in uscita e clic su RUN.

Ripeto che quest'ultimo passaggio per i VCD standard e i SVCD non serve.

Ora che sapete come fare non vi resta che fare un po' di prove e cercare di azzeccare il giusto ritardo da applicare all'audio o al video.

Ovviamente il consiglio è sempre quello di prendere come riferimento scene con un rumore forte e secco, senza stare troppo a dar retta al movimento delle labbra degli attori. La maggior parte dei film sono stranieri e la voce degli attori è doppiata, questo rende quasi impossibile stabilire la sincronia delle parole. Un ottimo aiuto per capire se ci siamo o meno viene da rumori ripetuti a breve intervallo come ad esempio il batter di mani (di una sola persona ovviamente , non di una platea) oppure il tamburellio di una matita su un tavolo o un duello fra spadaccini.

Questo è quanto. Le spese che questa guida vi risparmierà per lo psicanalista devolvetele a favore dello staff di divxmania.it.:-))))

Ciao ciao.
Pagina stampata da Divxmania.it
Vietata la copia e la distribuzione (anche parziale) senza la previa autorizzazione.