PDA

View Full Version : conversione da 25 fps 23.98 fps !


Lights_n_roses
11-01-2011, 22:06
Salve !

Ho un filmato video mkv a 23.98 fps e devo cambiargli l'audio prendendo da un altro filmato che però gira a 25 fps. devo quindi convertire il secondo filmato a 23.98 o il primo a 25 dato che le durate dei 2 filmati sono diverse e quindi anche la durata del file audio.
Il mio problema è questo, ho usato mkvmerge e ho provato a convertire entrambi i filmati ma dopo il cambio di fps la durata è stranamente rimasta la stessa in entrambi ( ??? ) so per esperienze che se un filmato dura 1 ora a 23.98 fps se converito a 25 fps diminuisce di durata....perchè stavolta non è avvenuto ?

Lights_n_roses
12-01-2011, 19:07
nessuno ?

Esavoc
12-01-2011, 23:14
Io preferisco modificare la durata del flusso audio invece che modificare il framerate.
Puoi farlo sia con mkvmerge che con un programma esterno.

In ogni caso, con cosa hai controllato la durata dei due video?

Lights_n_roses
13-01-2011, 15:50
h
o semplicemente fatto partire il video convertito e ho visto che la durata era uguale a prima..
Comunque non sapevo si potesse variare la durata del flusso audio con mkv merge..come si fa ?

Esavoc
13-01-2011, 17:49
Ti ho fatto questa domanda perchè il cambio di framerate fatto con mkvmerge non agisce sugli stream come farebbe una conversione vera e propria ma modifica nel contenitore le informazioni sulla velocità di riproduzione e non tutti i player le leggono correttamente.

Per agire sulla traccia audio devi selezionarla dopo averla aggiunta e agire sullo stretch sempre nella finestra dove hai impostato il cambio di framerate.

Nella casella Stretch by scrivi il rapporto tra i due framerate oppure l'operazione 25000/23976.

Dopo aver muxato provi a riprodurre e se c'è un'asincronia costante puoi eliminarla agendo sul delay

Lights_n_roses
13-01-2011, 19:51
Ti ho fatto questa domanda perchè il cambio di framerate fatto con mkvmerge non agisce sugli stream come farebbe una conversione vera e propria ma modifica nel contenitore le informazioni sulla velocità di riproduzione e non tutti i player le leggono correttamente.

Per agire sulla traccia audio devi selezionarla dopo averla aggiunta e agire sullo stretch sempre nella finestra dove hai impostato il cambio di framerate.

Nella casella Stretch by scrivi il rapporto tra i due framerate oppure l'operazione 25000/23976.

Dopo aver muxato provi a riprodurre e se c'è un'asincronia costante puoi eliminarla agendo sul delay

ora provo ..ma il fatto che non tutti i player si accorgano che la durata del filmato è cambiata significa che è stato effettivamente allungato e che quindi posso estrarre l'audio e usarlo per l'altro filmato o che la durata è rimasta la stessa ?

Esavoc
13-01-2011, 19:59
No, la durata è rimasta la stessa e se estrai il flusso puoi verificarlo.
L'unico modo per cambiare in modo definitivo la durata dell'audio è stretcharlo e poi ricomprimerlo, lo fa audacity, lo fa behappy e altri software ma non mkvmerge. Lo stesso vale per il video naturalmente.

Lo stretching con mkvmerge devi farlo dopo che hai inserito la traccia nel video con fps diversi e non nel file originale.

Lights_n_roses
13-01-2011, 21:00
Aspetta !! Sennò non capisco molto !
Allora mettiamo che voglia mettere l'audio dal file a 25 fps in quello a 23.98...qual'è la strada più veloce che mi consigli ?

Esavoc
13-01-2011, 21:17
Intanto devi estrarre l'audio dal file a 25 fps.
Con mkvmerge carichi il video a 23.976fps
con Add aggiungi l'audio che hai estratto
nel riquadro più in basso vedi elencati tutti gli stream, seleziona l'audio aggiunto quindi vai in Format Specific Options e su Stretch by inserisci 1.04 o per essere più preciso 25000/23976
nel riquadro di prima deseleziona tutto tranne il video e l'audio aggiunto quindi fai partire il muxing.

Però attento che i due video devono essere identici come contenuti altrimenti l'audio risulterà comunque desincronizzato e dovrai lavorarci su tanto, forse troppo per poterlo risincronizzare.

Se quando riproduci il nuovo video noti una desincronizzazione costante dall'inizio alla fine, basta correggere il ritardo audio ricaricando il video in mkvmerge e dove hai impostato lo stretch imosti il delay in millisecondi.
Questo valore imposta il ritardo audio quindi dovrà essere positivo per ritardare l'audio e negativo per anticiparlo rispetto al video. Devi fare delle prove per trovare quello giusto.

Lights_n_roses
16-01-2011, 11:37
Salve !

ho effettuato l'operazione e si era solo un problema di visualizzazione del gom player che dava una durata sbagliata, con media player classic non succede.
Devo però impostare il delay ...
Non riesco ad aprire il file mkv con virtualdubmod...gli ho dato anche come avisyth "directshowsource" ma mi da errorre (80040154) ho guardato questa guida http://www.collectiontricks.it/forum/guide-multimedia-grafica/Ct1944-virtualdubmod/index2.html#post41075 ma onestamente a me non interessa che mi aggiusti il frame rate virutaldub anzi ..mi interessa che mi lasci il 23.98 nell'originale e i 25 nell'altro file in modo da poter vedere il delay tra una scena e l'altra !

Esavoc
16-01-2011, 12:25
a me non interessa che mi aggiusti il frame rate virutaldub anzi ..mi interessa che mi lasci il 23.98 nell'originale e i 25 nell'altro file in modo da poter vedere il delay tra una scena e l'altra !

Il ritardo devi sistemarlo dopo aver fatto lo stretching altrimenti non funziona.

Se riproduci un video a 25 fps ed uno a 23.976 fps contemporaneamente, partiranno insieme ma pian piano il primo andrà ad anticipare il secondo.
Ammettiamo che trovi il delay dopo 1 minuto e lo sistemi, il minuto successivo avrai di nuovo asincronia vista la diversa velocità di scorrimento dei frames.

XextreamX
16-05-2012, 21:35
io ho fatto come dite , con mkvtoolnix , e sincronizzato perfettamente , ma quando guardo il fil ogni 2 o tre secondi ho un buco nell'audio , come posso correggere questa cosa ?

Per favore ....:mc: :mc: :mc: :mc: :mc: