c++ - DirectShow - 获取视频帧

标签 c++ windows bitmap directshow video-capture

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

我一直在寻找与我想做的类似的示例,而且我在网上看到的所有地方,人们都建议使用 IMediaDet和/或 ISampleGrabber接口(interface)进行逐帧捕获。不幸的是,两者都已弃用,甚至不在最新版本的 Windows SDK 中。

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

最佳答案

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

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

关于c++ - DirectShow - 获取视频帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8039809/

相关文章:

c++ - 是否可以将 "delete"放在逗号表达式中

c++ - 为什么 “k” 语句中的 “m =++i ||++j &&++k” 没有递增?

android - 从 Android Studio 启动 AVD 时出错

windows - 为什么Visual Studio 运行时库源代码存放在两个目录中?

java - Android - Android 中的屏幕旋转和位图错误

c++ - g++ 链接问题

c++ - 使用数组的指针间接寻址

java - 使用 jni 将位图从 android 相机传递到 C++

windows - 构建和使用 Google Protocol Buffers

delphi - 为什么在delphi 10.3中CopyRect翻转了第二张图像?