2

我目前正在使用 V4L2 API 从简单的网络摄像头捕获视频。一切似乎都工作正常,除了我找不到在 API 中设置帧间隔。

我使用 VIDIOC_ENUM_FRAMEINTERVALS ioctl() 来获取特定像素格式和图像大小的所有支持的帧间隔。所以驱动程序返回了许多支持的间隔。

但是我使用哪个 ioctl() 来实际设置特定的时间间隔?

有一个 VIDIOC_SUBDEV_S_FRAME_INTERVAL ioctl() 但它被标记为实验性的,文档说它应该只用于子设备垫,我没有使用。

那么,如何使用 V4L2 API 设置特定的帧间隔?

-安德烈斯

4

1 回答 1

3

这个类似问题的答案可能会对您有所帮助。

根据我的经验,并非所有相机(驱动程序)都支持设置帧速率。此外,无法保证您会收到与相机宣传的或您要求的一样多的帧数。尤其是在光线不足的情况下,真实帧速率可能会急剧下降,因为相机会调整曝光时间以补偿丢失的光线。

于 2014-05-22T16:17:58.073 回答