飞凌的3588板子 外设很丰富
1.列出 相关节点 太多了

2.测试HDMI in 也就是HDMI输入功能
将一台有输出的hdmi线插入开发板 demsg 可以到看到已经正确识别了

grep -H "hdmi" /sys/class/video4linux/video*/name
看下对应哪个节点 可以看到是73 
v4l2-ctl -d /dev/video73 --query-dv-timings 可以看到相关信息 如果没有插入 会提示failed

用ffmpeg采集 并推流 命令如下 这个ffmpeg是编译ffmpeg-rockchip版本的 支持硬件加速
./ffmpeg -f v4l2 \
-input_format nv12 \
-video_size 1920x1080 \
-framerate 60 \
-i /dev/video73 \
-c:v h264_rkmpp \
-pix_fmt nv12 \
-b:v 4M \
-maxrate 8M \
-bufsize 8M \
-g 60 \
-f rtsp -rtsp_transport tcp \
rtsp://192.168.131.132/live/hdmi
然后打开rtsp流发现可以正常观看了
3.测试USB摄像头
插入USB摄像头之后 dmesg可以看到已经识别了

v4l2-ctl --list-devices 列出相关设备 好多


最后一个就是USB摄像头了 有好几个节点 用命令测试
v4l2-ctl -d /dev/video74 --list-formats-ext 如下图 用74 别的两个都不对

这里可以看到摄像头支持的具体格式分辨率 fps等
用ffmpeg测试推流 然后用vlc打开发现可以正常打开如下图
./ffmpeg -f v4l2 -input_format mjpeg -video_size 1280x720 -framerate 30 -i /dev/video74 -c:v h264_rkmpp -b:v 2M -g 30 -f rtsp -rtsp_transport tcp rtsp://192.168.131.132/live/webcam

4.MIPI摄像头
同样根据刚刚list-device 列出的 找到mainpath那个 mainpath的第一个就是视频节点
我的就是55 和64 通过list-format命令查看


千问分析的

v4l2-ctl抓图一直失败

千问的分析 我昨天刷了 2204的官方固件了 之前是 QT+Linux5.10的系统是正常的


无意中发现 开机之后
v4l2-ctl -d /dev/video55 --set-fmt-video=width=2112,height=1568,pixelformat='NV12' --stream-mmap=4 --stream-count=10 --stream-to=data.yuv
这个是可以的
但是如果 把这个10帧去掉 过程中按ctrl+C 之后再次执行就不行了 不知道为什么 而且必须重启
反复试了 只有开机第一次 能打开 后面 都打不开了 目前 无法解决
只能拿USB摄像头来测试了

但是代码这里 一直返回的是null 后来看了 ffmpeg源码 demux_list.c中 没有 ff_v4l2_demuxer
需要重新编译ffmpeg 加入这个 --enable-libv4l2 提示找不到libv4l2 需要 安装这个库 