我是视觉工作室的新手,并且在转换到Visual C#之前,首先在VB中开展网络摄像头捕获项目。我一直在利用directshow库这样做,结果好坏参半。我可以很好地捕获音频和视频,但avi / wmv文件的大小往往太大。我的目标文件大小是一小时的视频/音频,介于300 - 500 mb之间,视频质量约为640x480 @ 15 fps。我知道我可以使用几个压缩器/编解码器来缩小大小,但大多数默认系统都没有真正达到我的目标。我注意到DirectShow库CapWMV中的一个样本捕获了该目标范围内的视频,但它不捕获音频。所以我的问题是,任何人都可以推荐一个开源编解码器来帮助我达到目标,或者如果有人熟悉CapWMV样本,请解释如何将可能的音频捕获结合到其中?
答案 0 :(得分: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, ...