Crear una utilidad para Sincronizar Videos-Audios

Para hablar y pedir ayuda sobre Hardware, Software y tal pascual, además de tutoriales para hacer tus copias privadas o configurar eMule.
Avatar de Usuario
oyes
Mensajes: 917
Registrado: Lun 28 Oct, 2002 01:00

Mensaje por oyes » Mar 21 Nov, 2006 20:18

Ah, otra cosa, de vez en cuando me da error el programa y se cierra, se me ha olvidado comentarlo, pero quizá sea sólo cosa mía.

Avatar de Usuario
Alekhine
Mensajes: 256
Registrado: Mié 12 Nov, 2003 01:00
Ubicación: En una galaxia lejana, muy lejana....

Re: Crear una utilidad para Sincronizar Videos-Audios

Mensaje por Alekhine » Mié 18 Jun, 2008 13:14

Alekhine escribió:Hola a todos/as...

Abro este hilo con la esperanza de que expertos programadores se planteen elaborar la siguiente utilidad que paso a exponer y que tiene como fin el sincronizar diversos audios con un determinado video...

Antes que nada, y para que nadie diga de corrido que la sincronizacion se puede realizar facilmente con VirtualDub, paso a exponer la problemática y que es la siguiente:

Muchas veces ocurre que se tiene una pelicula de muy buena calidad con la desventaja de estar en otro idioma que no sea el nuestro, en este caso el español... ocurre que entonces se suele pedir que alguien consiga el audio en español para poder añadirle a AVI de la pelicula, hasta aqui todo sencillo y normal...

Lo dificultoso comienza cuando el audio en español que se oferta procede de alguna grabacion en VHS, muchas veces grabada desde la TV. En esos casos la gente evitaba los anuncios dandole al boton de 'stop' o de 'pause' para luego volver a dar al boton 'record' y solía ocurrir que se perdían frames hasta que se re-comenzaba la grabación. la cinta obtenida luego se veia y no se echaban en falta los pocos frames que se pudieran perder en el procesos de stop-pausa y grabacion...

Lo malo es ahora cuando se quiere utilizar ese audio, que muchas veces queda de tiempo de duracion inferior a la peli y por tanto desincronizado...

Lo que se suele hacer, es coger una utilidad de sonido (CoolEdit por ejemplo) y añadirle silencios o ruidos de fondo (segun sea el caso) tomados del mismo fichero de sonido, de modo que se vaya sincronizando la pelicula correctamente con los dialogos en cuestion...

Este proceso es un trabajo de chinos pues, debes de calcular la parte de sonido que falta, donde falta , conseguir un fragmento de diche duracion que no distrosione y añadirlo, para posteriormente grabar el audio, añadirlo a la peli y comprobar si queda bien y posteriormente si haymas adelantes mas fragmentos que incorporar...

Y AQUI VIENE MI IDEA...................

Propongo hacer una utilidad que incorpore un visor de video en el que se pueda ver discurrir la pelicula, y debajo de el dos visores donde se pueda ver la onda de sonido (al estilo de CoolEdit).

Estos dos visores serian para cada uno de los audios (el de la pelicula original y el nuevo que se quiere sincronizar...). En el momento de querer ver la peli se podria elegir en que audio escucharla, por lo tanto deberia ser opcionable.

La idea consiste en poder ver en dicho visor de sonido, el desarrollo de las onda de sonido, de modo que uno pueda ver claramente el desfase de la onda que pueda haber en cada momento y por tanto apreciar mejor la de-sincronizacion, y que suele ser cuando COMIENZA UN DIALOGO o un hay RUIDO DETERMINADO.

De este modo se veria donde y de que tamaño es el fragmento que se debe incorporar. Dichos fragmentos se deberian poder cortar y pegar alternativamente, tras ello solo habria que visionar en visor del video el transcurrir de la escena y comprobar el resultado de la sincronizacion, asi consecutivamente hasta finalizar la pelicula...
Vuelvo a este hilo que inice hace tiempo para indicar que por fin he encontrado una herramineta que se adecua perfectamente a lo que yo demandaba... esta herramienta de edicion de sonido se llama "Adobe AudioEdiiton v1.5" con la cual puedes iniciar una Sesion Multitrack en la que en cada uno de esos 'track' puede incorporar los audios precisos (en formato WAV) así como el video (este ultimo será un fichero AVI que deberá ir SIN audio, es decir que se debería extraer el video de la pelicula con cualquier editor de video, por ejemplo VirtualDub).

