Solution 1: using AVIMUX
Step 1. Download AviMUX: Click here to download AviMUX
Step 2. Unzip it into separate folder, and launch AVIMux_GUI.exe
Step 3. Load your avi file into Avi_mux (right-click -> add). Click on the avi file to select it.
Step 4. Click the “Generate Data Source From Files” button. Information about audio and video streams will appear in the bottom window.
Step 5. Click on the audio stream. Now, you must see “delay [ms]” showing on the right side of the window.
Step 6. Enter audio delay value, for example:
If you see in the movie that a person speaks, and you can hear the voice only several seconds later (Audio is after Video), then you must choose negative value (in milliseconds), for example:
-5000 = shift audio by 5 seconds before video
If you can hear the voice in the movie too early, and only after several seconds you can see & determine who has said that (Audio is before Video), then you must enter positive value (in milliseconds):
5000 = shift audio by 5 seconds after video
Step 7. Finally, click start button, choose output avi filename. DONE!
Solution 2 : Using VIRTUAL DUB
Step 1: Select video then select direct stream copy
Step 2: Select Audio the souce stream selected there also.
Step 3: Select interleaving in audio menu and do the following
Delay audio track by XY ms is what you’re looking for…