1. 概述

本指南详细阐述了 metaRTC8 在博通集成(Beken)BK7258 与 BK7259 芯片平台上的 FreeRTOS 系统集成与开发流程。

  • 性能实测:在 BK7258 平台上,实测 P2P 传输 H.264 视频流至浏览器的端到端延迟稳定在 100-150ms 区间。全面优化后,延迟有望进一步降低至 60-120ms
  • 硬件差异:鉴于 BK7259 具备更高的硬件配置,其预期性能表现将优于 BK7258。
  • 编解码支持
    • 视频:H.264
    • 音频:PCMA / PCMU

2. 环境准备与代码获取

开发环境依赖博通集成的官方 SDK 及相关解决方案包。请根据目标芯片下载对应版本的 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,请替换对应目标

烧录与验证

  1. 固件位置:编译成功后,固件位于 projects/doorbell/build/bk7258/doorbell/package/all-app.bin
  2. 烧录工具:推荐使用官方工具 BKFIL (Beken Flash Image Loader)。
  3. 连接方式:通过 UART 串口(推荐使用 CH340 工具板)连接开发板,波特率设置为 2000000。
  4. 操作步骤:选择串口与固件路径,点击“烧录”,完成后断电重启设备。
  5. 日志监控:烧录后连接串口 DL_UART0 (波特率 115200),输入 help 可查看支持的 CLI 命令列表。

4. 推流与 SFU 集成 Demo

本节介绍如何通过命令行启动 WebRTC 推流功能,支持 SRS 与 ZLMediaKit (ZLM) 等主流流媒体服务器。

操作步骤

  1. 连接 Wi-Fi

    bash

    ap_cmd sta <wifi_ssid> <wifi_pwd>
  2. 启动推流 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

提示:请将上述指令中的 <ip><wifi_ssid> 等占位符替换为实际环境参数。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