通过DirectShow请求读取帧

Read frame by request with DirectShow

本文关键字:读取 请求 DirectShow 通过      更新时间:2023-10-16

我正在尝试使用DirectShow从网络摄像头捕获视频。我假设使用SampleGabber类。目前,我看到DirectShow只能以一些所需的fps连续读取帧。DirectShow可以通过请求读取帧吗?

DirectShow管道设置流式视频。如果您设置了采样采集器及其回调,帧将连续流经采样采集器。如果不强制更改格式(特别是强制视频为RGB),回调本身会增加最小的处理开销。这取决于是处理还是跳过一帧。

根据请求,抓取将获取流式传输的最后一个已知视频帧,或下一个要通过Sample Grabber的视频帧。这是典型的操作模式。

一些设备提供了根据请求拍摄静止图像的附加功能。这是一种罕见的情况,MSDN上对此进行了描述:从静止图像引脚捕获图像:

有些相机可以生成与拍摄分离的静态图像流,并且通常静止图像的质量高于图像由捕获流产生。相机可能有一个按钮或者它可以支持软件触发。照相机支持静态图像的将暴露一个静态图像引脚,即引脚类别PIN_CATEGORYSTILL。

从设备获取静态图像的推荐方法是使用Windows图像采集(WIA)API。[…]

要触发静态引脚,请使用[…]