I have tried this code
Code:
# with audio (in many cases possible with QuickTime 7)
QTInput("D:\20030901.mov", color=2, audio=true)
and the resulted file is too huge, about 70G. It seems that "direct stream copy" means no compression here.
The motivation of the conversion is to synchronize the audio and video, which are out of synch in the original MOV file, without any re-encodings. The video is longer (about 1:09:20) than the audio (1:06:48). At the beginning, I wanted to convert it to AVI file and adjust the fps with VirtualDub to make the video synchronized. Fortunately, Avidemux automatically does this when exporting. But the audio in the AVI file generated by Avidemux was choppy, so I switched to MP4 container.
As I described in the above posts, resulted MP4 file generated with both A/V stream copy is still slightly out of synch, but much better than the original file. Moreover, the synch of the MP4 file with video direct copy and MP3 audio compression is perfect. I have also tried to combine the video generated from Avidemux and the audio extracted (direct stream copy with QT Pro) from the original MOV file with QT Pro 7.3, and export to a MP4 file with "pass through" option. The resulted file has the same out-of-synch problem. It seems the causation is the AAC LC format, but it's not right. Because the synch of the MP4 file (generated by Avidemux) with video direct copy and AAC LC audio compression is perfect too.
Compared to the original MOV file, only the fps changes, from 24 to 24.941. The only explaination is AAC LC audio from a video with integral fps cannot be muxed into a video perfectly with non-integral fps. Is that right? Any solutions? Thanks.