metaRTC8 on FreeRTOS: 开发实战指南 (BK7258/BK7259)
·
1. 概述
本指南详细阐述了 metaRTC8 在博通集成(Beken)BK7258 与 BK7259 芯片平台上的 FreeRTOS 系统集成与开发流程。
- 性能实测:在 BK7258 平台上,实测 P2P 传输 H.264 视频流至浏览器的端到端延迟稳定在 100-150ms 区间。全面优化后,延迟有望进一步降低至 60-120ms。
- 硬件差异:鉴于 BK7259 具备更高的硬件配置,其预期性能表现将优于 BK7258。
- 编解码支持:
- 视频:H.264
- 音频:PCMA / PCMU
2. 环境准备与代码获取
开发环境依赖博通集成的官方 SDK 及相关解决方案包。请根据目标芯片下载对应版本的 SDK。
官方文档参考:
- 代码下载与基础环境配置:Armino SDK 代码下载
代码拉取指令:
请先创建工作目录并克隆主 SDK 仓库。注意:Windows 环境下请提前配置 Git 换行符策略 (git config --global core.autocrlf false) 以避免编译错误。
bash
# 创建项目目录
mkdir -p ~/armino && cd ~/armino
# 克隆主 SDK (请根据芯片选择对应分支/版本)
# BK7258 推荐版本: 3.1.9
# BK7259 推荐版本: 4.0
git clone https://gitlab.bekencorp.com/armino/bk_avdk_smp.git
# 克隆 metaRTC 解决方案示例
git clone https://gitlab.bekencorp.com/armino/release_sdk_sample/smp/solution/doorbell_metartc.git
目录结构整合:
将下载好的 doorbell_metartc 解决方案目录迁移至 bk_avdk_smp 根目录下,确保工程路径正确。
3. 编译配置与固件烧录
在编译前,请确认关键的系统配置宏定义已生效。
RTOS 模式启用:
请检查文件 yang_config_os.h,确保已定义以下宏以启用 FreeRTOS 模式:
#define Yang_OS_RTOS 1
补丁集成:
编译脚本已预集成 sdk_patch/webrtc.diff 补丁。若因版本差异导致补丁未生效,请手动执行打补丁操作。
编译流程:
进入示例工程目录并执行编译命令:
bash
cd bk_avdk_smp/doorbell_metartc/projects/doorbell
make bk7258 # 若为 BK7259,请替换对应目标
烧录与验证:
- 固件位置:编译成功后,固件位于
projects/doorbell/build/bk7258/doorbell/package/all-app.bin。 - 烧录工具:推荐使用官方工具 BKFIL (Beken Flash Image Loader)。
- 连接方式:通过 UART 串口(推荐使用 CH340 工具板)连接开发板,波特率设置为 2000000。
- 操作步骤:选择串口与固件路径,点击“烧录”,完成后断电重启设备。
- 日志监控:烧录后连接串口
DL_UART0(波特率 115200),输入help可查看支持的 CLI 命令列表。
4. 推流与 SFU 集成 Demo
本节介绍如何通过命令行启动 WebRTC 推流功能,支持 SRS 与 ZLMediaKit (ZLM) 等主流流媒体服务器。
操作步骤:
-
连接 Wi-Fi:
bash
ap_cmd sta <wifi_ssid> <wifi_pwd> -
启动推流 Demo:
语法:ap_cmd yang_demo <whip_url>- SRS 服务器推流示例:
bash
ap_cmd yang_demo http://<srs_ip>:1985/rtc/v1/whip/?app=live&stream=livestream - ZLM 服务器推流示例:
bash
ap_cmd yang_demo http://<zlm_ip>:80/index/api/webrtc?app=live&stream=test&type=push
- SRS 服务器推流示例:
提示:请将上述指令中的 <ip>、<wifi_ssid> 等占位符替换为实际环境参数。
更多推荐


所有评论(0)