v4l2:
rv1103给出的包中已经有v4l,只需要在menuconfig中打开编译选项,步骤如下:
- 在luckfox的github网站中下载的源代码在~/linux/luckfox/luckfox-pico-main中
- 目录结构如下:
- 打开编译选项
cd ./sysdrv/source/buildroot/buildroot-2023.02.6/make luckfox_pico_defconfigmake menuconfig```
请注意,刚下载SDK没有 "buildroot-2023.02.6" 这个目录,需要先编译一次SDK:
```shell
luckfox@luckfox:~/linux/luckfox/luckfox-pico-main$ ./build.sh lunch#luckfox-pico开发板就选择0
luckfox@luckfox:~/linux/luckfox/luckfox-pico-main$ ./build.sh
-
使用make menuconfig命令之后弹出编译菜单选项:
-
按下 / 输入 "libv4l 后回车进行搜索,有2个搜索结果,我们按下 1 进行跳转
-
按下y使能v4l软件包libv4l和v4l-utils tools
-
配置好后连续按esc,提示保存是选择yes,保存后重新进行编译:
make savedefconfig
make
- v4l需要多两个步骤
make libv4l-dirclean
make libv4l-rebuild
make
- 重新烧录固件:编译选择分支,指定开发板型号
luckfox@luckfox:~/linux/luckfox/luckfox-pico-main$ ./build.sh lunch
- 编译
luckfox@luckfox:~/linux/luckfox/luckfox-pico-main$ ./build.sh
-
重新烧录固件
固件在output/img文件夹中 -
使用:
(1) 列出摄像头的设备
v4l2-ctl --list-devices
(2)列出摄像头支持的格式
v4l2-ctl --device=/dev/video15 --list-formats-ext
(3)显示摄像头参数
v4l2-ctl --device=/dev/video15 --list-ctrls
(4)录制视频
#CSI 摄像头(需要先关掉自带的RKIPC)
killall rkipc
v4l2-ctl --device=/dev/video15 --set-fmt-video=width=640,height=480,pixelformat=NV12 --stream-mmap --stream-to=video50.yuv --stream-count=60
#USB 摄像头
v4l2-ctl --device=/dev/video0 --set-fmt-video=width=640,height=480,pixelformat=YUYV --stream-mmap --stream-to=video100.yuv --stream-count=100
13. media-ctl
(1)查看有几个 media 节点
ls /dev/media*
/dev/media0 /dev/media1 /dev/media2
(2)查看拓扑结构命令为
media-ctl -d /dev/media3 -p
上述命令如果读取不到 CSI 摄像头的 Entity,可以使用如下命令查看全部信息
v4l2-ctl --all -d /dev/video15