为满足用户多元的使用场景,同时兼顾 App 体积,自 3.50 版本起,RTC SDK 将逐步拆分为 主库 + 插件 的形式。其中,主库为必选集成,用于实现 RTC 的基本功能;插件为可选集成,你可以结合实际应用场景和使用方式按需集成,以达到缩减 App 体积的效果。

本文详细介绍各插件功能、应用场景及集成方式。

iOS
插件详情
库/插件名称
起始版本
库/插件功能
库/插件简介
是否必选
App 体积增量 (KB)
VolcEngineRTC.frameworkALL主库RTC SDK 主库,用于实现基本的音视频通话功能。是8427
effect-sdk.frameworkALL视频特效库火山引擎自研智能美化特效 SDK,可以对本地采集的视频添加美颜、滤镜、贴纸等特效。 集成后方可调用 enableVideoEffect 等接口使用视频特效相关功能。集成指南参看智能美化特效。否10639
VolcEngineRTCScreenCapturer.xcframeworkALL屏幕采集插件适用于有采集屏幕进行共享需求的应用场景。集成后方可调用 startScreenCapture 等接口使用屏幕共享相关功能。否330

bytenn.xcframework

v3.50

AI 引擎插件

火山引擎自研高性能异构推理引擎框架 bytenn,为 AI 业务提供统一的多平台快速部署能力。适用于 AI 降噪、音乐场景检测、视频超分、降噪、HDR、MOS等应用场景。

注意

  • v3.50 中该插件暂不支持在线 CocoaPods 集成,需下载 iOS SDK 包后手动集成。
  • v3.52 起支持通过在线 CocoaPods 集成,具体集成方式参看示例。

否

1108

ByteRTCNICOExtension.xcframework

v3.52

音频编解码器插件

RTC 自研音频编解码器插件。NICO 音频编解码算法较原生 Opus 音频编解码器具有更强的抗弱网能力,并且完全兼容 Opus。适用于对语音通话有低卡顿、低延时强需求的应用场景。

注意

如需使用该功能,请联系技术支持。

否

316

h265enc.xcframework

v3.54

视频编解码器插件

RTC 自研视频编解码器插件,同等画质下拥有更低的码率和更快速度。适用于对视频画质和成本有较高要求的应用场景。

注意

如需使用该功能,请联系技术支持。

否

454

ByteRTCFFmpegAudioExtension.xcframework

v3.54

音频解码器插件

基于 FFmpeg 编译的音频解码器插件,支持 SDK 音频内存播放功能,支持解码 mp3、mp4、aac、m4a、3gp、wav、ogg、ts、wma 格式的音频文件,同时对音频文件播放功能供更好的兼容性。
如果需要使用内存播放功能,或播放音频文件遇到兼容性问题时,可以选择集成此插件。

否

807

ByteRTCVideoDenoiseExtension.xcframework

v3.54

视频降噪插件

基于火山引擎自研视频处理框架 bmf 与高性能异构推理引擎框架 bytenn 的视频降噪算法插件,支持宽高 <2000 的视频降噪。适用于需借助降噪算法提升画质的应用场景。
集成后方可调用 setVideoDenoiser 等接口使用视频降噪相关功能。

注意

使用该插件,需同时引入 bmf_mods_shared.xcframework。

否

356

ByteRTCVideoSharpenExtension.xcframework

v3.54

视频锐化插件

基于火山引擎自研视频处理框架 bmf 与高性能异构推理引擎框架 bytenn 的视频锐化算法插件,支持宽高 <2000 的视频降噪。适用于需借助锐化算法提升画质的应用场景。

注意

  • 如需使用该功能,请联系技术支持。
  • 使用该插件,需同时引入 bmf_mods_shared.xcframework。

否

335

ByteRTCVideoSRExtension.xcframework

v3.54

超分插件

基于火山引擎自研视频处理框架 bmf 与高性能异构推理引擎框架 bytenn 的视频超分辨率缩放算法插件,支持宽高 <1300 的视频超分辨率缩放。适用于需借助超分辨率算法提升画质的应用场景。
集成后方可调用 setRemoteVideoSuperResolution 等接口使用超分相关功能。

注意

  • 如需使用该功能,请联系技术支持。
  • 使用该插件,需同时引入 bmf_mods_shared.xcframework。

否

372

集成方式
CocoaPods 集成

当使用 CocoaPods 在线接入 RTC SDK 时,你可以在 Podfile 文件中使用 subspecs 字段指定你需要集成的插件。

