Video4Linux2 API中的设置间隔ioctl在哪里?

时间:2014-05-22 16:07:49

标签: linux video-capture v4l2

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

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

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

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

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

-Andres

1 个答案:

答案 0 :(得分:3)

this similar question的答案可能会对您有所帮助。

根据我的经验,并非所有相机(驱动程序)都支持设置帧速率。此外,无法保证您将收到与相机广告或您要求的帧数一样多的帧。特别是在低光照条件下,真正的帧速率可能会急剧下降,因为相机会调整曝光时间以补偿缺失的光线。