0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【Firefly自研】高性能全流程视频处理框架:FFMedia

Firefly开源团队 2025-07-01 16:32 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群


什么是FFMedia?

RK3588 系列芯片拥有超强的视频编解码能力,尤其在多路视频并发处理上表现优异。然而我们在视频处理应用开发时,经常面对 gstreamer、ffmpeg 等通用框架未能充分发挥芯片性能、官方原始 api 太靠近底层、学习成本高、周期长、开发工作量大等问题。


为此,Firefly 基于 Rockchip MPP/RGA 库,开发了一套性能高效、接口简洁、功能完善的视频处理框架——FFMedia。它完整支持市面上主流容器、协议的媒体数据前处理和后处理,同时还支持媒体数据从内存、管道及文件描述符等方式输入和输出,方便对接其他应用和编程语言。


各单元主要组件如下:

输入单元

包含 rtsp、rtmp、whep、camera、file 等输入单元;

处理单元

包含硬件解码、编码、图像处理及推理单元等支持硬件加速的处理单元;

输出单元

包含 rtsp、rtmp、whip、drm display、gb28181、file 等输出单元。



功能与特点

核心架构

- 模块化架构:整个框架采用 Productor / Consumer 模型,将各个单元都抽象为 ModuleMedia 类;

- 高效内存管理技术:单元之间及硬件的数据交互均使用零拷贝实现。


媒体处理能力

- 格式支持:支持 mp4 / mkv / flv / ts 等主流容器格式及 rtsp / rtmp / gb28181 / webrtc 等主流协议的解析与封装;

- 转码和处理:支持视频转码、裁剪、拼接、水印添加等处理;

- 流媒体处理:支持从摄像头、网络流等源拉取媒体流进行实时处理、转发和存储等处理。


性能优化

- 低负载和低延迟性:深度优化数据流处理及传递,与 GStreamer 和 FFmpeg 相比,CPU 占用更低,且具备更高的数据实时性;

- 高效 Python 模块:通过 pybind11 实现 C++ 和 Python 之间的无缝互操作性;

- 统一接口:屏蔽和优化复杂的底层操作,为使用者提供高效、统一的接口。


平台兼容性

- 芯片级适配:支持 Firefly 平台下所有瑞芯微芯片机器版型;

- 系统支持:支持 Buildroot / Ubuntu / Debian 等不同版本系统。



下载源码

拉取源码

gitclonehttps://github.com/Firefly-rk-linux-utils/ffmedia_release.git


编译测试

参考:编译与运行



开发接口

所有接口支持 C++ 与 Python 调用。

C++ 语言范式

autortsp_c =make_shared("rtsp://xxx");autoret = rtsp_c->init()

Python 语言范式

rtsp_c= ff_pymedia.ModuleRtspClient("rtsp://xxx")ret= rtsp_c.init()



典型场景与性能测试

测试环境:ITX-3588J

低延迟实时流播放


测试播放 H265 的 1080p@30fps 的 RTSP 实时流,使用相关模块:

- RTSP 客户端:

采用自实现的轻量级 RTSP 客户端模块;取流一帧耗时 0.03 毫秒左右;

- MPP 解码:

基于 MPP 实现的解码模块;解码一帧耗时 1.2 毫秒(多通道模式可低至0.7)左右;

- DRM 显示:

基于 DRM 框架实现的显示模块;送显一帧耗时 0.9 毫秒左右。


可计算出直播一路 H265(p帧系列为顺序方式)、1080P 延迟:数据流从网络到解码成 YUV 裸流延迟在1.3 毫秒左右,画面显示还受到屏幕刷新率影响。如 60fps 的屏幕刷新间隔为 16.667 毫秒,可得出显示延迟在 0.9~16.667 毫秒之间。综上,直播一路 1080P 视频的最低延迟为 2.4 毫秒左右。


性能指标如下表所示:

e4156526-5655-11f0-9776-92fbcf53809c.png

简单测试命令如下:

./demo rtsp://xxx -d 0


测试播放 32 路 H265 的 1080p@30fps rtsp 实时流性能指标如下表所示:

e426ba9c-5655-11f0-9776-92fbcf53809c.png

简单测试命令如下:

./demo rtsp://xxx -d 0 -c 32




实时视频流转码转播


测试将 H265 的 1080p@30fps 的 RTSP 实时流转码成 H264 的 RTSP 流,使用相关模块:

- RTSP 客户端:

轻量级 RTSP 客户端模块;取流一帧耗时 0.03 毫秒左右;

- MPP 解码:

基于 MPP 实现的解码模块;解码一帧耗时 1.2 毫秒(多通道模式可低至0.7)左右;

- MPP 编码:

基于 MPP 实现的编码模块;编码一帧耗时 4.8 毫秒(多通道模式可低至 2.5)左右;

- RTSP 服务端:

轻量级 RTSP 服务端模块;推流一帧耗时 0.1 毫秒左右。


可初步估计视频帧从取流、转码最后推流理论耗时为6.3毫秒左右。


性能指标如下表所示:

e430b286-5655-11f0-9776-92fbcf53809c.png

简单测试命令如下:

