cioujaf 发表于 2013-08-16 14:17

视频监控

求解啊!!!usb摄像头,2.6.35内核,tiny210v2的板子。用qt写的视频监控程序。
插上摄像头后出现的设备是video3。 我open这个节点,然后无论对它进行什么操作,它都会出错。。。
类似于下面这个代码。都会出错。。出错,出错啊啊啊啊啊。。还有就是感觉不到哪里会和平台挂上钩啊。


    /* VIDIOC_CROPCAP : 查询驱动的修剪能力 */
    if(0 < (err = ioctl(fd_video,VIDIOC_CROPCAP,&cropcap)))
    {
      memset((void *)&crop,0,sizeof(struct v4l2_crop));
      crop.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
      crop.c = cropcap.defrect;

      /* VIDIOC_S_CROP:设置视频信号到边框 */
      if(-1 == (err=ioctl(fd_video,VIDIOC_S_CROP,&crop)))
      {
            fprintf(stderr,"**************does not support VIDIOC_S_CROP\n");
            return err;
      }
    }
    else
    {
      fprintf(stderr,"***************does not support VIDIOC_CROPCAP\n");
      return err;
    }

    memset((void *)&fmt,0,sizeof(struct v4l2_format));
    fmt.fmt.pix.width = 720;
    fmt.fmt.pix.height = 576;
    fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_YUYV;
    fmt.fmt.pix.field = V4L2_FIELD_INTERLACED_BT;

    if((err = ioctl(fd_video,VIDIOC_S_FMT,&fmt)) <0 )
    {
      fprintf(stderr,"***************does not support VIDIOC_S_FMT\n");
      return err;
    }
    fprintf(stderr,"################VIDIOC_S_FMT\n");

    err = init_mmp();
    return err;

流氓无产者 发表于 2013-08-19 09:28

drive问题吧,应用怎么解:shock:

cioujaf 发表于 2013-08-19 13:52

我不记得是在哪里加上了一个type的内型后就可以了。。。但是现在视频不能连续播放,只能最开始的时候的读几张图片出来。后面再从缓存里读数据就没有了。。回复 2# 流氓无产者


   
页: [1]
查看完整版本: 视频监控