Audio/Video Synchronisation



To view the Audio/Video Sync guide in English, click here.

Pour voir le guide sur la désynchronisation audio/vidéo en Français, cliquez ici.

Audio and Video Sync Issues

This information is taken from Kamiwa's thread on the DivX forums. You can view the original thread here, and you can visit his website here.

This guide is meant to help explain why audio/video sync issues happen. It will also provide various steps that you can take to avoid A/V sync issues

Dropped Frames and Timestamps

An MPEG-2 program stream (VOB, TS, MPG or MPEG) consists of many small video and audio packets. Each of these packets (amongst other information) has its own time-stamp.

So when an MPEG program stream gets played back, it doesn’t really matter if a video or audio packet is missing. With the help of the timestamps, it is easy to play the right audio snippet with the corresponding video.

Prior to the encoding process, video, audio, and sometimes subtitles get ripped apart and end up in individual elementary streams. During this process the timestamps are lost. They wouldn’t help a lot anyways, as the DivX target container is AVI and AVI doesn’t support time stamps.

The process for re-encoding audio and video streams is done sequentially. Note by note, and picture by picture.

In the original video stream (before the encoding process began), if a frame was missing, the corresponding packet from the audio stream was skipped. Now, with the lack of timestamps, the audio packet would no longer be skipped and a small shift in the audio would result.

If an audio chunk missing, it would have simply resulted in a clicking sound, or a short lack of audio in the original file. Now, that too will result in a small audio shift after the encoding process.

As video packets are larger than audio packets, they do get tend to be dropped more often than audio packets. This is especially true for TV captures.

It should be emphasized that the original video will play back fine and you won’t notice all these small errors. But the more small errors there are in the source, the more noticeable the audio/vido sync will be after you convert it to the DivX format.

If your problems are caused by the above reasons, trying to correct them after the encode has happened, is nearly impossible.

So what can you do about this?

You should probably shy away from trying to convert a file that is a copy (of a copy of a copy sometimes). This can often be the case with online content.

Chances are, your MPEG-2 content will have a dropped video frame here, or an audio packet there. What you can do, is demux your mpg content with a demuxer that automatically compensates for missing audio and video packets. This way, you have elementary video and audio streams that have already compensated for missing packets. After doing this, you can convert the video to divx and the audio to mp3, and then re-mux it back together.

This is a more advanced process than simply dropping the files into DivX Converter. Kamiwa has actually provided a very helpful tool for helping you get started with this. It is called "Kamiwa's Batch Encoder". If you use it right, it will actually demux your content, convert it to divx, and mux it into an AVI container. The download and detailed instructions are located at his website here.

For more information, you can visit these resources:

DivX Labs

Kamiwa's Website

The DivX Forums

Audio Delay that is Wrongly Detected

If this is the case, the encoding application will have either ignored or misinterpreted the audio delay value in the source video. This will result in a constant shift of the audio over the whole video.

How can you fix this?

If it is only a small audio delay (1 second or less) you can use DivXMuxGUI to fix it. You can get it from here:

http://labs.divx.com/DivXMuxGUI

Larger delays (more than 1 second) will have to be handled by VirtualDubMod (run a google search to find it). If you'd like to learn about how to re-sync with VirtualDubMod, you can go to our video tutorial page here, go to the "other" section, and select the tutorial "How to resync your video in Virtual Dub".

Perte de synchronisation de l’audio et la vidéo

Ces informations sont extraites de la discussion de Kamiwa sur ce sujet aux forums de DivX.com. Tu peux consulter le fil de discussion original ici (anglais) ou rendre visite à son site web ici.

Le but de ce guide, c’est d’expliquer les causes de la parte de synchronisation entre l’audio et la vidéo ainsi que de fournir quelques suggestions pour éviter ce problème dans l’avenir.

Les paquets et les timestamps perdus

La plus grande partie de fichiers vidéo encodés en DivX sont des fichiers de flux MPEG-2. Avant l’encodage d’un de ces fichiers, il est possible que la vidéo, l’audio voire les sous-titres se séparent l’un de l’autre et qu’ils se trouvent alors seuls dans des flux indépendants. Au cours de ce processus son timestamp est perdu.


