我目前正在使用V4L2 API从简单的网络摄像头捕获视频。一切似乎工作正常,除了我找不到在API中设置帧间隔。
我使用VIDIOC_ENUM_FRAMEINTERVALS ioctl()获取特定像素格式和图像大小的所有支持的帧间隔。因此驱动程序返回了许多支持的间隔。
但是我用ioctl()来实际设置一个特定的间隔?
有一个VIDIOC_SUBDEV_S_FRAME_INTERVAL ioctl(),但它被标记为实验性的,并且文档说它应该只用于子设备垫,我没有使用。
那么,如何使用V4L2 API设置特定的帧间隔?
-Andres
答案 0 :(得分:3)
this similar question的答案可能会对您有所帮助。
根据我的经验,并非所有相机(驱动程序)都支持设置帧速率。此外,无法保证您将收到与相机广告或您要求的帧数一样多的帧。特别是在低光照条件下,真正的帧速率可能会急剧下降,因为相机会调整曝光时间以补偿缺失的光线。