RK3568-Linux5.10-Buildroot-ffmpeg视频推流验证-CSDN博客

RK3568 Linux5.10 Buildroot 系统下 ffmpeg 视频推流验证

前言

在前面的文章中,我们测试了 RK3568 在 Ubuntu22 系统下的 ffmpeg 视频推流性能,并验证了硬件加速可将 CPU 占用从 261% 降至 10% 以下。本文将在 Linux 5.10 Buildroot 系统环境下进行相同的测试,对比不同系统版本下的推流表现,为嵌入式项目选型提供参考依据。

Buildroot 是一个高度可定制的嵌入式 Linux 构建工具,能够生成精简、高效的根文件系统。相比 Ubuntu 等通用发行版,Buildroot 生成的系统体积更小、启动更快、资源占用更低,非常适合嵌入式产品开发。

测试环境

配置项规格
硬件平台飞凌 RK3568 开发板
处理器RK3568(4 核 Cortex-A55 @ 2.0GHz)
内核版本Linux 5.10 LTS
文件系统Buildroot(定制精简版)
推流工具ffmpeg
编码方式H.264 软编码(libx264)

一、ffmpeg 启动

在 Linux 5.10 Buildroot 系统下启动 ffmpeg 推流服务,使用与 Ubuntu22 测试相同的参数配置:

ffmpeg -f v4l2 -i /dev/video9 -c:v libx264 -b:v 2M -f flv rtmp://your-server/live/stream

参数说明

  • -f v4l2:使用 V4L2 接口采集视频
  • -i /dev/video9:USB 摄像头设备节点
  • -c:v libx264:使用 H.264 软编码
  • -b:v 2M:码率 2Mbps

推流服务正常启动,ffmpeg 进程运行稳定,无报错信息。

二、拉流结果

使用 VLC/ffplay 等播放器拉流后,观察推流效果:

在这里插入图片描述

测试结果

测试项结果
推流状态成功
视频画面正常,无花屏
音频同步正常
推流延时10s 以上

延时分析

延时问题主要与以下因素相关:

  1. 编码缓冲:libx264 编码器内部缓冲导致帧延迟
  2. 网络传输:RTMP 协议的 TCP 握手和缓冲
  3. 播放器缓冲:播放端为了流畅播放会预缓冲一定时长
  4. 系统调度:Buildroot 系统的实时调度策略

延时与系统版本关系不大,Ubuntu22 系统测试结果同样为 10s+,符合预期。

三、资源占用分析

3.1 未启动推流时的系统状态

在这里插入图片描述

系统空闲状态下的资源占用情况:

  • CPU 占用:约 1-3%(系统后台进程)
  • 内存占用:Buildroot 精简系统,基础内存占用低
  • 系统负载:Load Average 接近 0

Buildroot 系统相比 Ubuntu,去除了大量不必要的后台服务,空闲状态资源占用更低。

3.2 启动推流后的 CPU 消耗情况

启动 ffmpeg 推流后,监控系统资源占用:

关键观察点

指标观察内容预期表现
CPU 占用ffmpeg 进程的 CPU 使用率软编码约 250%+
内存占用物理内存消耗约 100-200MB
系统负载Load Average较高,接近 4 核满载
进程状态是否稳定运行无崩溃、无内存泄漏

软编码性能特征

RK3568 采用 4 核 Cortex-A55 架构,软编码 1080P30 视频时:

  • 单核性能有限,需要多核并行编码
  • CPU 占用 250%+ 是典型特征(接近 3 核满载)
  • 与 Ubuntu22 系统表现一致,符合预期

四、Linux 5.10 Buildroot vs Ubuntu22 对比

4.1 系统特性对比

对比项Linux 5.10 BuildrootUbuntu22说明
内核版本5.10 LTS5.15+5.10 是长期支持版本
文件系统Buildroot 定制ext4 默认Buildroot 更精简
系统体积约 50-100MB约 2GB+Buildroot 体积小 20 倍+
启动时间约 3-5 秒约 15-30 秒Buildroot 启动快 5 倍+
软件包管理无(手动定制)aptUbuntu 更便利
后台服务极少较多Buildroot 资源占用低

4.2 推流性能对比

对比项Linux 5.10 BuildrootUbuntu22差异分析
推流延时10s+10s+一致,与系统无关
CPU 占用(软编)约 250%+约 261%略低,系统开销小
内存占用较低较高Buildroot 无冗余服务
系统稳定性稳定稳定两者表现相当

4.3 硬件加速支持

两种系统均支持 RK MPP 硬件加速,启用 h264_rkmpp 编码器后:

  • CPU 占用均可降至 10% 以下
  • 性能表现一致
  • Buildroot 需要手动编译集成 MPP 库

五、系统选型建议

根据测试结果和应用场景,给出以下选型建议:

5.1 选择 Linux 5.10 Buildroot 的场景

  • 产品化部署:追求最小化系统体积,降低存储成本
  • 快速启动:对开机时间有严格要求(如工业设备)
  • 资源受限:内存或存储空间有限
  • 高度定制:需要精确控制系统组件,去除冗余
  • 长期维护:Linux 5.10 LTS 版本,维护周期长
  • 安全加固:系统组件少,攻击面小

5.2 选择 Ubuntu22 的场景

  • 快速开发:需要丰富的软件包支持,apt 安装便利
  • 团队协作:团队成员熟悉 Ubuntu 环境
  • 调试便利:需要图形界面、开发工具链完善
  • 功能丰富:需要桌面环境、多媒体支持等
  • 原型验证:快速搭建验证环境,降低开发门槛

5.3 推荐方案

阶段推荐系统理由
原型开发Ubuntu22开发效率高,调试便利
功能验证Ubuntu22软件包丰富,问题排查快
性能优化两者均可硬件加速效果一致
产品量产Buildroot体积小、启动快、成本低

六、总结

本文在 Linux 5.10 Buildroot 系统环境下验证了 RK3568 的 ffmpeg 视频推流功能,主要结论如下:

  1. 推流功能正常:延时约 10s,与 Ubuntu22 系统表现一致
  2. 资源占用合理:软编码 CPU 占用约 250%+,符合 RK3568 性能预期
  3. 系统优势明显:Buildroot 系统体积小、启动快、资源占用低
  4. 硬件加速通用:两种系统均支持 MPP 硬件加速,效果一致

实践建议:开发阶段使用 Ubuntu22 提高效率,量产阶段切换到 Buildroot 降低成本。无论选择哪种系统,启用硬件加速都是降低 CPU 占用的关键优化手段。


作者:李江军
日期:2026-04-08
GitHubLJJ931026
公众号:ALONE_WORK

本文为原创文章,转载请注明出处。如有问题欢迎在评论区留言讨论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ALONE_WORK

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值