You are on page 1of 10

Sincronización de audio y vídeo en archivos AVI

Se pueden dar tres tipos de


desincronización distintos. El primero
es una desincronización constante en
el tiempo: esto quiere decir que el
audio estará atrasado o adelantado el
mismo tiempo a lo largo de todo el
vídeo. El segundo es una
desincronización progresiva, es
decir, cuando el tiempo entre audio y
vídeo va aumentando a medida que
avanza el vídeo. Y el último tipo,
desincronizacion total, viene a ser
una mezcla de los otros dos, o sea que
el audio está en efecto desfasado en
tiempo con el vídeo, pero a su vez ese
desfase varia a lo largo de la película.
Este último es el más complicado de
solucionar, a veces sin éxito o
mediante un método de
fraccionamiento del vídeo en
pequeñas partes que lo hace muy poco
recomendable.

El programa que necesitaremos es el


VirtualDubMod, que podemos
encontrar aquí:

Descargar VirtualDubMod

La imagen de la derecha trata de


ilustrar los diferentes tipos de
desincronización a los que nos
podemos enfrentar.

Detectando el tipo de desincronización

Se procede a cargar el vídeo en el VirtualDubMod, para ello ir a File -> Open video file.
En el caso de tener audio VBR (bitrate variable) aparecerá un mensaje advirtiéndolo, donde
deberemos elegir Sí si pensamos extraer el audio a un archivo WAV descomprimido, o
elegir No si lo pensamos extraer en su formato original (por ejemplo MP3), que será lo
habitual (por tanto normalmente elegiremos No).
Una vez cargado el vídeo, vamos a File -> File Information, y comparamos la duración
del audio con la del vídeo, como se ve en la imagen. Si no existe diferencia notable (en este
caso por ejemplo es despreciable) entonces se puede suponer que la desincronización es
constante.

Vale aclarar que este método no es 100% fiable, y siempre es mejor reproducir el vídeo
para asegurarse de reconocer el tipo de desincronización.

Solucionando la desincronización
En función del tipo de desincronización que hayamos detectado, seguiremos unos pasos u
otros.

Desincronizacion progresiva (método 1)

Como se comentó antes, se produce cuando audio y vídeo tienen diferente duración. En este
caso se apela a un ajuste del framerate del vídeo para corregir la diferencia de tiempos.
Como este ajuste es despreciable (a no ser que la diferencia sea muy grande) no suele
presentar problemas de compatibilidad.

Previamente a este ajuste es necesario separar audio y vídeo, para ello vamos a Streams ->
Stream list -> Demux (para guardarlo en el formato original, lo habitual, estando el audio
en Direct stream copy) o Save WAV (si lo queremos pasar a un archivo WAV
descomprimido, para lo que primero debemos seleccionar Full processing mode en el
menú que sale al hacer clic con el botón derecho del ratón sobre la pista de audio),
dependiendo del uso que se le dará y del formato en que se encuentre, y guardamos el
archivo de audio. Luego deshabilitamos esta pista con Disable y hacemos clic en OK. Sólo
falta ir al menú Video y seleccionar Direct stream copy. Finalmente guardamos el vídeo
en File -> Save As...

Ahora sí, abrimos el vídeo sin audio que acabamos de crear y le agregamos el audio recién
extraído yendo a Streams -> Stream list y usando Add. También seleccionamos Direct
stream copy para este audio. Y ahora es el turno de la sincronización: para acceder a la
herramienta vamos al menú Video -> Frame Rate. Como se puede ver en la imagen hay
que seleccionar Change so video and audio durations match, y el valor entre paréntesis
muestra el nuevo valor de framerate que tendrá el vídeo. Finalmente hay que guardar el
archivo.
Desincronizacion progresiva (método 2)

