最近接手同事一项目,采集usb摄像头,生成AVI文件,同事使用DirectShow实现,发现一个问题,当有音频输入设备时,我录制成WMV的总时间与程序界面显示一致,当没有音频输入设备时,录制成AVI的总时间与程序界面显示不一致,录制的时间越长,差的时间越多。
AVI的Graph如下:

WMV的Graph如下:

有以下几个疑问:
1. 生成WMV时,参考时钟是有效的?而生成AVI时,没有有效的时钟?
2. 如果需要手动给AVI加时钟,该怎么做?最近也在看MSDN,没太看明白
3. 如果我只采集视频,并保存成WMV,该怎么做?使用哪些Filter?DMO?
4. USB Camera2.0的视频格式是yuv2,怎么用?