前言说明
我测试的硬件设备是:
SoloLinker-A V1版本 RV1106G3 256M内存 8G储存EMMC
和SoloLinker-A V2版本 RV1106G2 128M内存 128储存NAND
运行系统用的是:
RV1106-SOLOLINKER-EMMC_WIFI_ALPINE-240407
测试的屏幕及摄像头:
大显伟业4.0寸RGB屏
,单目摄像头:GC2093
如果系统没装软件可:
apk add v4l-utils ffmpeg ffplay
(ffmpeg需要空间稍大,NAND的128M注意是否够)
准备工作
- 列出所有V4L2设备,找到所需设备
1 | Alpine:~# v4l2-ctl --list-devices |
- 确认
media1
所属video*
节点
1 | # 根据如下输出可知它所属节点是:/dev/video11 |
- 列出该摄像头支持的格式
1 | # 根据如下可知RKISP的MP节点支持:UYVY NV16 NV61 NV21 NV12 NM21 NM12 |
- 也可直接获取指定设备的所有信息
1 | Alpine:~# v4l2-ctl --all --device /dev/video11 |
可调参数
- 查看支持的参数
1 | # 查看驱动支持的设置参数和取值范围以及当前值 |
- 从上可知可以调节的参数为
参数 | 说明 |
---|---|
exposure | 曝光时间,单位是微秒。通过适当调节曝光时间可以改变图像的亮度 |
horizontal_flip | 水平翻转开关,0 表示关闭,1 表示开启 |
vertical_flip | 垂直翻转开关,0 表示关闭,1 表示开启 |
vertical_blanking | 垂直消隐时间,单位为行数 |
horizontal_blanking | 水平消隐时间,单位为像素数 |
analogue_gain | 模拟增益控制,可以通过调节该参数来改变图像的亮度 |
link_frequency | 接口频率,影响传输速率,根据不同的频率可以选择不同的传输速率 |
pixel_rate | 像素速率,用于表示相机输出图像的数据传输速率 |
- 调节参数(重启恢复默认)
1 | #关闭帧压缩 |
操作摄像头
1 | # 帧率测试 |
常用命令参数
- V4L2命令参数
1 | v4l2-ctl -d /dev/video11 --set-fmt-video=width=1920,height=1080,pixelformat='NV12' \ |
- ffplay命令选项
1 | # 基本格式: ffplay [选项] [‘输入文件’] |
- ffmpeg部分参数
1 | -f <format> # 指定格式,-i之前指示输入文件格式,-i之后指定输出文件格式。eg. mpegts(普通文件), v4l2, x11grab, alsa |
显示到屏幕
1 | # 分别提供命令gst-launch-1.0和参数fbdevsink及v4l2src的支持 |
其他程序推流
1 | # Alpine下编译支持NV12的ustreamer |