Or, le flux MPEG-2 (VOB, TS, MPG ou MPEG) se compose de plusieurs petits paquets audio et vidéo, chacun possédant son propre timestamp (entre d’autres données importantes). Aussi n’importe-t-il pas lors de la lecture d’un flux MPEG-2 si un paquet audio ou un paquet vidéo est perdu. Grâce aux timestamps, il est facile de lire la bonne section audio par rapport au paquet vidéo correspondant, et vice-versa.


En encodant un tel fichier au format DivX, ces paquets et ces timestamps perdus provoqueront probablement une désynchronisation audio/vidéo. L’encodage des flux audio et vidéo se fait consécutivement : note par note, image par image. Il se passe alors que le fichier encodé se lit consécutivement. A la différence du flux vidéo original, le fichier ré-encodé se lisant consécutivement et sans timestamps ne laisse pas passer ce paquet audio pour lequel il n’y a pas de paquet vidéo. Les timestamps ne seraient d’ailleurs pas très utiles car le conteneur DivX est fondé sur le format AVI qui ne les prend pas en charge.


Dans ce scénario, l’audio devient décalé à cause de l’image correspondante perdue. Lorsqu’un paquet audio est perdu, il y aura un petit bruit de déclenchement ou un bref silence durant la lecture du fichier original. Par contre, ceci provoquera à un décalage de la cadence audio durant la lecture du fichier encodé. Au fait, puisque les paquets vidéo sont en général plus grands que les paquets audio ils ont tendance à être laissés tombés plus souvent. Ceci est particulièrement vrai pour les vidéos saisies de la télévision.


Il est à souligner que tu ne remarqueras pas ces problèmes pendant la lecture de la vidéo originale, mais plus qu’il y a de petits erreurs dans le fichier source plus vous les remarqueras après l’avoir converti au format DivX.


Si la désynchronisation entre l’audio et la vidéo survient lors des problèmes ci-dessus, il est presque impossible de les corriger après l’encodage.



Qu’est-ce que j’en fais alors ?


Il est recommandé d’éviter l’encodage des fichiers qui sont des copies (voire une copie d’une copie), ce qui est souvent le cas avec le contenu obtenu de l’Internet. Selon toute probabilité, tes fichiers MPEG-2 auraient perdu par ci une image par là un paquet audio.


Pour détourner ce problème en encodant le contenu copié, essaie de démultiplexer le fichier avant de le convertir. Le démultiplexage peut compenser la perte des paquets vidéo ou audio manquants. Comme ça, tu auras deux flux de base (l’un pour la vidéo et l’autre pour l’audio) qui ont déjà esquivé le problème de paquets perdus. Tu pourras ensuite encoder le fichier vidéo à DivX et le fichier audio à MP3, et puis les remultiplexer enfin.


Le processus de multiplexage est bien plus avancé que la fonction glisser-déposer de DivX Converter. Pour vous aider tous à apprendre comment débuter avec le multiplexage, Kamiwa vous offre un petit programme très utile qu’il appelle « Kamiwa’s Batch Encoder » (L’encodeur par lots de Kamiwa). S’il est utilisé correctement, il démultiplexera ton contenu, le convertira en DivX et le multiplexera enfin dans un conteneur AVI. Pour en savoir plus, rends visite à son site web ici.


DivX Labs
Le site de Kamiwa (anglais)
Les forums DivX


Une chambre d’écho est mal détectée

S’il y a une chambre d’écho mal détectée dans ton fichier encodé, ceci veut dire que le programme d’encodage aurait laissé passer ou mal compris le décalage audio du fichier source. Ceci résultera dans un basculement perpétuel tout au long de la vidéo.


Comment régler ce problème ?


S’il s’agit seulement d’un petit décalage (1 seconde ou moins), tu peux utiliser DivXMuxGUI pour resynchroniser l’audio et la vidéo. Tu peux télécharger ce programme de DivX Labs à http://labs.divx.com/DivXMuxGUI


Pour les décalages plus importants (plus que 1 seconde) il faut utiliser VirtualDubMod (facile à trouver avec un moteur de recherche comme Google). Pour en savoir plus sur le processus de resynchronisation avec VirtualDubMod, tu peux regarder une vidéo didacticiel (anglais) en cliquant ici ou bien en te rendant sur notre page de Video Tutorials et sous la section « Other » cliques sur « How to resync your video in Virtual Dub. »