AVI (variable bit rate audio) to DVD Problem

I been successfully using VSO’s DiVXtoDVD to convert AVIs for playing on stand alone / TV.

I’ve hit a snag with one file however, no matter what I do the sound is seriously out of sync (I’m talking seconds here). I’ve tried other programmes - WinAVI Converter, TMPGnc, Womble - with no joy. Womble tells me that it cannot deal with VBR audio - so I’m assuming this is the problem.

Question - what do I use and how do I convert the AVI file (xvid) and keep the audio in sync?

Cheers in advance

Extract the audio using virtualdub, to full processed .wav
Encode only the video in whatever program you want.
Remux the extracted .wav with the video during authoring.

VBR audio is not in the AVI standard and it really f***s things up. Indeed, do as reboot mentioned.

Also, make sure to point out to the creator of the file that he’s been doing things wrong.

@ Reboot

Never used virtualdub before - set audio option to full processed and from file menu selected save wav. Is this the correct way to do the audio extraction?

Tried adding the wav file to video in womble - wouldn’t accept the file.

PS Played the wav in windows media player - played OK but sound started immediately instead of at the correct point of the file.


Yes, you got the .wav out correctly.
This wav, is now CBR, not the VBR giving you trouble, so you can use it any way you like.
Womble won’t accept .wav, so you need to make it an mp2.
Use tmpgenc to do this, encoding only the .wav audio you extracted, no video.
Womble will then take it.
You could also remux it with your video in tmpgenc.
You can offset the beginning of the audio in virtualdub as well, or in tmpgenc, or Womble, or any other audio editor such as Audacity, Soundforge, or Goldwave.

I would load the avi into virtualdub, click Audio, .wav audio and use your extracted .wav, then sync up in virtualdub (click Audio, Interleaving, and Skew it + for starting audio later, and - for starting audio earlier).
Hit the > button to play, and test sync.
You could then frameserve it to tmpgenc for a proper encode, or not bother, just skew the audio, then save it out again as .wav
Transcode in tmpgenc to mp2, import to Womble for editing (only if needed), or just use the mp2 as the audio track in your DVD Authoring app.

@ Reboot

Thankz for the advice.
Followed your suggestions to convert wave to mp2 and am remuxing in Womble as I type - the offset was 408 frames - quite a sync problem!!


A constant offset is not a problem (you can add a silence in may ways: encode it to MP2 with BeSweet checking the box ‘set delay of ___ ms’, extract the audio as uncompressed WAV then open the WAV with Exact Audio Copy (EAC), finally do Tools__Process WAV___insert silence…). The problem happens when the audio becomes more off-sync as long as the movie goes on…this usually is avoided by he extraction of the audio as uncomopressed WAV e.g. with VirtualDub (unless the movie is corrupt, then you’ll have to add some silence into the mpeg-sound you obtain after the AVI --> MPG conversion with TMPGenc, to skip the corruption. You have to open an audio stream obtained from the .MPG movie created by TMPGenc otherwise the WAV you extract with VirtualDub is ‘non standard’ and it cannot be open by EAC).

I’ve had good luck with the ‘decompress’ program. It takes a VBR audio AVI and writes it out to a avi with PCM audio.


Download aci2vcd and just use the decompress program in the archive.

Hi, I know this is a very old thread lol but I have a similar problem so thought i’d ask. The sound starts too early, is there a way to find out exactly how many mls early it starts?

I’ve already tried avi mux but that doesn’t help…

BTW i’m trying to just make it xvid from divx (for some reason my ps3 can read some divx and not others…) so i’m not using tmpgenc


easiest way is to open the file in VirtualDub or one of it’s clones, and manually adjust the offset until you find it (Audio > Interleaving > Audio Skew Correction). I usually pick a section of the video where someone is talking, then adjust in 20 ms increments until you get close, then narrow it down to less than 5 ms.