This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于AM335X VM视频驱动是否支持某个摄像头



各位好,请教个问题,我手头的开发板是AM335XEVM开发板,先手头有一个摄像头,执行lsusb命令显示如下:

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 093a:2700 Pixart Imaging, Inc.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

我想问的是开发板自带的视频驱动是否能够支持我这个摄像头呢,怎么判断呢,各位给指导一下。

  • 你在/dev下面会看到/dev/video0 或者类似的节点么?

  • 在没有插入摄像头时,/dev/下没有,插入摄像头以后就有了。本来我也以为插入摄像头后出现/dev/video0,就ok了,所以从网上找了例子进行试验,可是不对,我的摄像头是YUYV格式的,生成的图片无法打开,后来找了例子,进行YUYV到RGB的转换,转换后图片能打开了,可是图片显示的乱七八糟的,所以就怀疑驱动不对。是不是出现/dev/video0后,驱动就没有问题了,是我的英语程序存在问题。

  • gst-launch -e v4l2src ! video/x-raw-yuv,width=320,height=240,framerate=30/1 ! ffmpegcolorspace ! fbdevsink device=/dev/fb0

    试试这个。

    目前LCDcontroller 只支持RGB,所以需要用gstreamer做一次color space conversion 

  • 由于我的是640×480的,我将你给的语句的width和height改为对应的值,然后拷贝过去在开发板上运行,提示如下(我从最后开始拷贝了部分)

    gstv4l2src.c(882): gst_v4l2src_get_mmap (): /GstPipeline:pipeline0/GstV4l2Src:v0
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Error reading 6.
    Additional debug info:                                                         
    gstv4l2src.c(900): gst_v4l2src_get_mmap (): /GstPipeline:pipeline0/GstV4l2Src:v0
    Execution ended after 2164733887 ns.                                           
    Setting pipeline to PAUSED ...                                                 
    Setting pipeline to READY ...                                                  
    Setting pipeline to NULL ...                                                   
    Freeing pipeline ...  

    然后在开发板上运行我程序,转换后的图片仍然是显示乱七八糟的。过程对了吧,还有什么需要注意到地方。

  • 先说一声谢谢,我后来又试验了一下,不修改你告诉的语句,运行它,然后CTRL+C停止它,接着再运行我的程序,发现我生成的图片中有一半的图片正常了。是这样的,我直接运行你提供的语句就OK,我想将长宽改为640×480,运行就出错。这是怎么回事呢?

  • 你是在什么板子上跑的?我不知道你的板子的显示是多少,可以google下gstreamer相关的命令

  • 我的板子是AM335x evm的,LCD为640*480,关于长宽我换了其他几组值做了实验就,320×240可以,其他的都不对。我也正在网上扒拉呢,还没有找到解释。

  • 我猜想因为gstreamer这边没有做resize,而有些分辨率你的摄像头不支持

  • 非常感谢你的指导,给你添麻烦了。

  • 太客气了,欢迎来交流