VIDIOC_DQBUF 对于请求的 FPS 来说太慢

问题描述 投票:0回答:1

我使用 V4L2 从网络摄像头获取帧,但我发现即使

timeperframe
等于
1/30
,调用
ioctl(fd, VIDIOC_DQBUF, &buffer)
也需要约 60 毫秒,这太慢了! 30 帧 * 60ms = 1800ms,差不多 2 秒拍摄 30 帧,这就是 ~15fps!

此外,我发现如果将分辨率降低一半(640x480 -> 320x240),VIDIOC_DQBUF 调用的持续时间也会减少一半。

我可以用这个做点什么还是这是我的硬件的限制?也许在打开流之前我应该设置一些东西?

我使用 Logitech C270 网络摄像头,C 语言源代码位于 here,如果您想查看它。

c v4l2
1个回答
0
投票

“camera.init_buffers(2);”在这里尝试更大的缓冲区大小。

© www.soinside.com 2019 - 2024. All rights reserved.