rk平台一个头两个流, 即同一个vi通道, 接两个不同的下游通道,比如rga

2023-11-22 14:50

本文主要是介绍rk平台一个头两个流, 即同一个vi通道, 接两个不同的下游通道,比如rga,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最早我有个迷思, 觉得, 每个vi的通道, 只能对应一个下游通道, 但是当我拿vdec当作输入的时候, 发现是不是并没有必要每个进来的包, 都做两次解码, 那不是有点傻么, 后来我在做rtsp+rknn的时候, 发现一个问题, 如果把一个节点, 比如rkisp_scanle0, 跟rkisp_scale1, 都做19201080输入, 直接就会报错, 原因如下图
在这里插入图片描述
原因是rkisp_scale1支持不了1080p, 这样便催生了一个问题, 有没有办法, 用一个头, 接后面两路输出, 比如一路getMediaBuffer, 拿来给rknn的结果画框, 画完放入rtsp当作监视器使用, 另一个进rga, 转为合适的尺寸之后, 做rknn推理, 把结果放入rknn队列.
这样能行么? 因为之前我选择的是这种方案, 从rkispp_scal1获取的是1289
720, 结果导致画框的时候框子变形了. 只能被逼把rkispp_scal0也改为低分辨率, 但是如果能用一个vi的通道, 直接接两路后续的模块, 比如rga, 那该有多好.
问了原子的客服, 人家是真的牛逼, 马上甩给我一个博客(放在文章后面), 告诉我, 是可行的!

示例代码放到了github:
https://github.com/MontaukLaw/one_vi_2_rga_test

最终效果:
在这里插入图片描述
两个不同的vlc客户端, 分别获取了两个流, 一个是main_stream, 一个是sub_stream

参考博客:
https://blog.csdn.net/baoecit/article/details/124867651

这篇关于rk平台一个头两个流, 即同一个vi通道, 接两个不同的下游通道,比如rga的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/410912

相关文章

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

Python Flask实现定时任务的不同方法详解

《PythonFlask实现定时任务的不同方法详解》在Flask中实现定时任务,最常用的方法是使用APScheduler库,本文将提供一个完整的解决方案,有需要的小伙伴可以跟随小编一起学习一下... 目录完js整实现方案代码解释1. 依赖安装2. 核心组件3. 任务类型4. 任务管理5. 持久化存储生产环境

Spring Boot配置和使用两个数据源的实现步骤

《SpringBoot配置和使用两个数据源的实现步骤》本文详解SpringBoot配置双数据源方法,包含配置文件设置、Bean创建、事务管理器配置及@Qualifier注解使用,强调主数据源标记、代... 目录Spring Boot配置和使用两个数据源技术背景实现步骤1. 配置数据源信息2. 创建数据源Be

Linux之platform平台设备驱动详解

《Linux之platform平台设备驱动详解》Linux设备驱动模型中,Platform总线作为虚拟总线统一管理无物理总线依赖的嵌入式设备,通过platform_driver和platform_de... 目录platform驱动注册platform设备注册设备树Platform驱动和设备的关系总结在 l

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

在Android平台上实现消息推送功能

《在Android平台上实现消息推送功能》随着移动互联网应用的飞速发展,消息推送已成为移动应用中不可或缺的功能,在Android平台上,实现消息推送涉及到服务端的消息发送、客户端的消息接收、通知渠道(... 目录一、项目概述二、相关知识介绍2.1 消息推送的基本原理2.2 Firebase Cloud Me