【发布时间】:2012-05-24 18:26:27
【问题描述】:
我正在使用回调机制来抓取媒体应用程序中的网络摄像头帧。它可以工作,但由于在回调本身中执行了某些额外的缓冲区函数,所以速度很慢。
现在我正在尝试另一种获取帧的方法。也就是说,调用一个方法并抓取帧(而不是回调)。我在 CodeProject 中使用了一个使用 IVMRWindowlessControl9::GetCurrentImage 的示例。
我遇到了以下问题。
- 在 Microsoft 网络摄像头中,预览版在 Windows 7 上无法呈现(仅黑屏)。但同一个摄像头在 XP 上呈现了预览版。
我的疑问是,VMR 特定功能是否会依赖于不同平台上的相机驱动程序?不然怎么会有这种差别?
- 无论示例应用程序在哪里工作,我都观察到生成的 BITMAPINFOHEADER 结构的 biBitCount 成员是 32。
这是应用程序设置的值还是 VMR 操作的驱动程序设置?这是如何配置的? 最后,获取网络摄像头帧的最佳方法是什么?回调方法?还是直接方法?
提前致谢,
【问题讨论】:
标签: directshow webcam samplegrabber