RK3568-ffmpeg视频推流验证-CSDN博客
·
RK3568 ffmpeg 视频推流验证:软编码性能分析与优化建议
前言
在嵌入式视频监控、直播推流等应用场景中,RK3568 作为一款高性能 ARM 处理器,其视频处理能力备受关注。本文通过实际测试,验证 RK3568 在 Ubuntu22 系统下使用 ffmpeg 进行视频推流的性能表现,重点分析 CPU 和内存占用情况,为后续优化提供参考依据。
测试环境
- 硬件平台:飞凌 RK3568 开发板
- 处理器:RK3568(4 核 Cortex-A55)
- 操作系统:Ubuntu22
- 推流工具:ffmpeg
- 编码方式:H.264 软编码
一、ffmpeg 启动
首先,我们使用 ffmpeg 进行视频推流测试。启动命令如下:

从截图可以看到 ffmpeg 推流进程已成功启动,正在进行视频编码和推流操作。
二、拉流结果
使用播放器拉流后,观察推流效果:

测试结果:
- 推流成功,视频画面正常
- 延时 10s 以上,存在明显的延迟问题
延时较大是软编码推流的典型特征之一,后续需要通过硬件编码优化来解决。
三、资源占用
通过 top 命令监控系统资源占用情况:

从截图可以直观看到,ffmpeg 进程占用了大量系统资源。下面我们详细分析 CPU 和内存的占用情况。
四、RK3568 ffmpeg 资源占用分析
4.1 CPU 占用(最关键)
CPU 占用是本次测试的核心关注点,数据如下:
总 CPU 负载:
- 4 核满载,总占用:
65.6% + 62.2% + 85.3% + 70.3% ≈ 283% - 4 核满负载是 400%,当前已占用约 70% 的总算力
ffmpeg 进程 CPU 占用:
- 主进程 PID 2202:
261%(几乎占满 3 核) - 子线程合计:
58.0% + 47.0% + 39.3% + 35.4% + 29.0% + 24.5% + 18.7% ≈ 251.9%
结论:纯软编码(h264),CPU 跑满,严重吃满算力
关键发现:
- RK3568 搭载 4 核 Cortex-A55,软编 1080P30 推流时,CPU 占用 250%+ 是典型特征
- 如果使用硬件编码(h264_rkmpp),正常占用应 < 10%,当前软编码占用是硬编的 30 倍以上
4.2 内存占用
内存占用相对较低,软编码对内存的需求不大,主要瓶颈在于 CPU 算力。
五、总结与优化建议
5.1 测试结论
| 指标 | 测试结果 | 评价 |
|---|---|---|
| 推流稳定性 | 正常 | 可用 |
| 延时 | 10s+ | 较大,需优化 |
| CPU 占用 | 250%+ | 过高,吃满算力 |
| 内存占用 | 较低 | 正常 |
5.2 优化建议
- 启用硬件编码:使用 h264_rkmpp 硬件编码器替代软编码,CPU 占用可降至 10% 以下
- 降低分辨率/帧率:如果必须使用软编码,可适当降低视频参数减轻 CPU 负担
- 优化编码参数:调整 preset、profile 等参数,在质量和性能之间取得平衡
5.3 后续计划
下一阶段将测试 ffmpeg 编译 RK3568 版本(mmp 硬件加速),验证硬件编码的性能表现,届时 CPU 占用有望大幅降低。
作者:李江军
日期:2026-04-07
GitHub:LJJ931026
公众号:ALONE_WORK
本文为原创文章,转载请注明出处。如有问题欢迎在评论区留言讨论。
更多推荐
所有评论(0)