v0.1.7 主要带来 Rockchip MPP+RGA 硬件加速,用于摄像头解码链路的性能提升与 CPU 降载。本文记录在 RK3566 等 Rockchip 设备上的配置方法、验证方式与常见问题排查。

项目地址:https://github.com/huangyajie/xiaomi-miloco

1. 适用场景与硬件前提

  • 适用平台:Rockchip RK 系列(如 RK3566/RK3588)
  • 依赖能力:内核提供 /dev/mpp_service/dev/rga
  • 依赖库:librockchip_mpp.solibrga.so

2. Docker 部署关键配置

需要在 docker-compose 为后端容器挂载 设备节点与库文件,如下所示:

services:
  backend:
    # ...
    devices:
      - /dev/mpp_service:/dev/mpp_service
      - /dev/rga:/dev/rga
    privileged: true
    volumes:
      - /usr/trim/lib/mediasrv/librockchip_mpp.so.1:/usr/lib/aarch64-linux-gnu/librockchip_mpp.so.1:ro
      - /usr/trim/lib/mediasrv/librga.so.2:/usr/lib/aarch64-linux-gnu/librga.so.2:ro

注意事项:

  • devices 必须映射进容器
  • privileged: true 推荐开启(权限不足会导致初始化失败)
  • volumes 的路径按系统实际位置调整

3. 服务端配置开启硬件加速

config/server_config.yaml 中启用:

camera:
  frame_interval: 500
  hw_accel:
    enabled: true
    backend: "rockchip"

说明:

  • enabled 为全局开关,对米家摄像头与 RTSP 摄像头统一生效
  • backend 必须是 "rockchip"

4. 启动验证(日志)

启动后应该看到以下日志(关键两行):

miot.rockchip_hwaccel - INFO - Loaded rockchip hwaccel library: /app/miot_kit/miot/libs/linux/arm64/librockchip_hwaccel.so
miot.decoder - INFO - rockchip hwaccel enabled

若只有 video decoder created 而没有 rockchip hwaccel enabled,表示没有走硬解。

5. 进阶验证:MPP 会话是否创建(优先确认)

除了看日志,还可以直接检查 MPP 是否建立了解码会话:

sudo cat /proc/mpp_service/sessions-summary

示例输出:

session: pid=183129 index=18
 device: fdf80200.rkvdec
 memory: 10 MiB
session: pid=183128 index=19
 device: fdf80200.rkvdec
 memory: 5 MiB

说明:

  • device: fdf80200.rkvdec 表示 RK 硬件解码器正在工作
  • 出现 pidmemory 说明 MPP 已成功分配解码资源
  • 如果没有 rkvdec 会话,通常是权限/设备节点/库挂载问题

6. 负载验证(RGA)

查看 RGA 负载:

sudo cat /sys/kernel/debug/rkrga/load

注意:

  • load 为瞬时值,0% 或 1% 不代表未使用
  • 因为解码链路只在抽帧时触发 RGA,负载常常很低
  • 需要放大效果可降低 frame_interval

7. 实测收益

在 RK3566 上实测 2 路摄像头场景,启用 MPP+RGA 后 CPU 降低约 20%-30% 左右。

8. 常见问题排查

8.1 摄像头没有硬解

  • 检查是否出现 rockchip hwaccel enabled
  • init failed,通常是权限或库路径问题

8.2 RGA 负载始终为 0

  • frame_interval 太大导致触发次数极少
  • 测试时可调小为 50ms 验证
Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