当前位置:  技术问答>linux和unix

V4L2 摄像头采集帧数低问题

    来源: 互联网  发布时间:2017-05-14

    本文导语:  最近在做和摄像头有关的小程序,需要在ARM(linux系统)板子上跑。 手上有两个USB摄像头,一个是罗技的C210,另外一个是淘宝上买的监控摄像机。 用V4L2写了程序来测试这两个摄像头,两者都支持YUYV格式输出,前者...

最近在做和摄像头有关的小程序,需要在ARM(linux系统)板子上跑。
手上有两个USB摄像头,一个是罗技的C210,另外一个是淘宝上买的监控摄像机。
用V4L2写了程序来测试这两个摄像头,两者都支持YUYV格式输出,前者(罗技C210)测试完全没问题,取出来的帧数15FPS;而后者(监控摄像机)取出来的视频只有2-3FPS(320*240分辨率),我详细的看了一下V4L2,有个可以设置帧数的控制命令,我将帧数设置成30、15、10,执行VIDIOC_S_PARM控制命令的时候就会被改成5,应该是V4L2在配置是会使用和用户设置最接近的可用值,而这里只支持5帧数。

    setfps->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
    setfps->parm.capture.timeperframe.numerator = 1;
    setfps->parm.capture.timeperframe.denominator = 30;
    if(-1 == xioctl(fd_video, VIDIOC_S_PARM, setfps))
errno_exit("VIDIOC_S_PARM");
    printf("numerator: %d, denominator: %dn",
   setfps->parm.capture.timeperframe.numerator,
   setfps->parm.capture.timeperframe.denominator);
    //会输出 numerator: 1, denominator: 5

我怀疑这可能不是我程序的问题,而是摄像头对V4L2支持的不好(不知道是否有这个说法)?我做了如下尝试,把帧数低的那个摄像头接在电脑分别在windows、Linux环境下测试,windows环境下当然没有问题;在Linux下,我下了一个Cheese Webcam Booth来测试摄像头,和windows环境下一样,效果非常好,我没有Cheese那软件的源代码,不清楚它调用的是否是V4L2或是其他。

请教一下, 我接下来应该怎么做?

|
linux 下除了v4l2还有其他的接口吗?
我觉得你还是找到cheese webcam booth的源码,看看它是怎么做的

|
或者在kernel的v4l2接口中加入trace信息,看cheese webcam booth怎么调用的

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • v4l2输出格式的问题
  • 内核移植到开发板怎样支持v4l2驱动?
  • 关于V4L2与vpfe的关系
  • V4L2 抓取图像出问题
  • 请问论坛上有没有对LINUX下的视频接口V4L2了解的吗?
  • v4l2驱动无设备节点
  • v4l2亮度 饱和度 对比度在videodev2.h中对应那个结构体啊?
  • linux下V4L2编程,ioctl VIDIOC_DQBUF时,Invalid Argument出错信息,什么原因呢?
  • v4l2和h.264的问题
  • 高分求教,如何用v4l或者v4l2 截取mpeg 或者mpeg4 文件~~
  • 基于Linux下视频驱动问题,V4L2 MXC27 恳请帮忙,
  • v4l2参数问题
  • 关于v4l2的一点疑问
  • linux下V4L2编程,ioctl VIDIOC_DQBUF时,为什么总是返回-1呢?如何解决?
  • linux V4L2 问题 fd=::open(dev_name,O_RDWR) 中的 =:: 什么意思??与=有什么区别(在一个.cpp文件中)??
  • v4l2的安装问题
  • 关于V4L2驱动中V4L2_MEMORY_USERPTR的问题
  • v4l2的input/output 错误问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,