Newsgroup: it.comp.software.divx
Titolo: audio fuori sincrono

Ciao a tutti, mi sapreste spiegare perche', anche se raramente, puo'
accadere che un divx perfetto sul pc poi sia fuori sincrono sul lettore tv?
grazie.

 accadere che un divx perfetto sul pc poi sia fuori sincrono sul lettore tv?
io lo so :-)
Perche' il contenitore AVI ha un campo "audio delay", che nella maggior
parte dei casi e' settato a 0 (la situazione di default).
Nei casi semplici di asincronia (audio in ritardo o in anticipo
semplicemente "shiftato"), basta modificare il campo "audio delay" per
sistemare la sincronia A/V (da VirtualDub si puo' fare tramite la
finestrina dove ci sono anche i valori "preload" e "interleave audio
every...").
Tutti i lettori per PC (o quasi tutti) leggono questo valore e lo
rispettano, quindi sul PC risulta sincronizzato.
Tutti i lettori da tavolo che ho provato ignorano completamente tale
valore (assumono cioe' che sia sempre 0), e quindi, se e' impostato
a un valore diverso da 0, viene riprodotto desincronizzato.
Per questo motivo, nelle rare occasioni in cui mi trovo a dover
sistemare la sincronia A/V, uso un metodo "hard".
Copio e incollo da una mail che ho scritto ieri sera :-)
----------------------------------------------------------
se l'audio mi risulta in anticipo di circa 2 decimi
di secondo, genero un MP3 di silenzio della durata di 0.2 secondi e
lo "prependo" al flusso MP3 originale. Faccio cosi':
wavcat 48000 -s9600 | lame --cbr -b 128 - ritardo.mp3
questo mi crea un file "ritardo.mp3" che dura 0.2 secondi;
naturalmente devo stare attento che le caratteristiche siano le stesse
del file MP3 originale (stesso bitrate, stessa frequenza di
campionamento...).
A questo punto, concateno il file ritardo.mp3 a quello originale:
cat ritardo.mp3 audio-originale.mp3 > nuovo-audio.mp3
e lo rimuxo al video.
Con questo metodo, l'audio viene "shiftato" in avanti di 0.2 secondi,
come desiderato.
Lo stesso effetto, ovviamente, si ottiene impostando il valore "audio
delay" nell'header dell'AVI, ma, come ti ho gia' detto, questo metodo
funziona sul PC, ma non sui lettori da tavolo che ho provato;
invece, il metodo "hard" sembra essere definitivo e funziona con
tutti i lettori :-)
----------------------------------------------------------

 sistemare la sincronia A/V, uso un metodo "hard".
[cut]
ricevuta l'info sui lettori da tavolo, allora nel mio piccolo non sbaglio
molto se taglio il piu' lungo e remixo, usando l'opzione di virtualdub
"imposta framerate in modo che audio e video combacino"...
mi dispiace solo che si debba effettuare l'operazione di correzione dopo
avere gia' masterizzato e notato il problema sulla tv.
ciao

 a un valore diverso da 0, viene riprodotto desincronizzato.
Mi si stringe il cuore a contraddirti, ma e' di tutta evidenza
che non hai ancora provato il Philips 3010, dove tale delay
funziona alla perfezione persino su avi multitraccia (e magari
tutte con delay diversi tra loro) ^_^
Ora non ricordarmi la scattosita' del 3010 coi 24fps, non vale!

 "imposta framerate in modo che audio e video combacino"...
personalmente eviterei questa opzione come la peste, non mi pare
sensato avere framerate del tutto arbitrari, chesso' 24,867
25,191 eccetera...

 avere gia' masterizzato e notato il problema sulla tv.
gia'.
E non e' il solo problema, ce ne sono molti altri.

 25,191 eccetera...
scrivi cosi' perche' il Philips non si comporta bene (scatta) con tali
valori di framerate.
Ebbene... molti lettori da tavolo invece si comportano molto bene con
valori di framerate strambi come 24,867 ecc. Nessuno scatto percepibile
(o quantomeno facilmente percepibile o evidente) e nessun problema di
sincronia (se effettivamente, con quei valori non c'erano prolbemi
nemmeno sul pc).
Ho anche pensato che arrotondassero il framerate a 25 esatti, ma
cronometrando la durata di lunghi film ho constatato che il lettore
rispettava davvero il valore strambo.
Come fa?
Boh... questo e' un po' un mistero, perche' dalla sua uscita SCART
deve per forza uscire un segnale PAL a 50 semiquadri al secondo,
quindi deve avere qualche metodo per far tornare i conti.
Credo che usi un metodo tipo il filtro ConvertFPS di AviSynth, e'
spiegato qua:
http://www.avisynth.org/FPS
----------------------------------------------
The filter attempts to convert the frame rate of clip to new_rate without
dropping or inserting frames, providing a smooth conversion with results
similar to those of standalone converter boxes. The output will have (almost)
the same duration as clip, but the number of frames will change proportional
to the ratio of target and source frame rates. 
----------------------------------------------
Tempo fa ero molto interessato a convertire a 25 fps filmati con
framerate diversi, e avevo iniziato a studiare i metodi escogitati
da alcune persone...
Poi mi sono appunto accorto che il lettore stand-alone si comportava
gia' molto bene da se', e quindi preferisco lasciare i filmati a
quei valori strani di framerate...

 tutte con delay diversi tra loro) ^_^
