PDA

View Full Version : cambiare audio a file mkv


Lights_n_roses
27-07-2009, 23:22
Salve ! !

Vorrei cambiare l'audio ad un filmato in mkv dove è presente la traccia inglese, prendendo l'audio da un normale divx dove è presente la traccia italiana, solo che probabilmente framerate e quantalatro saranno diversi, c'è qualcuno mi può dare una mano su come fare per cambiare le traccie audio adeguando i framerate in modo che non ci siano sfalzi di audio ?

Isg-Emu
28-07-2009, 00:14
Salve ! !

Vorrei cambiare l'audio ad un filmato in mkv dove è presente la traccia inglese, prendendo l'audio da un normale divx dove è presente la traccia italiana, solo che probabilmente framerate e quantalatro saranno diversi, c'è qualcuno mi può dare una mano su come fare per cambiare le traccie audio adeguando i framerate in modo che non ci siano sfalzi di audio ?

Gli sfalsamenti di audio devi aspettarteli comunque, dipende dalle tracce (principalmente dal doppiaggio in se). Se vuoi ad ogni modo fare un tentativo puoi usare virtualdubmod (lo trovi gratis in rete)...
Aprendo un file divx, ti sposti nella stream list: Da qui puoi vedere le tracce audio del filmato, quindi aprendo il divx italiano, puoi salvare da lì solo la traccia audio. Poi apri il file dell'mkv, ti sposti sempre nella stream list, dai disable sull'audio vecchio, add selezionando il nuovo audio (ita), oppure glielo aggiungi come seconda traccia. Quando salvi il divx ricordati di dare direct stream copy per evitare di ricomprimere il video. Puoi dare anche un'occhiata al framerate, i video a cui siamo abituati vanno a 25, accertati che anche il tuo mkv vada a 25, altrimenti cambia il framerate.
Spiegare i passaggi in modo così generico non è semplice, ma se hai bisogno di altri chiarimenti, siamo qua.
Però se hai la traccia inglese che dura (ad esempio) 24 minuti e quella italiana che ne dura 26, molto probabilmente avrai problemi di desync audio (audio sfalsato)...e lì c'è un bel pò da smanettare per sistemare la cosa...

Lights_n_roses
28-07-2009, 08:43
mhm ..capisco..comunque il video ha framerate a 23.9 mentre l'audio che ho io ha framerate a 25, quindi uno dei due va rimuxxato.. così ad occhio e croce dire di cambiare i frame all'audio ma onestamente non so quale delle due operazioni convenga effettivamente fare....per cambiare il frame che programma si può usare ? tipo mkv merge va bene ?

Isg-Emu
28-07-2009, 09:56
mhm ..capisco..comunque il video ha framerate a 23.9 mentre l'audio che ho io ha framerate a 25, quindi uno dei due va rimuxxato.. così ad occhio e croce dire di cambiare i frame all'audio ma onestamente non so quale delle due operazioni convenga effettivamente fare....per cambiare il frame che programma si può usare ? tipo mkv merge va bene ?

secondo me ti conviene cambiarlo al video (e portarlo a 25 che è lo standard europeo e pal)...Lo puoi fare con virtualdubmod direttamente.

Lights_n_roses
28-07-2009, 10:22
si ma per cambiare l'fps al video ci vorrà una giornata con il mio pc....è un file mkv da 8 gb...

Prospettiva80
28-07-2009, 12:00
ti conviene cambiare il framerate all'audio, in questa discussione avevo descritto il mio metodo, vedi se ti può essere utile: http://www.hwupgrade.it/forum/showthread.php?t=1893429

Lights_n_roses
28-07-2009, 12:43
si ...ho letto la discussione però avri una domanda...che programma uso per cambiare frame all'audio ??
non mi dire virtual dob mod perchè ogni volta che lo uso mi si puianta sempre per qualche problema !!! :muro:

Esavoc
28-07-2009, 19:51
Bisogna anche specificare che VDM carica gli mkv (meglio con il template directshowsource) ma salva sempre in AVI mentre con mkv merge lavori solo il flusso audio applicando lo stretch lasciando intatto quello video.

Prospettiva80
29-07-2009, 11:32
si ...ho letto la discussione però avri una domanda...che programma uso per cambiare frame all'audio ??
non mi dire virtual dob mod perchè ogni volta che lo uso mi si puianta sempre per qualche problema !!! :muro:

non ti serve virtualdubmod, fa già tutto mkvmerge, quando vai in "format specific options" nella voce "stretch by" si mette il valore 25/23.976, così cambi il frame rate dell'audio per renderlo uguale al video