De este modo sí lo que se pretende es sincronizar una pelicula es español a partir de otra en otro idioma (por ejemplo en ingles), bastaría con extraer los dos audios (español e ingles) y el video.

Abriríamos nuestro Adobe Audition en modo Multitrack, e importaríamos cada uno de los audios, primero el bueno (el ingles), luego el español (el que hay que sincronizar) y finalmente el video.

Una vez importados llevamos cada cosa a cada uno de los track. Tras esto podremos comparar cada una de las cadenas de audio (habría que darle varias veces a la lupa para que las cadenas de audio se extendiese y pudiéramos ver fragmento a fragmento la curva de audio de cada uno de los 2 audios... lo que nos serviría de comparativa visual para ver donde se adelantan o atrasan algunos sonidos).

Una vez localizados esos momentos de desincronizacion basta con ver la diferencias de tiempo en que se adelantan o atrasan alguno sonidos. Conocido esa longitud de tiempo podremos coger desde ese mismo audio, fragmentos de silencio con igual longitud para incorporarlos (si es que lo teníamos adelantado) o simplemente eliminándolos (si es que lo teníamos atrasado). Acto seguido se activa el mute al audio del idioma bueno (en mi ejemplo el ingles) asegurándonos de que el otro idioma (el que hay que sincronizar no este activo y se pueda oir), tras ésto se dá al 'play' con lo que la emision de video y audio comenzaría y podríamos ver in situ si los dialogos van sincronizados convenientemente con los personajes...

... así pues, deciros, que ésto que acabo de explicar (y como digo se puede hacer con Adobe Audition v1.5) es lo que a fin de cuentas buscaba y encontré... con esa herramienta sincronizé desde el catalán un audio en castellano para la película "Companys, Proceso a Cataluña"...

Así pues lo recomiendo...

Saludos cordiales

Alekhine

PD: Sí me veo bien de tiempo, haré un tutorial explicando como se debe proceder con dicha herramienta para aquel que quera sumergirse en el mundo de la sincronización...
En Ajedrez gana el que comete el penultimo error.

cdlvcdlv
Mensajes: 935
Registrado: Lun 20 Dic, 2004 01:00

Mensaje por cdlvcdlv » Lun 21 Jul, 2008 23:38

Je, je... Acabo de ver este hilo por casualidad e iba a recomendar el Adobe Audition, como ya exponía en el siguiente hilo:

viewtopic.php?t=33645

Con los siguientes filtros, se pueden cargar y grabar audios en ogg, FLAC, Windows Media y Amiga:

http://www.vuplayer.com/audition.php

Para AC3, mejor este (el de la página anterior no funciona bien):

http://sourceforge.net/project/showfile ... _id=241740

Lo mismo para AAC, mejor el de esta:

http://www.rarewares.org/aac-encoders.php#audition-aac

Grosso modo, yo sincronizo así (supondré que conocéis mínimamente el Audition):

- Normalmente suelo partir de un vídeo en VO y un audio extraído de VHS, al mismo muestreo que la VO (normalmente 48000 Hz).

- Para que el audio sea a 25,000 fps reales (las tarjetas de sonido no tienen suficiente precisión) uso el VirtualDubMod, que ajusta el audio usando el reloj del ordenador, mucho más preciso (eso significa que capturo el vídeo aunque no vaya a usarlo, a mínima resolución, eso sí, y luego le saco el audio). Si no hay capturadora, pues qué le vamos a hacer. Siempre capturo en estéreo aunque el audio del VHS sea en mono.

- Separo el vídeo de la VO y su audio: ya tengo un vídeo sin sonido y un mp3 (normalmente). El mp3 VO lo paso a wav y a mono porque suele ser más cómodo para cargarlo en sucesivas veces, aunque el audio VO no lo vamos a tocar, sino que ajustaremos el de VHS al vídeo. También lo amplifico hasta el 98% del máximo (muchas veces los audios de DVD tienen un sonido muy bajo): Effects-Amplitude-Amplify/Fade. Más tarde explicaré por qué hago esto si no voy a ajustar el VO.

