我正在尝试设置网络摄像头的 fps 和分辨率,并通过 v4l2 Python 从中捕获。
v4l2 Python 文档仅限于;
>>> import v4l2
>>> import fcntl
>>> vd = open('/dev/video0', 'rw')
>>> cp = v4l2.v4l2_capability()
>>> fcntl.ioctl(vd, v4l2.VIDIOC_QUERYCAP, cp)
0
>>> cp.driver
'ov534'
>>> cp.card
'USB Camera-B4.09.24.1'
看着 videodev2.h ;
#define VIDIOC_S_PARM _IOWR('V', 22, struct v4l2_streamparm)
VIDIOC_S_PARM 与 v4l2_streamparm 相关,即;
struct v4l2_streamparm {
enum v4l2_buf_type type;
union {
struct v4l2_captureparm capture;
struct v4l2_outputparm output;
__u8 raw_data[200]; /* user-defined */
} parm;
};
如果我想设置参数;
import v4l2
import fcntl
vd = open('/dev/video1', 'rw')
cp = v4l2.v4l2_streamparm()
fcntl.ioctl(vd, v4l2.v4l2_streamparm, cp)
这是我所能得到的。
如何使用 Python v4l2 调整相机的 fps 速率和分辨率并从中捕获图像?