./demo rtsp://xxx -e h264 -p 8554# 可用demo或其他软件拉取转码后的rtsp流:rtsp://ip:8554/live/0


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    462

    文章

    53534

    浏览量

    459079
  • 视频编解
    +关注

    关注

    0

    文章

    3

    浏览量

    6319
  • Firefly
    +关注

    关注

    2

    文章

    546

    浏览量

    9004
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    季丰电子PCB管理系统的简单介绍

    季丰电子的PCB管理系统,整合报价+投板+Release三大核心模块,覆盖从设计发布、订单对接到生产交付的业务流程
    的头像 发表于 11-11 14:51 1006次阅读

    数据复用高性能池化层设计思路分享

    大家好,本团队此次分享的内容为可实现数据复用高性能池化层设计思路,核心部分主要由以下3个部分组成; 1.SRAM读取模块;——池化使用的存储为SRAM 基于SRAM读与写时序,约束池化模块读与写
    发表于 10-29 07:10

    志A733:高性能八核AI处理器,智能终端优选

    实现大规模量产。此外,其芯片产品已广泛应用于扫地机器人、四机器狗等设备,如小米仿生四足机器人“铁蛋”就采用了该公司的芯片。   志科技A733芯片是一款高集成度平台处理器,集成了高性能处理
    的头像 发表于 10-20 08:12 6612次阅读
    <b class='flag-5'>全</b>志A733:<b class='flag-5'>高性能</b>八核AI<b class='flag-5'>处理</b>器,智能终端优选

    国产真高性能图形 GPU 重磅发布:跑分超 RTX4060,畅玩《黑神话・悟空》

    系列。   砺算科技创始人、CEO 宣以方表示,砺算 7G100 系列 GPU 从计算核心到指令集完全由自主设计,基于 “天图” 架构,并配备指令集、
    发表于 07-26 21:45 5579次阅读
    国产真<b class='flag-5'>自</b><b class='flag-5'>研</b><b class='flag-5'>高性能</b>图形 GPU 重磅发布:跑分超 RTX4060,畅玩《黑神话・悟空》

    睿思芯科携灵羽处理器亮相2025 RISC-V中国峰会

    第五届RISC-V中国峰会于16日在上海张江开幕,会上睿思芯科展示了中国首款高性能RISC-V服务器处理器——灵羽
    的头像 发表于 07-21 09:15 1951次阅读

    高端芯片,服务器芯片传来好消息!

    电子发烧友网报道(文/黄晶晶)当前,处理器已经跨过了能用的阶段,逐渐走向好用,但无论是消费级还是服务器级都面临着如何在性能上接近国外高端产品,以及生态上如何更加完善的问题。国内厂商
    的头像 发表于 05-18 09:25 7446次阅读
    高端芯片<b class='flag-5'>自</b><b class='flag-5'>研</b>,服务器芯片传来好消息!

    迅为iTOP-RK3576开发板/核心板视频编解码能力强高性能低功耗的应用处理芯片

    迅为iTOP-3576开发板采用瑞芯微RK3576高性能、低功耗的应用处理芯片,集成了4个Cortex-A72和4个Cortex-A53核心,以及独立的NEON协处理器。它适用于ARM PC、边缘
    发表于 04-07 14:18

    国内首款ASIC芯片通用网卡 填补25G以上高性能网卡市场空白

    研发的DPU芯片的标准网卡,是国内首款采用自主可控ASIC芯片的通用网卡,填补了国内25G、100G等高性能网卡的市场空白,支持最大双100G端口基础网络接入,满足大数据计算的高
    的头像 发表于 03-31 11:57 916次阅读
    国内首款<b class='flag-5'>自</b><b class='flag-5'>研</b>ASIC芯片通用网卡 填补25G以上<b class='flag-5'>高性能</b>网卡市场空白

    RK3568J高性能多媒体处理器特性概述

    RK3568J是一款高性能的多媒体处理器,专为满足现代智能设备对高性能、低功耗的需求而设计。它集成了四核64位Cortex-A55 CPU、ARM G52 2EE GPU以及
    的头像 发表于 02-11 17:41 1515次阅读

    探索 RK3576 方案:卓越性能与灵活框架,诚邀开发定制合作!

    组合分辨率的视频显示,配合多种图像处理算法,可提供极为清晰的视觉体验,提升了监控的灵活性和便捷性,满足不同用户对于多画面监控展示的需求2。RK3576 框架优势RK3576 的框架
    发表于 02-05 15:21

    自动驾驶可行吗?

    随着自动驾驶加速落地,模式在高阶智能驾驶技术领域逐渐成为共识,这种模式指的是整车厂从底层硬件、软件算法到系统集成全面自主开发,而非依赖于第三方供应商或Tier 0.5模式(车企与供应商
    的头像 发表于 01-27 10:24 3381次阅读

    瑞芯微 RK3568J 视频图像处理框架解析

    屏异显,内置1TOPS高性能NPU以及8M ISP,还支持3路Ethernet、3路CAN、5路USB3.0、3路RS485、SDIO等,凭借其出色的性能及丰富的外设接口成为国内众
    的头像 发表于 01-24 09:36 1233次阅读
    瑞芯微 RK3568J <b class='flag-5'>视频</b>图像<b class='flag-5'>处理</b><b class='flag-5'>框架</b><b class='flag-5'>全</b>解析

    EE-276:Blackfin处理器上图像处理视频框架注意事项

    电子发烧友网站提供《EE-276:Blackfin处理器上图像处理视频框架注意事项.pdf》资料免费下载
    发表于 01-06 14:17 0次下载
    EE-276:Blackfin<b class='flag-5'>处理</b>器上图像<b class='flag-5'>处理</b>的<b class='flag-5'>视频</b><b class='flag-5'>框架</b>注意事项

    鸿蒙原生页面高性能解决方案上线OpenHarmony社区 助力打造高性能原生应用

    随着HarmonyOS NEXT的正式推出,鸿蒙原生应用开发热度高涨,数量激增。但在三方应用鸿蒙化进程中,性能问题频出。为此,HarmonyOS NEXT推出了一整套原生页面高性能解决方案,包括
    发表于 01-02 18:00

    中国电信发布视频生成大模型

    ,中国电信隆重发布了首个由央企视频生成大模型。该模型采用了创新的“VAST(Video As Storyboard from Text)二阶段
    的头像 发表于 12-13 15:40 848次阅读