Existe otro método que evita la modificación del framerate del vídeo, modificando en su
lugar el audio, logrando así el mismo resultado que es modificar su duración. En primer
lugar hay que ir a File -> File Information y apuntar la duración del vídeo, la del audio, y
el framerate del vídeo. A continuacion habrá que hacer algunos cálculos, nada muy
complicado. Lo mejor como siempre es ilustrarlo con un ejemplo:

 Supongamos que el vídeo dura 2:12:41.40, el audio 2:12:35.64 y el framerate del


vídeo es 25 fps.

 Pasamos las duraciones a segundos:


2:12:41.40 = 2*3600 + 12*60 + 41 + 0.40 = 7961.40 (A)
2:12:35.64 = 2*3600 + 12*60 + 35 + 0.64 = 7955.64 (B)

 Framerate del audio = (A / B) * framerate vídeo. Conviene sacar 4 decimales. En


este ejemplo:
(7961.40 / 7955.64) * 25 = 25.0181 fps

Acto seguido extraemos el audio desde Streams -> Stream list -> Demux, y lo
recomprimimos con el programa BeLight haciendo un cambio de framerate del calculado
(25.0181) al que debería tener (25 fps), y lo volvemos a poner al vídeo usando Streams ->
Stream list -> Add (previamente debemos desactivar el audio original). Por último,
debemos guardar el vídeo, y asunto solucionado.
La forma de cambiar la duración del audio está explicada con mayor detalle en este manual.
En él se cambia también el framerate al vídeo, pero es algo que en este caso no tenemos
que hacer, pues simplemente queremos cambiar el audio sin tocar el vídeo.

Desincronización constante (método 1)

Ésta es la más fácil de corregir, ya que se trata simplemente de desplazar el audio completo
hacia atrás o adelante en el tiempo (dependiendo de si el audio se reproduce después o antes
que el vídeo, respectivamente). Se corrige mediante una herramienta dedicada a ello, que
permite ajustar el delay (retraso) del audio. En Streams -> Stream list hacemos clic con el
botón derecho sobre el audio afectado, y seleccionamos Interleaving. De paso controlar
que esté en Direct stream copy. Los valores se introducen en Delay audio track by y se
miden en milisegundos (ms). Un número positivo atrasará el audio mientras que uno
negativo lo adelanta. Para saber qué valor poner, lo ideal es medir el tiempo
aproximadamente, reproduciendo el vídeo desincronizado, como para tener un valor de
referencia, y luego procesar una parte a ver si sirvió, y si no ir ajustándolo mas finamente y
procesando pequeños trozos para ver cómo va quedando. Por último hay que guardar el
archivo.

Por ejemplo, si observamos que el audio sale un segundo más tarde de lo debido, el valor a
introducir sería -1000

Desincronización constante (método 2)

Se puede dar también el caso de que el AVI luzca perfectamente sincronizado en el PC,
pero después de grabarlo e ir a probarlo en nuestro reproductor de salón, nos encontremos
nuevamente con la desincronización constante. Esto se produce debido a que el reproductor
ignora el interleaving/delay que hemos configurado y comienza a reproducir el audio al
mismo tiempo que el vídeo, haciendo caso omiso al retraso o adelanto que le agregamos.

Para solucionar este inconveniente habrá que hacer uso nuevamente del VirtualDubMod. Si
al abrir el vídeo nos sale el aviso de audio VBR, elegiremos la opción Sí. Después en
Streams -> Stream list ponemos el audio en Full processing mode (haciendo clic encima
con el botón derecho del ratón) y elegimos Save WAV para guardarlo en dicho formato.
Ahora necesitaremos algún editor de audio no muy complejo, como el muy fácil de usar y
gratuito Audacity. Con este programa debemos agregar un silencio al comienzo de la pista
de audio igual en duración al delay que habíamos configurado anteriormente, y cortar ese
tiempo exacto al final de la pista. Es muy importante cortar el mismo tiempo exacto que
estamos agregando, pues si no es así no coincidiran las duraciones del audio y el vídeo y
habremos creado una desincronización progresiva, todo esto en caso de que el audio haya
que atrasarlo. Si hay que adelantarlo se deberán cortar en el inicio esos segundos (o
milisegundos) del audio y agregar el silencio de igual duración al final de la pista.

