野火imx6ull mini 开发板驱动usb摄像头

前提说:开发板lcd显示摄像头

1. 使能设备树插件

想要使能OV5640摄像头需要使能74hc595和cam两个设备树插件,同时摄像头设备树插件和LED

的设备树插件用到重复的引脚,需关闭LED相关的设备树插件,如果还想要在LCD液晶屏上显示摄

像头的内容还需要使能cd的设备树插件,如下所示

先用vim打开/boot/uEnv.txt

vim /boot/uEnv.txt

输入/,搜索lcd定位到dtoverlay=/usr/lib/linux-image-4.19.35-imx6/overlays/imx-fire-lcd.dtbo该行,更改前方的#(#为注释),如下面代码一样。

cam,74hc595,led,下方程序一样

 dtoverlay=/usr/lib/linux-image-4.19.35-imx6/overlays/imx-fire-74hc595.dtbo
 dtoverlay=/usr/lib/linux-image-4.19.35-imx6/overlays/imx-fire-cam.dtbo
 dtoverlay=/usr/lib/linux-image-4.19.35-imx6/overlays/imx-fire-lcd.dtbo
 #dtoverlay=/usr/lib/linux-image-4.19.35-imx6/overlays/imx-fire-led.dtbo

2. v4l-utils工具使用

开发板安装v4l-utils工具

sudo apt install v4l-utils

 查看可用的视频设备

v4l2-ctl --list-devices

 查看到了/dev/video1和/dev/video2两个视频设备(其实就是usb摄像头)

查看/dev/video1的摄像头参数

 sudo v4l2-ctl -d  /dev/video1 --all

 发现摄像头支持uvcvideo,(开发板本身也支持uvcvideo)。则两者可以互连。

查看摄像头所支持的分辨率(/dev/video1)

 sudo v4l2-ctl --list-formats-ext -d /dev/video1

支持YUYV和MJPG(韦东山的视频监控项目)

 3. 安装gstreamer

 sudo apt install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools

4.简单测试

使用以下命令可对摄像头进行录制视频、拍照或将摄像头的拍摄到的视频显示到显示屏上。

举个例子YUYV,1280x960 ,5fps就是下方命令的YUY2,width=(int)1280height=(int)960, framerate=(fraction)5/1 (将上面的查看摄像头分辨率截图下来),替换相同数字即可

 sudo gst-launch-1.0 -v v4l2src device=/dev/video1 ! "video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)960, framerate=(fraction)5/1" ! videoconvert ! fbdevsink

打开开发板的相机功能出现摄像头画面及成功

野火官方文档拓展一下(USB摄像头)