- Cargo el audio del VHS. Hay que hacer ajustes antes de empezar. Primero centro las ondas usando Effects-Amplitude-Amplify/Fade con "preset" Center Wave a cada canal por separado.

- Si realmente el audio del VHS era mono (hay que escucharlo a ver cómo suena), lo paso a mono; si es realmente estéreo (se nota al oírlo) lo dejo así. Si tu reproductor de vídeo no es estéreo el audio será estéreo con dos canales idénticos. Si la cinta era estéreo, se habrá perdido igual, así que a mono.

- Si el vídeo VO no era a 25 fps hay que pasar el VHS al nuevo fps. Es fácil con el VdubMod, que te dice el nuevo tiempo cambiando los fps en Video-Frame Rate-Change To: usar el nuevo tiempo para estirar o comprimir en Audition en Effects-Time Pitch-Stretch (con Resample y High Precision).

-Le doy a Multitrack View. Selecciono dos pistas (boton derecho en la parte derecha de la pantalla, donde los números de las pistas, seleccionando las dos primeras).

- En la pista 1 cargo el de VO y en la 2 el de VHS: en cada una, botón derecho, Insert-[Nombre del audio ya cargado]. También se puede cargar una tercera pista con el vídeo mudo de antes, pero no suele hacer falta, salvo en casos recalcitrantes, con el sistema que uso.

- Pongo el VO en el auricular izquierdo y el VHS en el derecho. Para ello en la parte izquierda de cada pista (donde pone Track [n]): botón derecho (sale una ventanita Track Properties) y deslizo el mando horizontal hacia cada lado respectivamente. Ahora, si le doy al play en Multitrack oigo la VO en el oído izquierdo y el VHS en el derecho. De esta manera puedo detectar variaciones de milisegundos justo cuando se producen solo con el oído. Debería oírse sonido de fondo y música centrados y en cada oído diálogo en cada idioma. Si no es así, no hay sincronización exacta (por eso es importante que el volumen de los dos audios sea parecido). Luego busco la sincronización aumentando con la lupa. Por eso también es bueno amplificar la VO, porque las ondas son más reconocibles.

- Busco el primer punto de sincronización en el VHS lo más cercano al principio posible (la música suele servir). Se pueden mover las pistas una respecto a otras arrastrándolas con el botón derecho. Luego es posible averiguar el retraso con boton derecho-Track Properties. Sabiendo esto, cortar el principio (o añadir) al VHS para que los dos audios comiencen a la vez.

- Se va al final del audio y se comprueba si hay sincronía. Si es así, potra inmensísima, se acabó. Puedes hacer alguna comprobación más en varios puntos de la película para asegurarte. Lo más normal es que no ocurra esto, pero que la desincronía no sea muy grande.

- A partir de aquí, la cuestión es hallar puntos de sincronización y hallar los de desincronía (normalmente en cambios de escena).

- Para hallar y marcar puntos de sincronía, hacer lo siguiente: mover la pista que haga falta para que un ruido o música cuya onda sea reconocible coincida en el mismo punto: una vez así, hacer doble click en el punto de la VO (irá a la edición de onda, fuera de multitrack) y tras asegurarnos de que el indicador de posición actual (donde reproduciría si le diéramos al play) está exactamente en ese ruido reconocible, le damos a F8 y le hará una marca (que podremos ver luego en multitrack). Hacer lo mismo con ese punto reconocible pero en el audio VHS.

- Añadiendo puntos de sincronización a principio y fin y luego poniendo marcas en mitades sucesivas más o menos iguales, no hacen falta muchos puntos para "acorralar" los puntos de desincronización. Es decir, sabremos que está dentro de un trozo de 1 ó 2 minutos. Podemos escuchar ese trozo y detectar "de oído" el punto en el que se va la sincronía. Luego es cuestión de añadir un poco de ruido si el VHS pierde unas décimas o cortar un trocito. Así recuperamos las sincronía.

- Empezamos desde el principio y vamos avanzando por la película con un poco de paciencia hasta el final. Luego se pule el principio y final (por ejemplo sustituyendo la música del principio y final por la de la VO) y se recorta el VHS a la longitud del vídeo.

- La sincronía es exacta porque tiene la mayor precisión posible. Se podrá cambiar de idioma en el dual y se escuchará la música o el ruido de fondo sin solución de continuidad.