[TUTORIAL] Averiguar DELAY de una pista de audio en un MKV

Hola, seguro que este tutorial es de mucha utilidad para algunos, que como yo, muchas veces se han encontrado en la situación, de tener que cuadrar el audio de un video al pasarlo de MKV a M2TS, TS o AVCHD...

Muchas veces los montadores de MKV, no acompañan la subida con la información del delay (retraso) que han introducido en alguna de las pistas de audio (normalmente las de castellano) para cuadrarla con la pista original de video.

Asi que muchas veces nos encontramos, que al pasar el MKV a un formato compatible con PS3 (normalmente con tsmuxer) al reproducirlo en la maquina el audio no cuadra, y vaya por dios, hay que volver al pc, intentar averiguar (si no preguntar) el delay introducido en dicho fichero... y luego aplicarselo con el propio tsmuxer de nuevo.

Bien, despues de invertigar un poco, he encontrado la solucion.

Se trata de analizar brevemente el MKV con el programa mkvinfo GUI, incluido en la mkvtoolnix.

1 -- Abrimos el mkvinfo
2 -- seleccionamos en file -- open el fichero a analizar.
3 -- minimizamos toda el arbol de informacion del fichero, hasta quedarnos unicamente con el nombre y la ruta del archivo.
Quedara algo asi.

Imagen

4 -- le damos a options y marcamos show all elements.

5 -- maximizamos nuevamente el archivo, quedara algo asi.

Imagen

6 -- maximizamos el arbol segment, size xxxxxxxxx at xx

Imagen

7 -- maximizamos el primer cluster y luego los tres primeros block group

Imagen

Bien, como se ve en la imagen, los dos primeros block group, hacen referencia a las pistas (track) 1 y 5. Ambas comienzan en el primer cluster, en los primeros block group. Lo cual significa que ambas pistas, 1 y 5, estan perfectamente sincronizadas. En nuestro ejemplo, el asunto es averiguar el DELAY de las pistas 2, 3 y 4, que son las montadas con el desconocido delay.
Para ello, seguimos abriendo los block group uno detras de otro, hasta que veamos aparecer por primera vez alguna de dichas pistas. En el ejemplo utilizado, en todo el primer cluster no se encuentran, asi que pasé al segundo cluster.

Imagen

como se ve en la imagen anterior, por fin aparecieron las pistas 2 y 3, con el timecode 2.200s = 00:00:02.2000, bien, pues dicha cantidad es el delay aplicado a la pista, que en este caso es de 2.200ms (milisegundos), que sera la cifra a poner en la pista de audio a la que lo queramos aplicar, en la opcion correspondiente del tsmuxer.

Un poco mas abajo, segui buscando la pista 4, y me la encontre como se ve en la captura en el timecode 2.500s, lo cual me indica, que el momento en que dicha pista es lanzada es el 00:00:02.5000, lo cual nos da un delay de 2.500ms.

Imagen

Resumiendo, la primera vez que aparecen las pistas en la lista de clusters y block groups, dicho timecode hace referencia al delay existente, por lo tanto, si todas las pistas empiezan una detras de otra en los primeros block groups, no existira delay, pero si la pista que buscamos no se encuentra ahy, solo debemos de seguir la linea de tiempo marcada por dichos block groups hasta encontrarla, y como decia, LA PRIMERA VEZ QUE APAREZCA NOS MARCARA EL DELAY.
Muchas gracias por el tuto, seguro que a mucha gente le sirve de ayuda.

Salu2
Tio eres un makina, llevo muchísimo tiempo buscando como solucionar este problema.

Voy a probar tu método a ver si me va bien.

Un saludo crack!. [oki]
esto seria aplicable tambien a las peliculas que tienen un frame rate variable?
me he encontrado un par de ellas y no se si sera por eso, pero en la ps3 no hay manera de cuadrarles el sonido con la imagen. le metes un delay y se desincronizan en otro momento.
Excelente!!! Muchas gracias, cuando encuentre algún mkv con delay lo pruebo. Saludos y felicitaciones.
Buff, muchas gracias. Hasta ahora calculaba el Delay "a ojo".
anderpr escribió:esto seria aplicable tambien a las peliculas que tienen un frame rate variable?
me he encontrado un par de ellas y no se si sera por eso, pero en la ps3 no hay manera de cuadrarles el sonido con la imagen. le metes un delay y se desincronizan en otro momento.



bueno, comentarte que no se especificamente cual sera tu problema, y por tanto la solucion, pero te comento una cosa que ultimamente me ha pasado a mi, se trata de subidas, que el bitrate original es de por ejemplo 23,976, y lo han cambiado a 25 fps...

si utilizas el media info, veras que te da esta informacion:

Velocidad de cuadro : 25,000fps
Velocidad de cuadro Original : 23,976fps

bien, el problema, es que el tsmuxer detecta dicha pista de video por defecto a 23,976... y la pista de audio esta retocada para la de 25, por eso, por mucho que toques el delay, siempre se te ira al garete el audio... sobre todo cuanto mas avanza la pelicula...

la solucion es muy simple, es ponerle dentro del tsmuxer la pista de video en 25 fps... o el que sea que corresponda a la velocidad de cuadro actual...

Eso lo soluciona, por descontado, que si ademas, la pista de audio lleva un delay prefijado, tambien se lo tendras que aplicar... pero por lo menos ya no se te desincronizara mas....
gracias, he probado con lo de poner los frames a 25 y se ha solucionado.

por cierto, veo que controlas del tema.
lo del delay es solo cuando usas directamente el mkv o tambien cuando se usan los streams de audio y de video extraidos por separado?
ooooh gracias, esto funciona. Me parece utilisimo y exactisimo. Tampoco me parece un proceso muy lento. Muchas gracias, Muy buena aportacion.


Aprovecho para comentar un problema q me ha surgido nuevo. Y es q tengo un par de documentales con audio en MP3 que no reconoce. El video se ve pero el audio no se oye. Si le doy al SELECT donde aparece la info. Solo da datos del video pero nada sobre el audio. Acaso en m2t no se puede incluir pistas en MP3? me parece rarisimo. Porque el audio extraido si me lo reproduce la PS3 aparte, como un MP3 normal.

A esto si q no se q solucion darle. He probado a pasar el MP3 a AC3 pero tampoco me sale luego el audio.
Existe un programita llamado "infodelaymkv" que te dice el desfase del audio en milisegundos. Ha acertado prácticamente en el 100% de las pruebas que he hecho. No es difícil de encontrar.
9 respuestas