【问题标题】:checking for webcam camera device gnome library检查网络摄像头设备 gnome 库
【发布时间】:2011-01-28 12:55:04
【问题描述】:

如何使用 gnome 库检测相机设备。

请给我一些关于此的示例代码。

我已经关注 Cheese 源代码,但是当我调用检测相机 api 时,它返回 NULL。

感谢和问候, iSight

【问题讨论】:

    标签: c++ c linux gtk gnome


    【解决方案1】:

    据我了解,如果您需要的是网络摄像头设备信息,则实际上不需要使用 gnome\gtk。请尝试下面的代码,它应该查询和输出视频驱动能力:

    #include <stdio.h>
    #include <fcntl.h>
    #include <unistd.h>
    #include <sys/ioctl.h>
    #include <linux/videodev2.h>
    
    int main()
    {
        struct v4l2_capability vc;
        int fd = open("/dev/video0", O_RDONLY);
        if (fd != -1)
        {
            ioctl(fd, VIDIOC_QUERYCAP, &vc);
    
            printf("driver: %s\n", vc.driver);
            printf("card: %s\n", vc.card);
            printf("bus info: %s\n", vc.bus_info);
            printf("version: %d\n", vc.version);
            printf("capabilities: %x\n", vc.capabilities);
    
            close(fd);
        }
        return 0;
    }
    

    在我的机器上输出是:

    驱动程序:uvcvideo

    卡:联想 EasyCamera

    总线信息:usb-0000:00:1d.7-3

    版本:256

    能力:4000001

    您还可以在此处找到更多信息:How to get a list of video capture devices (web cameras) on linux

    希望这会有所帮助,问候

    【讨论】:

    • 您应该可以使用 ioctl、google 获取 VIDIOC_S_INPUT 和 VIDIOC_S_FMT 请求代码
    猜你喜欢
    • 2015-01-07
    • 2016-02-03
    • 1970-01-01
    • 1970-01-01
    • 2010-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多