瑞芯微rv1126 rtsp+mpp+rga取流

瑞芯微rk3399使用rga图形加速处理后拷贝到普通内存耗时大的解决方案 rga图形加速引擎处理图形很快:rk3399开发板自带rga(图形加速引擎)和mpp编解码。在MPP解码->图像后处理->显示整个流程中,RGA都是直接访问内存物理地址,整个过程零内存拷贝,效率很高。(都是在drm内存上完成,drm内存默认non-cache)。从rga的drm内存拷贝图片到普通内存很慢:其他任何软件以cpu访问该段内存都会因为non-cached导致不必要的损失。 阅读详情

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

瑞芯微rv1126 rtsp+mpp+rga取流


经过测试,使用rtsp+mpp+rga取流1920*1080图像一帧耗时60ms左右,基本可满足要求

一、mpp解码

void decoder_routine(QImage &img,bool &bOK)
{
   
   
    int ret;
    RK_U32 pkt_done = 0;
    // write data to packet
    mpp_packet_write(packet, 0, packet_buffer, packet_wpos);
    // reset pos and set valid length
    mpp_packet_set_pos(packet, packet_buffer);
    mpp_packet_set_length(packet, packet_wpos);
//    printf("packet_wpos = :%d\n",packet_wpos);
    packet_wpos = 0;
    // setup eos flag
    if (pkt_eos)
        mpp_packet_set_eos(packet);

    do {
   
   

        RK_S32 times = 5;
        // send the packet first if packet is not done
        if (!pkt_done)
        {
   
   
            ret = mpi->decode_put_packet(ctx, packet);
            if (MPP_OK == ret)
                pkt_done = 1;
        }

        // then get all available frame and release
        do {
   
   
            RK_S32 get_frm = 0;
            RK_U32 frm_eos = 0;

        try_again:
            ret = mpi->decode_get_frame(ctx, &frame);
            if (MPP_ERR_TIMEOUT == ret) {
   
   
                if (times > 0) {
   
   
                    times--;
                    msleep(MPP_H264_DECODE_TIMEOUT);
                    goto try_again;
                }
                mpp_err("decode_get_frame failed too much time\n");
            }
            if (MPP_OK != ret) {
   
   
                mpp_err("decode_get_frame failed ret %d\n", ret);
                break;
            }

            if (frame) {
   
   
                if (mpp_frame_get_info_change(frame))
                {
   
   
                    RK_U32 width = mpp_frame_get_width
瑞芯微RV1126实战:RTSP流媒体+MPP解码+RGA图像处理全流程解析 本文详细解析了瑞芯微RV1126在RTSP流媒体、MPP解码和RGA图像处理全流程中的实战应用。通过优化网络流缓冲策略、MPP硬解码技巧和RGA图像处理实现,构建了毫秒级延迟的视频处理流水线,适用于智能安防和工业质检等高实时性场景。 阅读详情

相关推荐

瑞芯微RV1126 RTSP流媒体处理实战:MPP解码与RGA图像转换优化

本文详细介绍了在瑞芯微RV1126平台上实现RTSP流媒体处理的实战方案。通过结合MPP硬件解码与RGA图像转换优化,构建了一条高效的视频处理流水线,解决了嵌入式设备处理高清视频流时常见的性能瓶颈问题。文章深入剖析了MPP解码器的初始化、解码循环与RGA格式转换的关键步骤与优化技巧,并提供了完整的代码示例与多线程架构建议,帮助开发者快速实现低延迟、高稳定性的实时视觉应用。

ipfs8storage的博客 487

避坑指南:RV1126上RTSP取流常见的5个MPP/RGA内存问题(附诊断脚本)

本文针对瑞芯微RV1126平台RTSP视频流处理中常见的MPP解码与RGA转换内存问题,提供了五大核心陷阱的深度解析与实战解决方案。重点剖析了DMA缓冲区生命周期管理、stride对齐、缓存一致性等关键难点,并附带了实用的诊断脚本,帮助开发者有效规避内存泄漏、程序崩溃与花屏等问题,提升开发效率。

weixin_29189377的博客 469

mpp rtsp 硬解码

mpp rtsp 解码

jacke121的专栏 1754

RV1126上实现OnVif协议操作IPC并RTSP拉流

RV1126是一款瑞芯微(RockChip)旗下的视频编解码芯片,本次项目中使用的这款芯片基于Linux系统,使用buildroot编译工具。项目中需要使用到IPC,因此不可避免的离不开OnVif协议,同时,在通过OnVif协议获取到IPC的RTSP流地址后,使用Ffmpeg拉流操作。

jidapenglin28的专栏 2416

mpp_海思rtsp_rtsp_海思_rtspmpp_h264_

海思平台的MP4采集源文件,有很多例程,不单只有采集,还有ortp、rtsp等流的传输,还有NALU的打包等

Ansys Zemax导入CAD文件避坑指南:STL/STEP/IGES格式选择与性能优化

本文深度解析了在Ansys Zemax中导入CAD文件的核心要点与性能优化策略。针对STL、STEP、IGES等主流格式,详细对比了其几何表示、精度与适用场景差异,并提供了基于模型特征的格式选择决策树。文章重点分享了体元、弦公差等高级参数的调优技巧,以及处理复杂装配体和避免精度陷阱的实战指南,旨在帮助光学工程师提升仿真效率与结果可靠性。

weixin_29202687的博客 432

cuda安装时出现错误 Unable to locate package cuda-toolkit-12-4

cuda安装时出现错误 Unable to locate package cuda-toolkit-12-4

4859

Python实战:动态爬取国家地表水水质实时监测数据(附最新代码解析)

本文详细介绍了使用Python动态爬取国家地表水水质实时监测数据的实战方法。针对动态网站数据加载特点,重点解析了如何利用Selenium模拟浏览器操作、结合BeautifulSoup解析数据,并提供了最新的代码实现与常见问题解决方案,帮助开发者高效获取环境监测数据。

app77的博客 270

深入IR2104数据手册:被忽略的SD引脚用法和死区时间调节实战

本文深入解析IR2104半桥驱动芯片的SD引脚用法和死区时间调节技巧,帮助硬件工程师优化电机控制和电源转换系统。通过详细的电路设计、实测数据和调试方法,揭示SD引脚的多重保护机制和死区时间的精密调节策略,提升系统安全性和效率。

weixin_30342363的博客 377

搜索引擎——ElasticSearch汇总

汇总——ElasticSearch篇 全文检索 问题1:什么是全文检索? 基本概念:对**非结构化数据/结构化数据**先建立**索引**,再对索引进行搜索**文档**的过程叫做全文检索。 什么是非结构化与结构化数据? - 非结构化数据:没有固定的格式的数据(html,word,excel)---没有固定长度,字段约束,描述,散列数据 - 结构化数据:有固定的格式的数据(如:数据库数据)---有固定长度(varchar(50)),字段类型,描述修饰数据 搜索算法:顺序扫描法、倒排索引法 - 顺序

alonewolf_99的博客 1834

【AI智能体】Dify 搭建个人专属简历美化助手操作详解

Dify 搭建个人专属简历诊断助手实战操作详解

congge 4370

人形机器人电路板和算法分析

人形机器人电路板与算法深度剖析 电路板领域:人形机器人电子系统分为计算、驱动、感知、能源、通信五大模块。主控板采用高性能SoM(如NVIDIA Jetson AGX Orin),需满足严格电源完整性(PDN)与信号完整性(SI)要求;关节驱动板集成MCU、GaN/SiC功率器件及高精度编码器接口,采用刚柔结合PCB以适应狭小空间。挑战包括热-振可靠性(85°C/10G振动)、高密度互连(3mil线宽)及EMC兼容性。 算法领域:运动控制依赖MPC(模型预测控制)与强化学习(RL),实现实时动态平衡;感知算法

几十年资深高级架构师,技术专家的技术笔记。专注C、Java、Python、微服务、云原生、AI工程化及高并发系统分布式架构实战,分享源码剖析、性能调优与架构治理经验。 290

液态神经网络(Liquid Neural Networks)从线虫大脑到下一代 AI

液态神经网络(Liquid Neural Networks,LNN)是一类具有动态内部结构的神经网络,其灵感来源于生物神经系统,尤其是大脑中神经元如何以复杂、非线性的方式响应外部刺激。与传统神经网络不同,液态神经网络的每个神经元在处理输入时,不再是静态线性或非线性变换,而是基于一个微分方程模型进行响应。这种建模方式使神经元的行为具有时间连续性和动态适应性。换句话说,它不仅“记住”过去的信息,还能根据当前环境实时调整自身的动态特性,这对于感知、决策、预测等任务都非常关键。

hello.reader 7366

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

上一篇: 瑞芯微转化人脸识别模型
下一篇: 瑞芯微加载retinaface模型进行人脸检测(C++)
得一宝贝
博客等级 码龄14年 22粉丝 20原创
评论 14
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值