You need to enable JavaScript to run this app.
实时音视频

实时音视频

复制全文
最佳实践
高质量方案设备端 SDK 移植指南
复制全文
高质量方案设备端 SDK 移植指南

本指南旨在帮助您将高质量方案设备端 SDK移植到新的硬件或操作系统平台上,目标是在您的目标平台上构建出 volc_conv_ai_a 静态库并跑通连接测试。

前置准备

注意

SDK 移植依赖的volc_rtc_engine 为闭源库。目前 SDK 已内置 macOSESP32-S3ESP32-P4 平台的静态库。如果您计划移植到以上平台之外的其他硬件或操作系统,请先提交 工单 联系我们,获取适配您目标架构的静态库文件。

获取 SDK 源码

请通过 Git 克隆仓库并进入指定目录:

# 1. 克隆仓库
git clone https://github.com/volcengine/ConversationalAI-Embedded-Kit-2.0.git

# 2. 进入 SDK 目录
cd ConversationalAI-Embedded-Kit-2.0/volc_conv_ai

理解目录结构

进入 volc_conv_ai 目录后,您将看到如下文件结构:

.
├── cmake/          # 构建脚本目录 (common.cmake, linux.cmake 等)
├── inc/            # 头文件目录
├── osal/           # 系统抽象层(OSAL)
│   ├── inc/        # OSAL 接口定义
│   └── src/        # OSAL 参考实现(包含 Linux 等)
├── sample/         # 示例代码目录 (sample.c)
├── src/            # 源码目录(包含引擎、工具库)
├── third_party/    # 第三方依赖
├── CMakeLists.txt  # 主构建脚本
└── README.md

任务概览

移植工作主要分为两部分:引用现有的基础库,以及实现特定平台的适配代码。

1. 引用基础库(无需修改)

以下库代码已准备就绪,您只需在构建脚本中直接引用即可:

  • RTC 引擎volc_rtc_engine(位于 src/transports/high_quality/third_party/volc_rtc_engine_lite),负责高质量方案音视频传输。

    说明

    确保该目录下包含与您的平台适配的静态库文件,并在构建脚本中引用它。

  • 连接逻辑:连接实现层代码(已在 cmake/common.cmake 中归类),直接使用即可。
  • 通用工具
    • mbedtls:用于加密传输(通常需作为外部依赖引入)。
    • cJSON:用于 JSON 解析(源码位于 src/util/cJSON)。

2. 适配平台代码(重点工作)

您需要针对目标平台完成以下开发工作:

  • 实现系统抽象层(OSAL):根据 osal/inc 中的接口定义,实现线程、互斥锁、内存分配等系统调用。

    osal/src 目录下已提供了 Linux 等平台的参考实现。

  • 配置构建脚本:修改 CMake 脚本以适配目标平台的交叉编译工具链(Toolchain)。

构建步骤

请参考 cmake/linux.cmake 脚本,按照以下步骤构建静态库 volc_conv_ai_a

脚本内包含详细注释,可作为实施参考。

  1. 引入依赖:在构建脚本中逐一引入上述 5 个部分(RTC 引擎、连接逻辑、mbedtls、cJSON、OSAL 实现)。
  2. 配置工具链:修改 CMake 配置,指定目标平台的编译器路径和编译选项。
  3. 编译生成:执行构建命令,生成 volc_conv_ai_a 静态库。

验证移植结果(Sample 测试)

我们提供了 sample/sample.c 用于验证 Transport 层(传输层)是否工作正常。

配置鉴权信息

修改 sample/sample.c 文件中的下列宏定义,填入您的设备鉴权信息:

参考获取开发凭证获取相关信息。

#define CONFIG_VOLC_BOT_ID "xxxx"
#define CONFIG_VOLC_INSTANCE_ID "xxxx"
#define CONFIG_VOLC_PRODUCT_KEY "xxxx"
#define CONFIG_VOLC_PRODUCT_SECRET "xxxx"
#define CONFIG_VOLC_DEVICE_NAME "xxxx"

编译与运行

以 Linux 环境为例:

# 1. 编译
mkdir build && cd build
cmake ..
make

# 2. 运行
./test_sample

对于其他平台,请参考 CMakeLists.txt 中的 test_sample 部分修改构建配置。

预期结果

如果终端输出如下日志,说明网络连接和鉴权成功,移植顺利完成:

Volc Engine connected 
[INF|volc_rtc.c:184] remote user joined xxxxx elapsed 0 ms
Volc Engine event: 0 
 火山引擎测试。 
 ...
最近更新时间:2025.12.30 10:34:39
这个页面对您有帮助吗?
有用
有用
无用
无用