bene, me lo annoto come unico esempio conosciuto di lettore
che rispetta l' audio delay :-)
Sicuramente ce ne saranno altri e spero che vengano segnalati dagli
utenti volenterosi.
Purtroppo questa e' una delle feature che non viene mai menzionata
nelle varie schede e test comparativi dei lettori, mentre invece
sarebbe piuttosto interessante saperlo prima di decidere quale
comprare...

 frame iniziali dallo stream video.
Ehi non vorrei aver svegliato un vespaio :-)
Dovevo premettere che mi accontento di risultati casalinghi, passabili.
A me succede che all'inizio del film audio e video coincidono, ma il fuori
sincrono si accumula durante la proiezione, quindi verso la fine prendo
nota del tempo da correggere, e poi con virtualdub separo le due piste. Poi
opero comunque sui finali dei files, non sull'inizio. Poi remixo, ma adesso
che mi avete avvertito, credo sia meglio intervenire solo sull'audio,
lasciando fissi i 25 fps del video.
ciao

io lo so :-)
A me con alcuni divx (divx3 mi pare), capitava che nel lettore
l'audio perdesse proprio la sincronizzazione,
cioè, non costante ma proprio andava per conto suo,
questo succedeva ad esempio se mandavo avanti o indietro,
ma non ho idea del motivo di questo comportamento.

 lasciando fissi i 25 fps del video.
in tal caso, mi pare ti tocchi fare un resampling dell'audio
(per accorciarlo o allungarlo)

 utenti volenterosi.
mi contraddico da me, perche' adesso anche il mio lo rispetta! :-)
Qualche anno fa non lo rispettava (questo lettore ce l'ho da quasi
3 anni e continua a non guastarsi :-)): si tratta di una feature dei
nuovi firmware, che mi ero dimenticato di controllare...
Ho fatto cosi': ho preso un film che avevo per le mani e che sapevo
desincronizzato (non progressivo, solo l'audio un po' in anticipo
in modo uniforme su tutto il film)... con mplayer ho individuato un
punto dove un tizio batte la mano e si sentono i colpi (in
anticipo su quello che si vede); ho premuto '-' qualche volta e
riportato indietro per controllare... bene, ritardando di 0.3
secondi andava bene.
Ho impostato l'audio delay (mencoder -audio-delay 0.3 -oac copy
-ovc copy ...), e constatato che sul pc i colpi coincidono con la
scena... (il segno del valore della opzione deve essere opposto a
quello individuato, mettendo -0.3 si anticipa ancora di piu'...).
Ho masterizzato i due AVI e... sorpresa! Il lettore si comporta
come mplayer: in quello vecchio l'audio e' in anticipo e il nuovo
e' sincronizzato.
Se non fosse stato per il tuo intervento non mi sarebbe mai venuta
la voglia di ripetere la prova e forse non l'avrei mai scoperto :-)

 ma non ho idea del motivo di questo comportamento.
questo lo faceva anche a me e a molti altri che comprarono
lo stesso lettore nello stesso periodo (gennaio/febbraio 2004);
all'epoca ci fu una persona (Junco? Dottor Mistero) che trovo' un
metodo per ovviare in parte al problema: quando si presentava
l'asincronia (spesso dopo avere mandato avanti o indietro, o avere
usato la funzione "search/goto"), si doveva premere sul
telecomando il tasto "setup", poi ripremerlo di nuovo, e spesso,
cosi' facendo, si resincronizzava.
Quando vennero rilasciati nuovi firmware, la situazione
miglioro' un po' (le asincronie casuali diventavano piu' rare),
ma il metodo di premere "setup" non era piu' efficace.
Con il firmware attuale, mi pare che il problema sia del
tutto risolto: lo uso da molti mesi e non ricordo neanche un
caso in cui abbia perso la sincronia. Questo firmware e'
decisamente migliore dei precedenti. Sebbene ho letto che,
al contrario dei precedenti, non gestisca bene l'audio 5.1
(a me non importa perche' in ogni caso faccio downmix stereo).

 lasciando fissi i 25 fps del video.
belight+besweet, acceleri l'audio in pochi attimi, cerca i vecchi messaggi
con google su questo stesso ng e vedrai che diventarai un espertone :)

quale lettore?
Ho un akai DV-PX7000E, chip vibratto 2 mi pare,
purtroppo la qualità di questi lettori è pari al prezzo di vendita,
la meccanica fa schifo, al punto che a volte si inceppa
lo scorrimento del carrello testina.
Legge quasi tutto, qualche difficoltà con i dvdrw.

 ----------------------------------------------
da profano, ma con un approccio che vuole essere razionale e dotato
di un decoroso inglese ^_^ ti dico che questa spiegazione pare
quantomeno nebulosa...
...il filtro prova (?) a convertire il frame rate del clip al nuovo
valore senza inserire o eliminare frames ma effettuando una conversione
(smooth=regolare, liscia, gentile) simile a quelle dei convertitori sa.
Il risultato avra' (quasi) la stessa durata del clip originale, ma
il numero dei frames cambiera' proporzionalmente al rapporto tra
i frame rates finale e iniziale.
il segreto pare quindi quella "smooth conversion" che i nortek
farebbero in tempo reale, durante la riproduzione...
complimenti, ma dove troviamo piu' info su questa smoothness? :)

 farebbero in tempo reale, durante la riproduzione...
qui è spiegato un po' meglio:
http://tinyurl.com/eawgj
http://members.lycos.co.uk/alexebasta/avs_frames/indice_frames.php?CallingPage=AviSynthManual
&page=FPS
la pagina principale è questa: 
http://members.lycos.co.uk/alexebasta/
bye
-- 
HomePage e FAQ: 
http://giubbe.altervista.org
Inutile scrivere in privato, non ricevo le email

 Legge quasi tutto, qualche difficoltà con i dvdrw.
che genere di difficolta'?
L'unico problema che ho riscontrato con supporti riscrivibili
e' che a bitrate molto alti (diciamo sopra 4000, rari nei divx)
possono un po' scattare; evidentemente, l'unita' di lettura
riesce a trasferire dati a velocita' maggiore dai supporti non
riscrivibili, perche' gli stessi filmati, masterizzati
definitivamente, non scattano piu'...

 con google su questo stesso ng e vedrai che diventarai un espertone :)