Procedamos: una vez dentro de Audacity, cargamos el audio con Archivo -> Abrir, y
seleccionamos el archivo WAV del audio (o MP3 si lo extrajimos en dicho formato). Para
añadir un silencio primero vamos al menú Editar -> Mover cursor, y moveremos el cursor
al principio o final de la pista según dónde queramos agregar el silencio. Luego hay que ir
al menú Generar -> Silence e indicar el tiempo, recordando que debe ser exactamente el
mismo que habíamos configurado en el delay del VirtualDubMod. Haciendo clic en la
flecha de la ventana Silence Generator se puede especificar el formato de tiempo
introducido, siendo recomendable usar hh:mm:ss + milliseconds, que permite ajustar hasta
las milésimas de segundo. En el siguiente ejemplo se hace un ajuste de 1550 milisegundos.
Ahora debemos cortar el trozo sobrante, para ello vamos al menú Editar -> Snap-To ->
Apagado (esto es para poder marcar un trozo de forma muy exacta), y seleccionamos el
trozo a eliminar con el ratón. Puede ser útil ampliar la vista usando los botones de zoom
marcados con 1. El tiempo seleccionado se puede ver abajo (2, donde también conviene
ajustar el formato de tiempo a hh:mm:ss + milliseconds usando la flecha). Se debe
seleccionar el trozo de igual duración al silencio agregado, al principio o final de la pista
según corresponda. Una vez seleccionado ir al menú Editar -> Borrar para eliminarlo.
Para guardar el archivo, antes será necesario especificar la ruta al codec MP3 Lame
(archivo lame_enc.dll), únicamente la primera vez que usemos el programa, ya que no
viene incluido con Audacity por razones de licencia. Puede ser descargado desde aquí. Esto
se hace desde el menú Editar -> Preferencias -> Formatos de archivo, donde también
debemos elegir el bitrate de salida del MP3. Hecho esto, nos aseguraremos de que, en la
ventana principal abajo a la izquierda, esté seleccionada una Frecuencia del proyecto (Hz)
de 44100 Hz si se trata de un vídeo para grabar a CD, o de 48000 Hz si es para grabar en
DVD.
Ahora exportaremos el MP3 yendo al menú Archivo -> Export As -> MP3, elegiremos un
nombre y lo guardaremos. Si lo quisiéramos mantener en formato WAV, pues simplemente
seleccionaríamos WAV como formato de exportación. Ya sólo queda unirlo al vídeo,
usando las ya conocidas funciones del VirtualDubMod: Streams -> Stream list -> Add
para añadirlo, y Disable para eliminar el audio antiguo. Por último, guardaremos el vídeo
definitivo ya sincronizado.

Desincronización total

La más temida, pero también la mas rara, por suerte. Cuando el audio y vídeo tienen
distinta duración y además se encuentran desfasados en tiempo. En este caso se trata de
aplicar ambos métodos de sincronización por separado, primero el progresivo (se igualan
las duraciones) y luego el constante (se corrige el desfase). Con suerte lograremos nuestro
cometido, si no ya se pone muy complicado (o más engorroso) y escapa a la finalidad de
este manual.

Guardando el vídeo

Habiendo corregido ya la desincronización, procedemos a guardar el vídeo. Para ello vamos


al menú Video y seleccionamos Direct stream copy (esto es importante) y por último a
File -> Save As, y lo guardamos como archivo AVI.
Es muy probable que debamos repetir estos pasos varias veces hasta lograr una
sincronización perfecta. Lo ideal es procesar pequeños trozos para no esperar que se
procese todo el vídeo cada vez. Es importante destacar que estos métodos no son mágicos y
que incluso en el peor de los casos no sea posible solucionar la desincronización.

http://www.mundodivx.com/edicionsimple/sincronizaravi.php

http://recursostic.educacion.es/observatorio/web/ca/software/software-general/765-
virtualdub

You might also like