2015-02-12 138 views
-1

我在Visual Studio的新一面,并且在转换到Visual C#之前一直在VB中开发一个摄像头捕获项目。我一直在利用directshow库来做到这一点,并得到了不同的结果。我可以很好地捕捉音频和视频,但avi/wmv文件的大小往往过大。我的目标文件大小是一个小时的视频/音频进入300-500 mb,视频质量约为640x480 @ 15 fps。我知道我可以使用几个压缩器/编解码器来缩小尺寸,但大多数默认系统并没有真正达到我的目标。我确实注意到,DirectShow库CapWMV中的一个采样捕获目标范围内的视频,但它不捕获音频。所以我的问题是任何人都可以推荐一款开源的编解码器,它可以帮助我实现这个目标,或者如果有人熟悉CapWMV示例,请解释如果可能的话,可以将音频捕获纳入其中?Visual C摄像头捕获

回答

0

CapWMV可以用来捕捉音频。您需要在那里配置写入器以设置启用音频的配置文件,并且该写入器将显示音频输入以访问音频流。因为这只是本地API的封装,所以您需要底层WM ASF Writer的文档。

CapWMV样品一个硬编码只有视频简档:

private IBaseFilter ConfigAsf(ICaptureGraphBuilder2 capGraph, string szOutputFileName) 
    { 
     // ... 
      // Windows Media Video 8 for Dial-up Modem (No audio, 56 Kbps) 
      // READ THE README for info about using guids 
      Guid cat = new Guid(0x6E2A6955, 0x81DF, 0x4943, 0xBA, ...