Newsgroup: it.comp.software.divx
Titolo: sincronia audio ok con bsplayer, ko con lettore da tavolo

Ho sostituito l'audio originale di un filmato in divx con
uno in un'altra lingua con virtualdubmod, e l'ho
sincronizzato con synchronizer.
Ho dovuto impostare un ritardo piuttosto lungo all'inizio,
e modificare il frame rate.
Con BSPlayer e Windows MediaPlayer tutto funziona alla
perfezione, mentre con MPlayer e col mio lettore da
tavolo (Jepssen JX-3) l'audio è fuori sincrono (sembra
non tener conto del ritardo iniziale).
Che faccio?
Provo con virtualdubmod ?

 e modificare il frame rate.
Il problema è qui. I lettori da tavolo (e a quanto vedo anche mplayer, ma
forse Frank ne sa di più) non leggono il framerate dell'header e il filmato
resta desincronizzato.
Devi usare la funzione strech sull'audio senza alterare il framerate. Se
usi virtualdubmod nel menu audio trovi i filtri e fra questi c'è proprio lo
strech. Per impostarlo basta una semplice divisione tra il tempo dell'audio
e quello del filmato di destinazione.
bye
-- 
HomePage e FAQ: 
http://giubbe.altervista.org
Inutile scrivere in privato, non ricevo le email

 resta desincronizzato.