Lights_n_roses
31-07-2009, 16:33
ovviamente intendi dire di mettere o 25 o 23,975 non di certo entrambi vero ?

Lights_n_roses
01-08-2009, 12:14
ho provato oggi ma l'audio è sfalzato di parecchio...la traccia audio che ho io dura 2 ore e 12 minuti, il video in mkv dura 2 ore e 18 minuti.... mi sto chiedendo una cosa...ho avviato il file avi normale del video e poi il mkv in 1080p e ho visto che riprendo le stesse scene il tempo è diverso, cioè mi spiego meglio sull'avi la scena A avviene al minuto 2, sull'mkv la scena A avviene al minuto 2 e 40 s tipo ( non è in scala ) nonostante le scene siano le medisime. Ora mi chiedo non è che l'mkv essendo a 23.98 duri di più dell'avi che è 25 unicamente per la differenze di frame ?

Esavoc
01-08-2009, 12:26
Il problema è proprio questo e non sempre si riesce a risolverlo.

Ammesso che all'interno del video le scene siano esattamente le stesse, compreso il punto di inizio e fine l'adattamento è più facile.

Comunque il confronto ti conviene farlo tra i due flussi audio e con un editor anche tipo Audacity che è gratuito. Dopo aver applicato lo stretch carica i due file audio nell'editor e controlla dove iniziano a desincronizzarsi. Spesso lo stretch non è sufficientemente preciso e devi agire a mano, ma devi essere sicuro al 100% che i due flussi siano esattamente gli stessi, anche il taglio di una sola scena manda a monte tutto il lavoro.

Lights_n_roses
01-08-2009, 12:48
eh ma è un po un macello...perchè il flusso originale dell'mkv è in francese...ci chiappo poco !!!

Esavoc
01-08-2009, 12:55
Sì, ma gli effetti audio sono gli stessi, fai riferimento a quelli: uno scoppio, un rumore improvviso, qualsiasi picco audio che sia presente nelle due lingue.

Lo so che è impegnativo...

Lights_n_roses
01-08-2009, 15:00
ma ora forse faccio diversamente.... ho visto che il file da dove ho preso l'audio italiano è un avi da 2 ore e 12 minuti e l'mkv dura 2 ore e 18 minuti...mi sono accorto che il dvd dura 2 ore e 17 minuti...lo prendo dal dvd l'audio italiano....funzionerà di sicuro meglio....cmq una cosa l'audio del dvd sarà a 25 fps quindi lo dovrò far muxxare a 23.98, per farlo con mkvmerge una volta aggiunto il file audio vado a format specific option-----> stretch by... cosa devo scriverci lì ? 23.98 o come diceva Prospettiva80 scrivere 25/23.976 ?

Esavoc
01-08-2009, 16:14
Puoi scrivere indifferentemente sia 25/23.976 che il risultato di questa operazione, cioè 1.043.

Comunque l'audio del dvd ha qualcosa di diverso da quello dell'mkv:
- La durata dell'mkv è di 2 ore e 18 minuti, cioè 138 minuti
- La durata del dvd è 2 ore e 17 minuti, cioè 137 minuti.
- la durata dell'avi è 2 ore e 12 minuti, cioè 132 minuti.

Applicando lo stretch all'audio del dvd diventerà 137* (25/23.976)= 142.8 minuti.
Mentre applicandolo all'audio dell'avi diventerà 132* (25/23.976)= 137.6 minuti.

Come puoi vedere il giusto stretch lo ottieni con l'audio dell'avi, forse nel dvd c'è qualche differenza nelle scene :boh:
Però per fare questi calcoli il tempo deve essere preciso, se lo hai ricavato da MediaInfo p. esempio, questo software ha il difetto di arrotondare il risultato.

Lights_n_roses
01-08-2009, 17:09
no io il framerate l'ho preso dal GOM player ...ora provo con questo mediainfo ..ma scusa una cosa ma se invece di mettere un rapporto come è 25/23.98 ci metto solo 23.98 non è meglio ?? poi scusa non funziona nel senso di frame + alto = maggiore durata ?

tra l'altro ho provato a fare questa operazione con l'audio dell'avi ma viene fuori una cosa totalmente sfalzata ..è incorreggibile..e tra l'altro il ritardo credo che muti con il proseguimento delle scene... ci saranno 4-6 minuti di sfasamento tra video e audio..

Esavoc
01-08-2009, 17:20
Non il framerate ma la durata deve essere precisa compresi i secondi...

In mkv merge devi inserire un moltiplicatore (stretch by) quindi o 25/23.976 o il suo risultato.

