主题 : 友善7.26 android4.0 V4L2 USB摄像头问题 复制链接 | 浏览器收藏 | 打印
~
级别: 新手上路
UID: 72783
精华: 0
发帖: 43
金钱: 215 两
威望: 43 点
综合积分: 86 分
注册时间: 2012-06-28
最后登录: 2012-10-28
楼主  发表于: 2012-08-07 11:06

 友善7.26 android4.0 V4L2 USB摄像头问题

    m_nCameraFd = open(m_szDevName, O_RDWR | O_NONBLOCK);

    if (m_nCameraFd < 0) {
        LOGE("open %s failed", m_szDevName);
        close(m_nCameraFd);
        return -1;
    }

    struct v4l2_capability cap;
    if (ioctl(m_nCameraFd, VIDIOC_QUERYCAP, &cap) == -1) {
        LOGE("%s VIDIOC_QUERYCAP failed!", m_szDevName);
        close(m_nCameraFd);
        return -1;
    }

    struct v4l2_fmtdesc fmtdesc;
    memset(&fmtdesc, 0x00, sizeof(v4l2_fmtdesc));

    fmtdesc.index = 0;
    fmtdesc.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;

    while (ioctl(m_nCameraFd, VIDIOC_ENUM_FMT, &fmtdesc) == 0) {
        fmtdesc.index++;
    }

    struct v4l2_format fmt;
    memset(&fmt, 0x00, sizeof(v4l2_format));

    fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
    fmt.fmt.pix.width = 640;
    fmt.fmt.pix.height = 480;
    fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_YUYV;
    fmt.fmt.pix.field = V4L2_FIELD_INTERLACED;

    if (ioctl(m_nCameraFd, VIDIOC_S_FMT, &fmt) == -1) {
        LOGE("%s VIDIOC_S_FMT failed!  %d", m_szDevName, errno);
        close(m_nCameraFd);
        return -1;
    }
打开/dev/video3没有报错
设置fmt的时候报错, errno是19,我察看了一下,19对应的是ENODEV

第二个USB摄像头(/dev/video4)正常
[ 此帖被lzx_0728在2012-08-08 15:47重新编辑 ]
~
级别: 新手上路
UID: 72783
精华: 0
发帖: 43
金钱: 215 两
威望: 43 点
综合积分: 86 分
注册时间: 2012-06-28
最后登录: 2012-10-28
1楼  发表于: 2012-08-08 15:44
虽然问题已经找到,错误代码19表示ENODEV,表示设备不存在,但是原因比较蹊跷,以前插入两个USB摄像头是挂在/dev/video3和/dev/video4文件下, 现在问题是开始没有插入摄像头没有/dev/video3和/dev/video4,但是当我插上两个USB摄像头时候发现多了/dev/video3和/dev/video4,所以我认为两个摄像头被挂载到这两个文件下,但是今天发现其实是一个被挂到/dev/video0一个被挂在到/dev/video4下,和以前不同。我用的友善7.26升级的android4.0系统~~~~~~~~~~~
^很多问题的背后都是简单的原因......
级别: 荣誉会员
UID: 34780
精华: 0
发帖: 1219
金钱: 6230 两
威望: 1246 点
综合积分: 2438 分
注册时间: 2010-12-21
最后登录: 2017-09-18
2楼  发表于: 2012-08-08 18:07
如果你是插着USB摄像头开机,那么其中一个可能就会是video0
~
级别: 新手上路
UID: 72783
精华: 0
发帖: 43
金钱: 215 两
威望: 43 点
综合积分: 86 分
注册时间: 2012-06-28
最后登录: 2012-10-28
3楼  发表于: 2012-08-10 10:24

 回 2楼(911gt3) 的帖子

应该也是一个小BUG,呵呵……
级别: 新手上路
UID: 68745
精华: 0
发帖: 24
金钱: 120 两
威望: 24 点
综合积分: 48 分
注册时间: 2012-04-26
最后登录: 2012-09-25
4楼  发表于: 2012-08-13 16:04
有没人在android上测试过USB摄像头,我写的预览摄像头程序在手机上可以实现,在板子上无法实现