请教使用v4l2打开摄像头,显示device is no video capture device

按教程的用法
v4l2_test -c 1 -p 0 -F 0 -f 0 -D 0 -R 1 -r 2 -d 2 -N 1000 -n 800 -w 0 -e 1 -I 0 -b /dev/fb0 -v /dev/video0
或者opencv打开均能正常使用

但是自已写v4l2方式打开的的代码
int ret = 0;

int fd = open("/dev/video0",O_RDWR);

struct v4l2_capability cap;
ioctl(fd,VIDIOC_QUERYCAP,&cap);

if (!(cap.capabilities & V4L2_CAP_VIDEO_CAPTURE)) {

fprintf(stderr, "device is no video capture device\n");

exit(EXIT_FAILURE);

}

却是device is no video capture device。请教要如何用v4l2的方式打开摄像头。

你可以参考下v4l2_test源码:

1 Like