Poniamo che hai un video che dura 1000 frames, se il framerate è di 25 fps (25 frames ogni secondo) il video durerà 40 secondi (1000/25=40)
Se hai un framerate di 50 fps il video durerà 20 secondi ;)

Come ti ho già detto è un lavoro non sempre così automatico...

Domanda a margine, ma se hai anche il dvd perchè ti dai tutta questa pena, hai la possibilità di riprodurre gli mkv su una HDTV?

Lights_n_roses
01-08-2009, 17:23
ci sto provando !!!!! l'mkv si vede anni luce meglio del dvd....

Lights_n_roses
01-08-2009, 17:53
ho provato un'altra cosa adesso...ho preso l'audio dell'avi e ho convertito solo quello con il valore 1.043 e mi è venuto un file audio mka di 2 ore 18 minuti e 15 secondi...il video invece dura 2 ore 18 minuti e 14 secondi ..un secondo di differenza..a questo punto ho messo insieme i 2 file e l'audio è solamente un pochino sfasato o meglio...ho usato il km player e l'ho sincronizzato in un punto...solo che andando avanti pian piano si risfaas di nuovo ...come mai ? forse andrà moltiplicato per un valore più basso in modo da togliere il secondo di differenza...

ora riprovato cambiano leggermente il valore da 1.043 a 1.04290 ..l'audio è venuto di 2 ore a8 minuti e 14 secondi solo che all'inzio del film l'audio è in anticipo di un secondo .... mentre verso la fine è sincronizzato....come faccio a correggerlo se per metà film va bene e per metà no ? mi sa che mi ci vule un programma per trovare il framerate esatto del video... anche mediainfo l'ho rpovato ma come dicevi te apporssima...

Esavoc
01-08-2009, 18:13
Un secondo spalmato in più di due ore di filmato è trascurabile e non porta asincronia.
Controlla bene i due file che non ci sia qualcosa di diverso.
Scusa se insisto su questi punti ma le variabili da controllare sono poche, la durata e le scene, spesso i file convertiti hanno la sigla finale tagliata per recuperare un pò sulla dimensione finale e i tagli ognuno li fa dove meglio crede.

Prova con Audacity, carichi i due file e guardi nelle due onde se e che differenze ci sono.

Lights_n_roses
01-08-2009, 19:47
eh lo so ...ma è veramente noioso vedere mezzo film con l'audio sfalzato di un secondo o due...è innaturale...negli altri film kmv che ho l'audio è perfetto e sono quasi sicuro che chi li ha fatto ha usato il mio stesso giochino...hanno rippato l'hd dvd in inglese e poi ci hanno messo l'audio preso dall'avi o dal dvd italiano...anzi ne sono certo...se cel'hanno fatta loro il modo evidentemente c'è...

Lights_n_roses
02-08-2009, 12:14
via niente da fare...mezzo film ha l'audio giusto e mezzo film no..se lo metto per bene all'inizio dopo 40' minuti si inizia a sfasare se lo metto sfasato all'inizio invece dopo un po si agigusta...credo che il problema a questo punto sia il frame del video che evidentemente cambia e non è costante...certo che non riesco a capire come fa la gente metterci perfettamente l'audio italiano sui rip dei blu ray eng....

Esavoc
02-08-2009, 12:44
Tel'ho detto, devi prima sincronizzare i due flussi audio, dopo muxare quello in italiano.

Comunque se è desincronizzato deve avere anche una durata diversa e non solo di un secondo in totale, prova a tagliare l'audio dove inizia a desincronizzarsi e lavorare con il secondo pezzo per rimetterlo in sincrono. Se provi Audacity: carica i due flussi, tagliali esattamente dove quello in italiano inizia a desincronizzarsi, prendi il tempo rimanente di quello originale quindi: effetti -> cambia tempo e inserisci il valore in modo da renderli uguali, controlla se noti delle differenze dopo lo stretch.

Lights_n_roses
02-08-2009, 13:43
e il problema è che con audacity appena carico un flusso audio si pianta...va in crash..io uso vista 64 ptobabilmente non gli piace...perchè s eho capito bene con audacity dovrei caricare l'audio italiano e quello inglese e farglieli sincronizzare giusto ?