库/插件名称库/插件功能是否必选起始版本对应的 subspecs 字段
VolcEngineRTC.framework主库是ALLCore
VolcEngineRTCScreenCapturer.xcframework屏幕采集插件否ALLScreenCapture
ByteRTCNICOExtension.xcframework音频编解码器插件否v3.52ByteRTCNICOExtension
bytenn.xcframeworkAI 引擎插件否v3.52CVByteNN
h265enc.xcframework视频编解码器插件否v3.54h265enc
ByteRTCVideoDenoiseExtension.xcframework视频降噪插件否v3.54ByteRTCVideoDenoiseExtension
ByteRTCVideoSharpenExtension.xcframework视频锐化插件否v3.54ByteRTCVideoSharpenExtension
ByteRTCVideoSRExtension.xcframework超分插件否v3.54ByteRTCVideoSRExtension
ByteRTCFFmpegAudioExtension.xcframework音频解码器插件否v3.54ByteRTCFFmpegAudioExtension
bmf_mods_shared.xcframeworkByteRTCVideoSharpenExtension.xcframework、ByteRTCVideoSRExtension.xcframework、ByteRTCFFmpegAudioExtension.xcframework 的依赖库否v3.54BMF

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
ruby

注意

视频特效库 effect-sdk.framework 暂不支持在线 CocoaPods 方式引入,如需使用请参考智能美化特效(付费版) iOS 端集成方式。

离线集成

下载并解压 iOS SDK 包,将主库和所需要的插件文件拖入主工程,并在工程中配置所选库的 Embed 属性为 Embed & Sign 即可。

Android
插件详情
.aar 资源文件库/插件名称起始版本库/插件功能
库/插件简介
架构是否必选App 体积增量 (KB)

VolcEngineRTC-Release.aar

libvolcenginertc.so

ALL

主库

RTC SDK 主库,用于实现基本的音视频通话功能。

arm64-v8a

是

7680

armeabi-v7a6656
x869523
x86_649216

libbytertc_nico_extension.so

v3.52

音频编解码器插件

RTC 自研音频编解码器插件。NICO 音频编解码算法较原生 Opus 音频编解码器具有更强的抗弱网能力,并且完全兼容 Opus。适用于对语音通话有低卡顿、低延时强需求的应用场景。

注意

如需使用该功能,请联系技术支持。

arm64-v8a

否

328

armeabi-v7a338
x86320
x86_64320

libbytenn.so

v3.52

AI 引擎插件

火山引擎自研高性能异构推理引擎框架 bytenn,为 AI 业务提供统一的多平台快速部署能力。适用于 AI 降噪、音乐场景检测、视频超分、降噪、HDR、MOS等应用场景。

arm64-v8a

否

860

armeabi-v7a820

libh265enc.so

v3.54

视频编解码器插件

RTC 自研视频编解码器插件,同等画质下拥有更低的码率和更快速度。适用于对视频画质和成本有较高要求的应用场景。

注意

如需使用该功能,请联系技术支持。

arm64-v8a

否

733

armeabi-v7a656
x86933
x86_64933

libbytertc_videosr_extension.so

v3.54

超分插件

基于火山引擎自研视频处理框架 bmf 与高性能异构推理引擎框架 bytenn 的视频超分辨率缩放算法插件,支持宽高 <1300 的视频超分辨率缩放。适用于需借助超分辨率算法提升画质的应用场景。
集成后方可调用 setRemoteVideoSuperResolution 等接口使用超分相关功能。

注意

使用该插件,需同时引入 libbmf_mods.so 和 libbmf_hydra.so。

arm64-v8a

否

349

armeabi-v7a296

libbytertc_videosharpen_extension.so

v3.54

视频锐化插件

基于火山引擎自研视频处理框架 bmf 与高性能异构推理引擎框架 bytenn 的视频锐化算法插件,支持宽高 <2000 的视频降噪。适用于需借助锐化算法提升画质的应用场景。

注意

  • 如需使用该功能,请联系技术支持。
  • 使用该插件,需同时引入 libbmf_mods.so 和 libbmf_hydra.so。

arm64-v8a

否

308

armeabi-v7a262

libbytertc_videodenoise_extension.so

v3.54

视频降噪插件

基于火山引擎自研视频处理框架 bmf 与高性能异构推理引擎框架 bytenn 的视频降噪算法插件,支持宽高 <2000 的视频降噪。适用于需借助降噪算法提升画质的应用场景。
集成后方可调用 setVideoDenoiser 等接口使用视频降噪相关功能。

注意

使用该插件,需同时引入 libbmf_mods.so 和 libbmf_hydra.so。

arm64-v8a

否

333

armeabi-v7a283

libbytertc_ffmpeg_audio_extension.so

v3.54

音频解码器插件

基于 FFmpeg 编译的音频解码器插件,支持 SDK 音频内存播放功能,支持解码mp3、mp4、aac、m4a、3gp、wav、ogg、ts、wma 格式的音频文件,同时对音频文件播放功能供更好的兼容性。
如果需要使用内存播放功能,或播放音频文件遇到兼容性问题时,可以选择集成此插件。

arm64-v8a

否

1331

armeabi-v7a1126
x861331
x86_641434

effectAAR-release_V4.X.XLite.aar

  • libeffect.so
  • libc++_shared.so

ALL

视频特效库

