为满足用户多元的使用场景,同时兼顾 App 体积,自 3.50 版本起,RTC SDK 将逐步拆分为主库 + 插件的形式。其中,主库为必选集成,用于实现 RTC 的基本功能;插件为可选集成,你可以结合实际应用场景和使用方式按需集成,以达到缩减 App 体积的效果。
本文详细介绍各插件功能、应用场景及集成方式。
| 库/插件名称 | 起始版本 | 库/插件功能 | 库/插件简介 | 架构 | App 体积增量(KB) |
|---|---|---|---|---|---|
| VolcEngineRTC.framework | ALL | 主库 | RTC SDK 主库,用于实现基本的音视频通话功能。 | arm64 | 8601 |
effect-sdk.framework | ALL | 视频特效库 | 火山引擎自研智能美化特效 SDK,可以对本地采集的视频添加美颜、滤镜、贴纸等特效。
| 10639 | |
VolcEngineRTCScreenCapturer.xcframework | ALL | 屏幕采集插件 | 适用于有采集屏幕进行共享需求的应用场景。 | 319 | |
bytenn.xcframework | v3.50
| AI 降噪插件 | 火山引擎自研高性能异构推理引擎框架 bytenn,为 AI 业务提供统一的多平台快速部署能力。适用于 AI 降噪、音乐场景检测等应用场景。 | 1110 | |
ByteRTCNICOExtension.xcframework | v3.52 | 音频编解码器插件 | RTC 自研音频编解码器插件。NICO 音频编解码算法较原生 Opus 音频编解码器具有更强的抗弱网能力,并且完全兼容 Opus。适用于对语音通话有低卡顿、低延时强需求的应用场景。
| 323 |
当使用 CocoaPods 在线接入 RTC SDK 时,你可以在 Podfile 文件中使用subspecs 字段指定你需要集成的插件。
| 库/插件名称 | 库/插件功能 | 对应的 subspec 字段 | 是否必选 |
|---|---|---|---|
| VolcEngineRTC.framework | 主库 | Core | 必选 |
| ByteRTCNICOExtension.xcframework | 音频编解码器插件 | ByteRTCNICOExtension | 可选 |
| bytenn.xcframework | AI 降噪插件 | CVByteNN | 可选 |
| VolcEngineRTCScreenCapturer.xcframework | 屏幕采集插件 | ScreenCapture | 可选 |
注意:
视频特效库 effect-sdk.framework 暂不支持在线 CocoaPods 方式引入,如需使用请参考 CV SDK 动态库集成方法集成。
Podfile 文件具体配置参看下方示例:
source 'https://github.com/volcengine/volcengine-specs.git'
示例1:
// 集成主库 + 默认插件(含 ByteRTCNICOExtension、CVByteNN)
target 'your target' do
pod 'VolcEngineRTC', '3.xx.xxx'
end
示例2:
// 只集成主库
target 'your target' do
use_frameworks!
pod 'VolcEngineRTC', '3.xx.xxx', :subspecs => ['Core']
end
示例3:
// 集成屏幕采集插件
target 'ScreenShareExtension' do
use_frameworks!
pod 'VolcEngineRTC', '3.xx.xxx', :subspecs => ['ScreenCapture']
end
示例4:
// 集成主库 + 屏幕采集插件
target 'your target' do
use_frameworks!
pod 'VolcEngineRTC', '3.xx.xxx', :subspecs => ['Core','ScreenCapture']
end
plain下载并解压 iOS SDK 包,将主库和所需要的插件文件拖入主工程,并在工程中配置所选库的 Embed 属性为 Embed & Sign即可。