如何获取Linux(ubuntu)上的视频捕获设备(网络摄像机)列表?(CC ++)

如何获取Linux(ubuntu)上的视频捕获设备(网络摄像机)列表?(CC ++),第1张

如何获取Linux(ubuntu)上的视频捕获设备(网络摄像机)列表?(C / C ++)

这是我编写的代码段。大概是一本书。我想您可以遍历所有/ dev / videoN节点并获取信息。

#include <stdio.h>#include <unistd.h>#include <fcntl.h>#include <sys/ioctl.h>#include <linux/videodev.h>int main(){    int fd;    struct video_capability video_cap;    struct video_window     video_win;    struct video_picture   video_pic;    if((fd = open("/dev/video0", O_RDONLY)) == -1){        perror("cam_info: Can't open device");        return 1;    }    if(ioctl(fd, VIDIOCGCAP, &video_cap) == -1)        perror("cam_info: Can't get capabilities");    else {        printf("Name:tt '%s'n", video_cap.name);        printf("Minimum size:t%d x %dn", video_cap.minwidth, video_cap.minheight);        printf("Maximum size:t%d x %dn", video_cap.maxwidth, video_cap.maxheight);    }    if(ioctl(fd, VIDIOCGWIN, &video_win) == -1)        perror("cam_info: Can't get window information");    else        printf("Current size:t%d x %dn", video_win.width, video_win.height);    if(ioctl(fd, VIDIOCGPICT, &video_pic) == -1)        perror("cam_info: Can't get picture information");    else        printf("Current depth:t%dn", video_pic.depth);    close(fd);    return 0;}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4896377.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-12
下一篇2022-11-12

发表评论

登录后才能评论

评论列表(0条)

    保存