【问题标题】:DirectShow - Getting video framesDirectShow - 获取视频帧
【发布时间】:2011-12-23 19:10:34
【问题描述】:

我正在创建一个 Windows 视频捕获应用程序并使用 DirectShow 进行捕获。随着每一帧的到来,我想将它作为原始 RGB 位图抓取到缓冲区中,此时我的代码将执行我需要的任何处理。

我一直在寻找与我想做的类似的样本,并且无论我在网上看到什么,人们都建议使用IMediaDet 和/或ISampleGrabber 接口进行逐帧捕获。不幸的是,两者都已弃用,甚至不在最新版本的 Windows SDK 中。

在 DirectShow 中进行逐帧捕获的最佳(现代)方法是什么?如果没有,我应该使用不同的库来逐帧捕获吗?

【问题讨论】:

标签: c++ windows bitmap directshow video-capture


【解决方案1】:

Sample Grabber 在几年前被弃用,那是在 DirectShow 开发实际上停止几年后。也就是说,按照建议的方法阅读时使用Sample Grabber,它会非常适合您。

您唯一需要做的就是将定义复制到您的源代码中,请参阅详细信息:

【讨论】:

  • 我不知道 DirectShow 开发已完全停止。我应该使用一个新的、不同的库吗?
  • 在过去 (8?) 年里,DirectShow 几乎没有什么新鲜事。 Media Foundation 打算成为继任者,但到目前为止,即使在最新的 Windows 版本中,它也没有达到 DirectShow 的威力,更不用说与以前版本的兼容性了。也就是说,DirectShow 仍然是多媒体 API 的完美选择。
猜你喜欢
  • 1970-01-01
  • 2012-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多