MPI框架以及PIPE数据流向细节

一、海思MPP内部处理流程图

在这里插入图片描述
各模块功能介绍:
(1)VI:捕获视频图像,可对其做剪切、缩放、镜像等处理,并输出多路不同分辨率的图像数据.
(2)AI:捕获⾳频数据,然后AENC 模块⽀持按多种⾳频协议对其进⾏编码,最后输出⾳频码流.
(3)VPSS:接收VI 和解码模块发送过来的图像,可对图像进⾏裁剪、缩放、旋转、镜像、贴图等处理,并实现同源输出多路不同分辨率的图像数据⽤于编码、预览、智能分析或抓拍。
(4)VENC:接收VI 捕获并经VPSS 处理后输出的图像数据,可叠加⽤⼾通过Region模块设置的OSD 图像,然后按不同协议进⾏编码并输出相应码流.
当然,这些最基础的概念也不是本文的重点,相信各位读者也可以很轻松就理解上述概念。本文主要对实际项目中更深入的视频数据流向做详细介绍。

二、项目中PIPE的数据流向

(1)相关模块组件

很多初学者在学习MPP项目源码时,经常会碰到dev、vi、chn、venc、iva、pipe的相关名词,尤其是dev与vi会被绕的云里雾里,我们从软硬件层面来详细解释一下这些名词。
以RV1106的单目摄像头为例。因为只有一个摄像头,因此摄像头作为唯一的dev;对于这个dev设备,瑞芯微官网说明RV1106最大支持3个sensor 输入,即该设备最多支持三个VI硬件组件;对于一个VI组件,内部有多个视频输入通道chn,chn也是作为硬件组件存在与VI内部;venc同样是硬件组价,因此这里解码属于硬件解码,VENC内部并没有独立通道这一说法,因此VENC编号为VENC[0]、VENC[1]。
以上所述组件都属于硬件层面,接下来介绍软件层面的相关组件。IVA 是一种智能视频分析功能,位于软件层面,用于异常事件检测。而PIPELINE/PIPE既不属于软件也不属于硬件,而是我们人为规定的数据流向通道,可能读者觉得有些抽象,接下来通过一个实际的项目需求来更加深刻的了解一下相关概念。

(2)项目PIPE流向图

在这里插入图片描述

(3)PIPE流向解读

我们先来了解一下项目需求,数据流向也是基于项目需求而言。

本项目是实际项目,camer端的整体需求如下:
(1)有两路直播流供客户观看,主码流2k分辨率,子码流720p分辨率,两路直播流上均要显示事件以及相机编号。
(2)第三路码流用于事件侦测
(3)检测到事件发生时(画面有物体,人、宠物、车牌),将主码流发给服务器,事件结束时停止;
同时事件发生时,捕获一张图片,编码为JPEG格式发给服务器作为视频缩略图。
(4)服务端将H264码流保存为MP4格式进行观看。

整个项目中只用到VI0,第0号输入设备。对于第一路直播流,使用VI0中第0号独立通道,在编码前设置好OSD内容,将VI[0,0]与OSD一同送入VENC0进行编码,我们所说的2K分辨率实际是在这里完成的,设置编码视频的宽高1920*1080,编码后的H264码流写到RTSP服务端即完成PIPE0的管道搭建。PIPE1也同样类似。
对于IVA事件侦测,从VI[0,3]捕获视频帧送到IVS进行检测,完成PIPE3的搭建。
当检测到有事件发生时,要将2K分辨率的高清码流传给服务端,这里是直接从VENC0获取编码帧然后发给服务端。要将事件缩略图发给服务器,因为图片编码格式是JPEG,与VENC0、VENC1编码格式不同不能直接获取,因此从VI[0,0]捕获视频帧送给独立的VENC_JPEG编码器,将编码后的图片发给服务端。

总结

本文的作用更多是帮助初学者更好的理解MPP框架整个流程以及相关概念,对于实际业务开发的代码细节不做过多介绍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/49635.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华盈生物-小分子靶点筛选服务:助力药物发现的利器

在药物发现的过程中,确定小分子化合物的靶点是至关重要的一步。华盈生物为科学家们提供了两种高效的小分子靶点筛选方案,助力研究人员精准锁定靶点,加速新药研发进程。 方案一:荧光标记与HuProt人类蛋白质组芯片结合 华盈生物的H…

lua 游戏架构 之 游戏 AI (三)ai_attack

这段Lua脚本定义了一个名为 ai_attack 的类,继承自 ai_base 类。 lua 游戏架构 之 游戏 AI (一)ai_base-CSDN博客文章浏览阅读119次。定义了一套接口和属性,可以基于这个基础类派生出具有特定行为的AI组件。例如,可以…

MongoDB教程(十六):MongoDB高级索引

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 文章目录 引言一、全文索…

开源软件项目:趋势、参与经验与收获

在当今这个全球经济与科技日新月异的时代,开源软件项目(Open Source Software, OSS)正以前所未有的速度蓬勃发展,成为推动技术创新、促进产业合作、加速知识共享的重要力量。随着云计算、大数据、人工智能等技术的兴起&#xff0c…

matlab 绘制参数方程