funziona bene besweet per questo scopo?
Mi pare di ricordare che, mesi fa, facemmo una prova se i lettori
rispettassero i "zero-byte frames". Ho un vago ricordo che tu mi
scrivesti che un AVI (che avevo messo sul web), sul tuo restava
sincronizzato, nonostante percepissi qualche scatto evidente.
Pero' non sono riuscito a trovare il thread...
Tu te lo ricordi?
Se ricordo male, magari vale la pena di farlo. Mi basta acquisire
una ventina di secondi, togliere una certa percentuale di frame
(distribuiti in modo uniforme) e riempire i buchi con "zero-byte
frame". Cosi' si ottiene un AVI un po' scattoso, che pero' sul
pc resta sincronizzato, perche' vengono rispettate le pause dei
frame vuoti.
Quando provai sul mio lettore sa, ricordo chiaramente che non
li rispettava: invece di attendere per un venticinquesimo di
secondo, visualizzava subito quello successivo, quindi il video
diventava sempre piu' in anticipo sull'audio...
Vorrei rifare quel test, ma se mi dici che lo abbiamo gia' fatto
pochi mesi fa, allora mi risparmio il tempo necessario :-)

 quantomeno nebulosa...
in effetti e' un po' contraddittorio perche' dice che non inserisce
e non elimina frames (il che, a logica, sembra voler dire che il numero
dei frame deve restare immutato), e poi dice che il numero dei frame
cambia.
In realta', quando dice che non inserisce/elimina frame intende dire
nel modo piu' ovvio, quello adottato dall'altro filtro piu' rozzo.
Nella pagina che ti ha indicato Giubbe spiega che questo filtro puo'
funzionare in due modi: blend e switch. Secondo me, il mio lettore sa
usa una specie del secondo, e sfrutta il fatto che il film viene
mostrato disegnando temporalmente le linee orizzontali dall'alto al
basso, a fasi alternate. Anche i difetti combaciano
--------------------------
Fermi immagine provenienti da questa conversione mostrano nelle scene
movimentate, linee verticali "spezzate" o "piegate"
--------------------------
Questo e' capitato anche a me, specialmente con filmati nativi
NTSC 29.97 fps.
Ho dei filmati che sono 29.97 fps "nativamente" (cioe', non ci sono
stati portati con un procedimento 3:2 pulldown; sono stati proprio
ripresi cosi').
Ebbene, il mio lettore sa (ma anche molti altri: LG, Sunstech,
Amstrad ecc) li visualizza in modo soprendentemente buono. Solo in
certe scene si percepisce una specie di leggero "flash", e appunto
mettendo in pausa durante una carrellata, puo' capitare di vedere
un'immagine "spezzata" orizzontalmente, cioe' le linee verticali
sono spezzate tutte alla stessa altezza (che non e' sempre la
stessa...); ci dev'essere un algoritmo che interviene all'interno
dei semiquadri, sfruttando la visualizzazione interlacciata tipica
del televisore.

riscrivibili, 
immagino siano i troppi errori di lettura che rallentano il flusso.

 insomma non è molto affidabile, sarà pure che io uso solo riscrivibili.
magari li avrai riscritti centinaia di volte :-)

 utenti volenterosi.
Anche il nortek ndvx280 funziona benissimo con i divx con audio delay
modificato da virtualdub ;)
-- 
#@!&

 modificato da virtualdub ;)
perfetto, l'ho annotato :-)
Che chip ha il 280? Mediatek?
Sembra che nei modelli sa piu' recenti funzioni; quando feci le prove
due anni fa (o piu') quasi nessuno li supportava...