Esavoc
02-08-2009, 14:28
Mmm, ho paura che hai ragione, con Vista 64 bit Audacity ha dei problemi come specificato qui (http://audacity.sourceforge.net/help/faq?s=general&i=64-bit).

Lavorare con un'editor audio sarebbe la cosa ideale e la procedura è quella che a grandi linee hai descritto.

Lights_n_roses
02-08-2009, 18:03
ma di precisono una volta aperti come faccio a farglieli sincronizzare ?

P.S. tra l'altro per esportare l'audio dal file mkv ho fatto import ----> Raw data, perchè altrimenti non lo riconosce come formato l'mkv...va bene ??

Esavoc
02-08-2009, 18:20
Il procedimento a grandi linee tel'ho spiegato prima partendo dalla tua affermazione che i primi 40 minuti sono sincronizzati, non è una procedura automatica, quella l'hai già fatta, devi sincronizzare manualmente.


P.S. tra l'altro per esportare l'audio dal file mkv ho fatto import ----> Raw data, perchè altrimenti non lo riconosce come formato l'mkv...va bene ??

Con quale software? Per estrarre l'audio puoi usare mkvextractgui, scaricabile qui (http://www.videohelp.com/tools/MKVExtractGUI) e da inserire nella cartella di mkvtoolnix.

Lights_n_roses
02-08-2009, 18:22
c'è una voce in audacity... tracks---->allign track ---> poi ci sono vari tipi di allineamnto...ma non so se è quello che serve a me...

Prospettiva80
02-08-2009, 19:57
proviamo a risolvere il problema aggirandolo. Se non ho capito male adesso hai ottenuto un file mkv con doppio audio inglese/italiano, ma quest'ultima lingua dopo circa 40 min. inizia ad andarti fuori sincrono. Prova ad importare il mkv sempre in mkvmerge, poi vai nella scheda global, enable splitting, after this duration e setti 40 min. come in figura (in max number of files metti il valore 2):

http://img33.imageshack.us/img33/1894/immaginezja.jpg

poi clicca start muxing. Alla fine dell'operazione otterrai due file, il primo della durata di appunto 40 min., il secondo della durata del resto del film. Ora la prima parte sarà con audio sincronizzato, mentre l'altra chiaramente no. Apri quindi la seconda parte con kmplayer e con la funzione sincronizza audio correggi il ritardo/anticipo. Una volta fatto ti segni l'esatto valore in millisecondi. Infine riunisci le due parti di prima del mkv usando sempre mkvmerge (clicca su add per importare il primo file, poi ancora add per il secondo) avendo l'accortezza di sincronizzare la seconda parte e solo quella andando in "format specific options" ed inserendo il valore in millisecondi in "delay". Infine start muxing. Nello sfigato caso in cui poi ad esempio il fuori sincrono lo riscontri dopo 90 min. rifai la stessa operazione di prima per dividere e risincronizzare la seconda parte settando l'enable splitting dopo appunto 90 min. Operazione laboriosa, ma dovresti riuscirci

|Nick|
12-05-2010, 00:13
scusate se riesumo il post ma mi serve una info precisa...

in audacity esiste il corrispettivo comando stretch by ? dove?

- Lke -
11-06-2010, 15:11
scusate se riesumo il post ma mi serve una info precisa...

in audacity esiste il corrispettivo comando stretch by ? dove?
Sto facendo qualche esperimento, puoi usare Effetti -> Cambia tempo.

denny927
22-04-2012, 18:54
proviamo a risolvere il problema aggirandolo. Se non ho capito male adesso hai ottenuto un file mkv con doppio audio inglese/italiano, ma quest'ultima lingua dopo circa 40 min. inizia ad andarti fuori sincrono. Prova ad importare il mkv sempre in mkvmerge, poi vai nella scheda global, enable splitting, after this duration e setti 40 min. come in figura (in max number of files metti il valore 2):

http://img33.imageshack.us/img33/1894/immaginezja.jpg

poi clicca start muxing. Alla fine dell'operazione otterrai due file, il primo della durata di appunto 40 min., il secondo della durata del resto del film. Ora la prima parte sarà con audio sincronizzato, mentre l'altra chiaramente no. Apri quindi la seconda parte con kmplayer e con la funzione sincronizza audio correggi il ritardo/anticipo. Una volta fatto ti segni l'esatto valore in millisecondi. Infine riunisci le due parti di prima del mkv usando sempre mkvmerge (clicca su add per importare il primo file, poi ancora add per il secondo) avendo l'accortezza di sincronizzare la seconda parte e solo quella andando in "format specific options" ed inserendo il valore in millisecondi in "delay". Infine start muxing. Nello sfigato caso in cui poi ad esempio il fuori sincrono lo riscontri dopo 90 min. rifai la stessa operazione di prima per dividere e risincronizzare la seconda parte settando l'enable splitting dopo appunto 90 min. Operazione laboriosa, ma dovresti riuscirci

proprio quello che mi serviva....grazie.peró in teoria dovrebbe esserci un piccolo salto dell'audio vero al momento della riproduzione...comunque meglio questo che avere l'audio sfalsato