I have been bitten by the sync problem as well, and have spent most of this week trying to troubleshoot it. FYI, I've been doing video conversion and editing on PC's for years, but recently moved to OSX, a Datavideo DAC-100 (Firewire DV analog capture device) and the iLife tools.
And before anyone asks, I use 16 bit audio capture. I've verified this by looking at the file that are generated. I've also looked at all the iMovie sync FAQ's on the Internet. Audio sync problems and I are old enemies. 🙂
Here's what I've found:
While the video is in it's original DV file captured by iMovie, the audio sync is perfect. I've done a 3 hour capture, and the sync was fine all the way through.
When and where the sync goes bad is when the audio is extracted from the DV file, whether by manually extracting the audio in iMovie, converting the DV to another format (including another DV file), or 'sharing' the movie to iDVD. I belive this is because the DV file format tightly links the audio to the movie timeline. When the audio is extracted, it is associated to the video only by the length (in time) of the two files. And either the audio is slightly time compressed, or the video is slightly time expanded. I suspect the audio is slightly time compressed.
I've created a predictable test case with my video, where i can capture a 15 minute block of video. At the end of the file the audio sync is perfect while in the DV format , and is ahead of the video by about 1.5 seconds after extracted.
A simple workaround would be to use a sound or video editing package that allows you chop the audio when it goes silent and to stretch the remaining audio to match the length of the video. VirtualDub and CoolEdit for the PC used to be able to do this. I've tried doing this with Quicktime Pro with no success, though. I'll keep looking for a decent OSX program to try to do this with.
This does, however, only work around the problem, not identify where it is, or fix it.
I think I've also determined that this is a problem in the standard OSX DV stream capture API, not in the conversion process of Quicktime from DV audio to whatever.
I used BTV Pro (
http://www.bensoftware.com/), a shareware/capture tool that can handle DV streams on my test case. The results were EXACTLY the same as under iMovie. I believe that BTV uses OSX's standard APIs for accessing DV streams from firewire.
Additionally, I've extracted the audio from the test DV using a non-apple DV codec (ffmpeg), and reimported it to iMovie and Quicktime. It is identical to the bad sync audio that iMovie extracts.
This leads me to believe that it's a problem with either the DAC-100's DV streams (which is set to the OSX dip switch settings) or OSX's DV capture API.
I then installed Avid Free DV (
http://www.avid.com/freedv/index.asp), a free stripped down version of a high end OSX video editing package, and successfully captured the 15 minute test case, exported it to a DV file (using both the AVID and Apple DV codecs), imported the resulting DV file into iMovie, and extracted the audio. The extracted audio synced perfectly with the video in iMovie at this point.
Just to make sure that Avid didn't just 'fix' a bad DV file, I did another test capture from iMovie, and imported the file into Avid Free DV. The resulting video had the expected sync problem, which was expected since Avid uses Quicktime for importing and exporting video.
This points the problem squarely at the Apple capture APIs, as I believe that AVID uses its own. For some reason, the files generated by iMovie/BTV exhibit the sync problems when the audio is extracted in all cases, while files generated by Avid Free DV do not.
I still don't know what the issue is with OSX/iMovie and my DAC-100. I also know that not all DAC-100 users have the problem, nor do all iMovie users with their equipment. This could be a codec incompatibility with the version of firmware on the DAC-100 with OSX, a bug in the cap