基于rv1126 rkmeida 一路多出 原理
基于rv1126 rkmeida 一路多出的坑
首先说要的是介绍一下rkmedia 相关内容
RKMedia提供了一种媒体处理方案,可支持应用软件快速开发。RKMedia在各模块基础API上做进一步封装,简化了应用开发难度。该平台支持以下功能:VI(输入视频捕获)、VENC(H.265/H.264/JPEG/MJPEG编码)、VDEC(H.265/H.264/JPEG、MJPEG 解码)、VO(视频输出显示)、RGA视频处理(包括旋转、缩放、裁剪)、AI(音频采集)、AO(音频输出)、AENC(音频编码)、ADEC(音频解码)、MD(移动侦测)、OD(遮挡侦测)、VMIX(视频合成)、MUXER(视频封装)、VP(视频一入四出)
视频输入(VideoInput,简称VI)用于读取Camera数据。该模块是对标准V4L2接口的封装,依赖LinuxV4L2驱动架构。ISP/ISPP/VICAP驱动通过V4L2架构向用户层提供文件节(如:/dev/video0),VI通过操作文件节点实现参数配置视频帧的读取等操作。
使用VP完成视频从rkispp_input_image节点对应video输入,使用VI完成视频从rkispp_m_bypass、rkispp_scale0、rkispp_scale1、rkispp_scale2节点对应video输出,即可实现视频一入四出。
通道绑定
/*
* -> VI2 --> venc1
* VI0 -> VP0 -- ISPP -> VI3 --> venc2 -->out
* -> VI4 --> venc3
* -> VI5 --> venc4
*
* VI0 是 能够采集图像的vdieo /dev/video0 也是可以的 但必须进行设置 先kill iqserver
* 在初始化 VI0 通道的时候 加上vi_chn_attr.enBufType = VI_CHN_BUF_TYPE_MMAP;
* 当然 rkispp_scal0 也是可以的 也就是你当前摄像头所连接的 ispp0 模块
* VP0 是 rkispp_input_image
* 最后利用ispp 模块进行 缩放
* 在将其绑定到 编码通道上
在使用过程中我们需要将ispp1 模块 在设备树给打开
&rkispp_vir2 {
status = "okay";
};
注意: 因为你的摄像头链路已经把 ispp0 已经用了 当你采集的时候就不能在用 ispp0 去进行 扩展了 大概意思就是 把 ispp0 的数据给 ispp1 让他去进行输出 四路数据 不知道这么理解正确不 在所有的博客是没有人用ispp0 模块进行绑定通道的。
下来就是配置 ispp1 模块相关的 media 子系统 因为你在设备树 设置的时候仅仅打开这个通道 没有进行一个数据通道绑定 所有他相关的参数都不知道。 我的是media4 注意看你的 media-ctl -d /dev/media* 头部有相关信息
Media device information
------------------------
driver rkispp
model rkispp1
serial
bus info
hw revision 0x0
driver version 4.19.111
media-ctl -d /dev/media4 --set-v4l2 '"rkispp-subdev":2[fmt:YUYV8_2X8/1920x1080]'
media-ctl -d /dev/media4 --set-v4l2 '"rkispp-subdev":2[fmt:YUYV8_2X8/1920x1080]'
media-ctl -d /dev/media4 -l '"rkispp_input_image":0->"rkispp-subdev":0[1]'
下来就这么这么多 根据自己产品进行一个 使用吧 相关代码可以参考这个博客。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?