火山引擎自研智能美化特效 SDK,可以对本地采集的视频添加美颜、滤镜、贴纸等特效。 集成后方可调用 enableVideoEffect 等接口使用视频特效相关功能。集成指南参看智能美化特效。

arm64-v8a

否

4843

armeabi-v7a4086
集成方式
Maven 集成

3.54 及以前版本中,功能插件和主库共同使用 VolcEngineRTC-Release.aar 文件发布,你可以在集成后删除不需要的插件。具体操作如下:

  1. 在项目根目录下的 settings.gradle 文件中,如下配置 maven 仓库地址:

    allprojects {
        repositories {
            maven { url "https://artifact.bytedance.com/repository/Volcengine/" }
            google()
        }
    }
    
    java
  2. 在项目根目录下 app/build.gradle 文件中添加implementation 字段引入指定版本:

    dependencies {
        ...
        implementation 'com.volcengine:VolcEngineRTC:3.xx.x.xxxxxx'
        }
    
    java
  3. 集成 VolcEngineRTC-Release.aar 后移除不需要的插件,以 libbytertc_ffmpeg_audio_extension.so 为例:

    android {
    ...
    packagingOptions {
           exclude 'lib/arm64-v8a/libbytertc_ffmpeg_audio_extension.so'
       }
    }
    
    java

    注意

    • 部分插件间有依赖关系,若要删除不需要的插件,请咨询技术支持团队,以免误删插件导致相关功能无法正常使用。
    • 视频特效库 effectAAR-release_V4.X.XLite.aar 暂不支持在线 Maven 方式引入,如需使用请下载并解压 Android SDK 包后,将其手动拖入主工程即可。
离线集成

如需离线集成 SDK 插件,请联系技术支持获取资源。

Windows
新增插件详情
库/插件名称起始版本库/插件功能库/插件简介是否必选

bytertc_nico_extension.dll

v3.52

音频编解码器插件

RTC 自研音频编解码器插件。NICO 音频编解码算法较原生 Opus 音频编解码器具有更强的抗弱网能力,并且完全兼容 Opus。适用于对语音通话有低卡顿、低延时强需求的应用场景。

注意

如需使用该功能,请联系技术支持。

否

bytertc_ffmpeg_audio_extension.dll

v3.54

音频解码器插件

基于 FFmpeg 编译的音频解码器插件,支持 SDK 音频内存播放功能,支持解码mp3、mp4、aac、m4a、3gp、wav、ogg、ts、wma 格式的音频文件,同时对音频文件播放功能供更好的兼容性。
如果需要使用内存播放功能,或播放音频文件遇到兼容性问题时,可以选择集成此插件。

否

macOS
新增插件详情
库/插件名称起始版本库/插件功能库/插件简介是否必选
libbytenn.dylibv3.50AI 引擎插件火山引擎自研高性能异构推理引擎框架 bytenn,为 AI 业务提供统一的多平台快速部署能力。适用于 AI 降噪、音乐场景检测、视频超分、降噪、HDR、MOS等应用场景。是

ByteRTCNICOExtension.framework

v3.52

音频编解码器插件

RTC 自研音频编解码器插件。NICO 音频编解码算法较原生 Opus 音频编解码器具有更强的抗弱网能力,并且完全兼容 Opus。适用于对语音通话有低卡顿、低延时强需求的应用场景。

注意

如需使用该功能,请联系技术支持。

否

ByteRTCFFmpegAudioExtension.framework

v3.54

音频解码器插件

基于 FFmpeg 编译的音频解码器插件,支持 SDK 音频内存播放功能,支持解码mp3、mp4、aac、m4a、3gp、wav、ogg、ts、wma 格式的音频文件,同时对音频文件播放功能供更好的兼容性。
如果需要使用内存播放功能,或播放音频文件遇到兼容性问题时,可以选择集成此插件。

否

Linux
新增插件详情
库/插件名称起始版本库/插件功能库/插件简介是否必选
libbytenn.sov3.52AI 引擎插件火山引擎自研高性能异构推理引擎框架 bytenn,为 AI 业务提供统一的多平台快速部署能力。适用于 AI 降噪、音乐场景检测、视频超分、降噪、HDR、MOS等应用场景。是

libbytertc_nico_extension.so

v3.52

音频编解码器插件

RTC 自研音频编解码器插件。NICO 音频编解码算法较原生 Opus 音频编解码器具有更强的抗弱网能力,并且完全兼容 Opus。适用于对语音通话有低卡顿、低延时强需求的应用场景。

注意

如需使用该功能,请联系技术支持。

否

libbytertc_ffmpeg_audio_extension.so

v3.54

音频解码器插件

基于 FFmpeg 编译的音频解码器插件,支持 SDK 音频内存播放功能,支持解码mp3、mp4、aac、m4a、3gp、wav、ogg、ts、wma 格式的音频文件,同时对音频文件播放功能供更好的兼容性。
如果需要使用内存播放功能,或播放音频文件遇到兼容性问题时,可以选择集成此插件。

否