ho preso un filmatino breve e ne ho creato una copia con mencoder usando
l'opzione "-audio-delay 0.5". il filmato ottenuto ha la stessa lunghezza,
ma differisce dal primo esattamente per 3 bits (dovrebbero trattarsi del
campo "audio delay" dell'AVI).
ha ragione lui: mplayer riproduce i due filmati allo stesso identico modo.
nel secondo avrei dovuto percepire una differenza di mezzo secondo.
e' lo stesso anche con "xine".
cerchero' di approfondire, appena mi sara' possibile.
comunque, i lettori stand-alone, i framerate li leggono, e' il campo
"delay" che non rispettano...

 e' lo stesso anche con "xine".
ah, mplayer ha un'opzione "-delay" on-the-fly
impostando l'opzione "-delay 0.5" percepisco chiaramente che l'audio e'
in *anticipo* di mezzo secondo (non doveva essere in ritardo?) e questo
e' veramente strano, perche' nella documentazione c'e' scritto che
"-audio-delay" e' la versione permanente (perche' viene scritto
nell'header) di "-delay"
-------------------------
-audio-delay <0.0-...>
    Sets the audio delay field in the header.  Default is 0.0, nega-
    tive  values  do  not work.  This does not delay the audio while
    encoding, but the player will see the default audio delay, spar-
    ing you the use of the -delay option.
-------------------------
cerchero' di capirci di piu'

 "delay" che non rispettano...
Sicuro? Spesso sento di gente ha problemi di asincronia progressiva solo
sul lettore dopo che sul pc č stato messo a posto modificando il frame rate
video. Da cosa dipende?
grazie, giubbe


 dell'audio e quello del filmato di destinazione.
Capisco.
Ti spiego il mio problema e ti chiedo un consiglio.
Ho un filmato in divx con audio in tedesco e video di
ottima qualità.
Ho lo stesso filmato con audio in italiano e video di
pessima qualità.
I due filmati hanno un framerate diverso.
Nel secondo filmato mancano parte della sigla iniziale e parte
dei titoli finali, che invece sono compresi nel primo, dunque
i due audio hanno lunghezze diverse.
Come ho già detto, inserire un ritardo e modificare il
framerate funziona con bsplayer, ma non con altri player
o con il mio lettore da tavolo.
Hai qualche suggerimento?
C'è, per esempio, modo di catturare l'audio in uscita da
bsplayer? In questo modo avrei un file audio lungo quanto
l'intero filmato e potrei tornare a sostituirlo nel video
originale...

 originale...
Ma il framerate è lo stesso?
In questo caso non puoi tagliare o aggiungere silenzio direttamente al file
audio con un audio editor? (audacity, per esempio).
Comunque quello che chiedi si può fare con total recorder, ma è a
pagamento.


 total recorder, ma è a pagamento.
Dici che funzionerebbe? 

 Dici che funzionerebbe?
In teoria si, ma non l'ho mai provato.


 video. Da cosa dipende?
boh.
l'unica cosa che mi viene in mente e' che possano arrotondare i valori
effettivi a valori che ritengono standard;
ad esempio, nell'header c'e' scritto che il framerate e' 25.1 fps
(magari quel numero c'e' stato messo apposta per sincronizzare audio e
video), e il lettore ha una regola (stupida) che gli fa considerare il
valore 25 esatto; in questo modo il video risultera' un po' piu' lungo
dell'audio, e l'audio, dopo 4 minuti risultera' in anticipo sul video
di quasi un secondo, dopo 8 minuti di quasi due secondi e cosi' via...
ma e' solo un'ipotesi

 conto
Non è detto. Se il filmato è proprio un 29.97 fps avrà tutti i frame
apposto e quindi lo riproduce correttamente. Sarebbe da provare a prendere
un filmato in 25 fps, modificargli l'header (con avifrate o qualsiasi altra
cosa che modifica solo l'header) e poi provarlo sia sul PC che sul lettore.
bye


 ha scritto nel messaggio 
news:ad9hdp1f...@id2670.giubbe.altervista.org...

Ho avuto problemi simili con il mio lettore yamada 6700. Si verificavano 
quando la traccia audio e quella video, benché sincronizzate, avevano 
lunghezza differente. Tagliando il film al keyframe immediatamente 
precedente la fine, o quello ancora prima, rendevo le due tracce uguali e 
venivano riprodotte correttamente; perdevo solo la fine dei titoli di coda 

 cosa che modifica solo l'header) e poi provarlo sia sul PC che sul lettore.
ok, il filmato a 25 fps ce l'ho (audio e video sono sincronizzati).
che valore ci metto al posto di 25?

 che valore ci metto al posto di 25?
Un framerate conosciuto dal tuo lettore, che so un 29.70
Grazie


 Un framerate conosciuto dal tuo lettore, che so un 29.70
bene, penso che usero' diversi valori; quando avro' provato come si
comporta il lettore, postero' i risultati

 faro' una prova per verificare come si comporta il mio
ok, ho fatto una prova molto semplice e veloce, dalla quale sembra
che il mio stand-alone rispetti qualsiasi valore di framerate.
ecco i dettagli di quello che ho fatto.
ho preso un avi/divx a 25 fps (un video musicale, che ho scelto perche'
mi permetteva di controllare facilmente la sincronia tra le labbra della
cantante e il relativo audio); queste sono le caratteristiche del filmato
che ci interessano:
--------------------
v-frames = 5468
v-framerate = 25
durata = 219s = 3m, 39s
--------------------
da questo ho ottenuto un secondo filmato (z2.avi), con questo comando:
mencoder -mc 0 z1.avi -o z2.avi -oac copy -ovc copy -fps 29.97
questo comando non modifica gli stream, in pratica crea una
copia del filmato, cambiando il framerate da 25 a 29.97 (il
cambio di framerate e' puramente nominale, nessun frame del
filmato originale viene toccato...).
le caratteristiche del secondo filmato sono queste:
--------------------
v-frames = 5468
v-framerate = 29.969999
durata = 182s = 3m, 2s
--------------------
il numero di frames e' lo stesso, ma il framerate e' cambiato
(non so perche' non venga fuori 29.97, sara' un problema di
rappresentazione interna...); di conseguenza e' cambiata anche
la durata.
riproducendolo sul pc, viene riprodotto piu' velocemente del
dovuto e l'audio e' in ritardo gia' dalle prime battute della
canzone.
ho provato a fare l'inverso, cioe' a riportare di nuovo il
framerate a 25 partendo da z2.avi, e il filmato ottenuto e'
nuovamente sincronizzato, come z1.avi; tuttavia, gli mancano
gli ultimi secondi di audio, perche' il comando che aveva
generato z2.avi aveva segato un po' di audio...
infine, ho generato un terzo file, con il comando:
mencoder -mc 0 z1.avi -o z3.avi -oac copy -ovc copy -fps 25.1
perche' volevo vedere come si comportavano i lettori con un valore
vicino a 25.
ebbene, le caratteristiche di z3.avi sono:
--------------------
v-frames = 5468
v-framerate = 25.100000
durata = 218s = 3m, 38s
--------------------
il numero di frame e' sempre lo stesso, il framerate e' 25.1, e la
durata e' inferiore di circa 1 secondo rispetto all'originale;
riproducendolo con mplayer, osservo che all'inizio e' abbastanza
sincronizzato e man mano che va avanti si desincronizza sempre piu'
(desincronizzazione progressiva), sulle battute finali l'audio e'
sensibilmente in ritardo.
adesso passiamo al lettore stand-alone.
ebbene, non c'e' molto da dire... si comporta in modo praticamente
identico a mplayer.
innanzitutto, premendo "DISPLAY" sopra ai tre file ottengo queste
durate:
z1.avi -> 03:38
z2.avi -> 03:01
z3.avi -> 03:37
le durate sono diverse da quelle riportate sul pc, perche' immagino
che il lettore approssimi sempre per difetto, mentre il programma
sul pc usava una funzione "round", che puo' approssimare per eccesso;
quello che conta e' che le durate relative dei tre filmati sono
diverse.
mandando in riproduzione ottengo gli stessi risultati che sul pc:
il primo e' sincronizzato dall'inizio alla fine, il secondo e'
molto desincronizzato e dura molto bene (l'ho riprodotto tutto,
cronometrando, e dura effettivamente 3 minuti e 1 secondo), mentre
il terzo presenta lo stesso problema che presentava sul pc, cioe'
all'inizio e' abbastanza sincronizzato e alla fine della canzone
l'audio e' nettamente in ritardo.
mi pare che questo esperimento mostri che il mio lettore rispetta
ogni valore di framerate (anche valori strambi come 25.1).
tuttavia non ho la minima idea di come si comportano altri modelli,
ne' come mai certi filmati restano desincronizzati dopo che sono
stati messi a posto...
magari, se qualcuno ne ha voglia, potrebbe ripetere un esperimento
analogo sul suo lettore e riportare i risultati.

 
Preciso e dettagliato come sempre, grazie.
Terrň conto di questa tua risposta per problemi analoghi.
bye


 identico a mplayer.
Anche per me la stessa cosa. Rispetta il framerate.
-- 
Saluti, Kap - 
www.lordkap.it
 - ¥'s Fan #01 - 
www.pianetalibri.com
 - VCC
Una gran parte di quello che i medici sanno è insegnato loro dai malati.
Marcel Proust

 Anche per me la stessa cosa. Rispetta il framerate.
perfetto, grazie