matlab 绘制参数方程 绘制参数方程绘制结果 绘制参数方程 clc; clear; close all;axis_length 100;% 定义参数t的范围 t 0:0.01:100;% 计算x和y的值 x t.^2 1; y 4*t - t.^2;% 绘制函数图像 plot(x, y); xlabel(x); ylabel(y); title(Plot of the curve xt^21, y4t-t^2…

机器学习之主成分分析案例-红酒主成分分析

🍷 机器学习实战:使用PCA与sklearn红酒数据集进行特征降维与模型预测对比 在机器学习中,主成分分析(PCA)是一种有效的降维技术,它通过寻找数据中的主成分来减少特征数量,同时尽量保留数据的结构…

人工智能全景图2.0 | 一文了解人工智能学科

大家好,这是一节人工智能的科普视频,试图用40多分钟的时间,带你宏观了解人工智能学科,对人工智能有个初步的、全景式的把握,这对你学习具体人工智能细节大有裨益,也是我珍贵的总结。 视频链接(建…

灰色关联分析【系统分析+综合评价】

系统分析: 判断哪个因素影响最大 基本思想:根据序列曲线几何形状的相似程度来判断其练习是否紧密 绘制统计图并进行分析 确定子序列和母序列 对变量进行预处理(去量纲、缩小变量范围) 熟练使用excel与其公式和固定&#xff08…

一套成熟的实验室信息管理系统源码,.Net 检验系统LIS源码,实现从采集、检测、报告、归档的全程跟踪管理

一套成熟的实验室信息管理系统源码。在长期的医疗信息化实践中,我们分析总结了大量客户实例,建立了以病人为中心、以业务处理为基础、以提高检验科室管理水平和工作效率为目标的产品开发思路,将医学检验、科室管理和财务统计等检验科室/实验室…

电脑基础知识 | 电脑的基本组成

电脑作为我们日常工作和娱乐的重要工具,扮演着举足轻重的角色。当我们谈论电脑的基本组成时,其实是在探讨电脑硬件和软件两个核心部分。硬件是电脑看得见、摸得着的物理设备,而软件则是运行在这些硬件之上的程序和指令。两者相辅相成&#xf…

【GoLang】Golang 快速入门(第一篇)

目录 1.简介: 2.设计初衷: 3.Go语言的 特点 4.应用领域: 5.用go语言的公司: 6. 开发工具介绍以及环境搭建 1.工具介绍: 2.VSCode的安装: 3.安装过程: 4.Windows下搭建Go开发环境--安装和配置SDK 1.搭建Go开发环境 - 安装…

如何优化 PostgreSQL 中的连接查询性能?

🍅关注博主🎗️ 带你畅游技术世界,不错过每一次成长机会!📚领书:PostgreSQL 入门到精通.pdf 文章目录 如何优化 PostgreSQL 中的连接查询性能?一、理解连接查询的基本原理二、优化连接查询的关键…

Pyqt5新手教程

PyQt界面开发的两种方式:可视化UI 编程式UI (1)可视化UI:基于Qt Designer可视化编辑工具进行组件拖放、属性设置、布局管理等操作创建界面。 一是将其保存为.ui文件,然后在PyQt应用程序中加载和使用.ui文件。 二是使用…

企业级数据分析平台合集介绍

企业发展离不开数据分析,数据分析推动着企业运营、决策和战略规划。它正逐步深入到各行各业的核心业务流程中,从传统的金融、零售、制造业扩展到医疗健康、教育、能源等更多领域。企业正通过数据分析平台实现数据资源的最大化利用,推动业务与…

音频剪辑里的几种基础操作

音频对于视频的重要性,怎么强调都不为过,它在视频里扮演着举足轻重的角色,对观众有着极为深远的影响。下面为您阐述音频在视频中的关键意义: ① 情感传递:音频有强大的情感传达能力,借助声音的起伏变化、音…

项目标红,识别不了maven项目,解决办法

首先,检查 preferences 其次,检查IDEA 的 jdk。File-》Project Structure 最后: 1. 2. mvn clean install -Dmaven.test.skiptrue 跳过单元测试 maven跳过单元测试-maven.test.skip和skipTests的区别-CSDN博客

CAD框架介绍

1、适用范围:矢量编辑软件如 服装模板软件、CAD软件、绘图软件 2、支持PLT,DXF,PDF,GCode(服装裁割指令)等矢量文件导入 3、支持简易的自动手动排料 4、直线,曲线等编辑功能 5、分页输出绘图指令 6、良好的框架结构:绘图引擎…

【MP4】mp4文件详解(二)—— mp文件分析工具

文章目录 一、前言二、MP4文件分析工具1、软件工具1.1、UltraEdit1.2、Hexinator1.3、mp4info1.4、mp4explorer1.5、MediaInfo 2、在线工具2.1、Online Mp4 Parser2.2、MP4Box.js / ISOBMFF Box Structure Viewer 一、前言 MP4文件分析工具可以帮助你查看和分析MP4视频文件中的…

从混乱到有序:Codigger 软件项目体检助力软件项目管理

在软件项目管理的奇妙世界里,程序员可弟哥就像是一位勇敢的探索者,他深知项目管理中那些常见的难题。 项目进度常常如同脱缰的野马,难以掌控,导致交付日期不断延迟,这让可弟哥十分头疼。成本也仿佛是个调皮的小精灵&am…

Vuex、Redux状态管理库

目录 状态管理库 单一事实来源:存储更新所有组件状态 Vuex 安装 配置 src->store index:拆分模块modules vue2 vue3 main index【以Conversation模块为例】【拆分state等属性】 store state() { return state; }类似于 vue中data() retu…