Newsgroup: it.comp.software.divx
Titolo: sincronia audio-video

Ciao a tutti,
ho un problema di sincronia su un DVX. All'inizio è sincronizzato poi
di colpo c'è un punto oltre il quale l'audio arriva prima del video
(ca. 2-3 sec). Il DVX non l'ho fatto io e il prob c'è sia su PC che su
lettore da tavolo. Si può sistemare? Premetto (anzi, aggiungo) che non
sono esperto.
Grazie

 l'audio arriva prima del video (ca. 2-3 sec).
se si desincronizza proprio di colpo, non credo che esista un rimedio
facile.
Se l'asincronia e' progressiva (all'inizio e' sincronizzato, poi
diventa sempre piu' desincronizzato, in modo lineare), allora puoi
tentare di rimediare con l'aiuto del programma "Synchronizer".

 facile.
e si proprio di colpo. Il frame prima è a posto e quello dopo è
fuori, e il ritardo resta invariato fino alla fine.

 facile.
una possibile situazione di desincronizzazione improvvisa si ha quando
si conatenano due AVI, in cui il primo ha l'audio piu' breve del video,
e non si tolgono i frame in eccedenza.
Ho visto che "avimerge" ha questa opzione:
-------------------------------------------------------
 -c  Drop video frames in case audio is missing [off]
     Only when merging multiple AVI files. Some AVI files run a lit-
     tle bit (usually for one or two video frames) short on audio.
     This means avimerge cannot keep up sync when concatinating them.
     The files play fine when played individually but not when merged
     because audio from the new file gets played back with video from
     the old file.
     avimerge will print a message like
     No audiodata left for track 0->0 (59950.25=59950.25)
     continuing ..
     When you turn on the -c option, the video which is too much will
     be dropped.
-------------------------------------------------------
Cioe', in pratica, (senza usare l'opzione -c) l'audio del secondo AVI
viene shiftato per coprire la zona mancante del primo AVI, quindi, a
partire dal punto di giunzione, l'audio risulta improvvisamente in
anticipo rispetto al video.
A una situazione di questo tipo si puo' rimediare, applicando un
procedimento inverso (pero' bisogna individuare il punto in cui
l'audio diventa improvvisamente in anticipo, tagliare il filmato
in quel punto, individuare di quanto tempo e' in anticipo l'audio
e ritardarlo corrispondentemente).
Ma non e' detto che il tuo film sia venuto fuori in questo modo,
potrebbero esserci altre spiegazioni...

 fuori, e il ritardo resta invariato fino alla fine.
allora potrebbe essere, come ho appena scritto in altro post,
il risultato di una concatenazione (merge) fatta male.
Oltre alla situazione che ho descritta nell'altro post (primo
AVI con audio piu' corto del video), puo' anche essere che
il secondo AVI avesse impostato un "audio delay", e durante
la concatenazione non ne sia stato tenuto conto...

 e ritardarlo corrispondentemente).
mi sembra un'ottima soluzione, ma come posso fare in pratica?

 mi sembra un'ottima soluzione, ma come posso fare in pratica?
per tagliare il filmato ti rimando alle FAQ del gruppo
http://giubbe.altervista.org
in pratica, individui il keyframe a partire dal quale c'e'
l'improvvisa asincronia, e salvi i due segmenti su due filmati
separati. Il primo dovrebbe essere sincronizzato, il secondo
dovrebbe avere un'asincronia semplice (una traslazione).
A questo punto ti resta da sincronizzare la seconda parte.
Dato che e' una semplice traslazione, puoi anche usare un player
che ti permetta di impostare un ritardo interattivamente (durante
la riproduzione), in modo da individuare il valore del ritardo
che fa al caso tuo.
A questo punto hai varie possibilita' (ne abbiamo discusso su
questo nei giorni precedenti).
La soluzione piu' elegante e' di tipo "soft" (nel senso che non
devi ricodificare niente di niente): ti basta impostare il valore
individuato nella apposita finestrina "interleave" di
VirtualDubMod (e poi suppongo che tu debba salvare in "direct
stream copy").
In questa soluzione, il ritardo viene semplicemente scritto in
un header AVI, che si spera venga rispettato dal player
utilizzato (alcuni lo rispettano, altri no).
Nel suo documento sul contenitore AVI, Alex Noe' sconsiglia di
usare questo metodo:
http://www-user.tu-chemnitz.de/~noe/Video-Zeug/avi_docu/avi.pdf
 
--------------------------------------------------------------
One way to set a delay in AVI files is using the
AVIStreamHeader::dwStart value (see page 11). However, not every
player reads this value, so that such files would not properly play
on them.
Some applications, like VirtualDub and derivates (NanDub,
VirtualDubMod) add some data to the beginning of streams to be
delayed.
[ cut ]
--------------------------------------------------------------
Poi comunque resta da vedere se hai intenzione di concatenare
nuovamente le due parti, o se ti va bene lasciarle separate...
Nel primo caso dovrai adottare una soluzione "hard", cioe'
dovrai o aggiungere un pezzo di audio pari alla durata del
ritardo, oppure togliere qualche frame...

Provo, grazie 1000!