为满足用户多元的使用场景,同时兼顾 App 体积,自 3.50 版本起,RTC SDK 将逐步拆分为 主库 + 插件 的形式。其中,主库为必选集成,用于实现 RTC 的基本功能;插件为可选集成,你可以结合实际应用场景和使用方式按需集成,以达到缩减 App 体积的效果。
本文详细介绍各插件功能、应用场景及集成方式。
库/插件名称 | 起始版本 | 库/插件功能 | 库/插件简介 | 是否必选 | App 体积增量 (KB) |
|---|---|---|---|---|---|
| VolcEngineRTC.framework | ALL | 主库 | RTC SDK 主库,用于实现基本的音视频通话功能。 | 是 | 8427 |
| effect-sdk.framework | ALL | 视频特效库 | 火山引擎自研智能美化特效 SDK,可以对本地采集的视频添加美颜、滤镜、贴纸等特效。 集成后方可调用 enableVideoEffect 等接口使用视频特效相关功能。集成指南参看智能美化特效。 | 否 | 10639 |
| VolcEngineRTCScreenCapturer.xcframework | ALL | 屏幕采集插件 | 适用于有采集屏幕进行共享需求的应用场景。集成后方可调用 startScreenCapture 等接口使用屏幕共享相关功能。 | 否 | 330 |
bytenn.xcframework | v3.50 | AI 引擎插件 | 火山引擎自研高性能异构推理引擎框架 bytenn,为 AI 业务提供统一的多平台快速部署能力。适用于 AI 降噪、音乐场景检测、视频超分、降噪、HDR、MOS等应用场景。 注意
| 否 | 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 的视频降噪。适用于需借助降噪算法提升画质的应用场景。 注意 使用该插件,需同时引入 | 否 | 356 |
ByteRTCVideoSharpenExtension.xcframework | v3.54 | 视频锐化插件 | 基于火山引擎自研视频处理框架 bmf 与高性能异构推理引擎框架 bytenn 的视频锐化算法插件,支持宽高 <2000 的视频降噪。适用于需借助锐化算法提升画质的应用场景。 注意
| 否 | 335 |
ByteRTCVideoSRExtension.xcframework | v3.54 | 超分插件 | 基于火山引擎自研视频处理框架 bmf 与高性能异构推理引擎框架 bytenn 的视频超分辨率缩放算法插件,支持宽高 <1300 的视频超分辨率缩放。适用于需借助超分辨率算法提升画质的应用场景。 注意
| 否 | 372 |
当使用 CocoaPods 在线接入 RTC SDK 时,你可以在 Podfile 文件中使用 subspecs 字段指定你需要集成的插件。
| 库/插件名称 | 库/插件功能 | 是否必选 | 起始版本 | 对应的 subspecs 字段 |
|---|---|---|---|---|
| VolcEngineRTC.framework | 主库 | 是 | ALL | Core |
| VolcEngineRTCScreenCapturer.xcframework | 屏幕采集插件 | 否 | ALL | ScreenCapture |
| ByteRTCNICOExtension.xcframework | 音频编解码器插件 | 否 | v3.52 | ByteRTCNICOExtension |
| bytenn.xcframework | AI 引擎插件 | 否 | v3.52 | CVByteNN |
| h265enc.xcframework | 视频编解码器插件 | 否 | v3.54 | h265enc |
| ByteRTCVideoDenoiseExtension.xcframework | 视频降噪插件 | 否 | v3.54 | ByteRTCVideoDenoiseExtension |
| ByteRTCVideoSharpenExtension.xcframework | 视频锐化插件 | 否 | v3.54 | ByteRTCVideoSharpenExtension |
| ByteRTCVideoSRExtension.xcframework | 超分插件 | 否 | v3.54 | ByteRTCVideoSRExtension |
| ByteRTCFFmpegAudioExtension.xcframework | 音频解码器插件 | 否 | v3.54 | ByteRTCFFmpegAudioExtension |
| bmf_mods_shared.xcframework | ByteRTCVideoSharpenExtension.xcframework、ByteRTCVideoSRExtension.xcframework、ByteRTCFFmpegAudioExtension.xcframework 的依赖库 | 否 | v3.54 | BMF |
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 即可。
| .aar 资源文件 | 库/插件名称 | 起始版本 | 库/插件功能 | 库/插件简介 | 架构 | 是否必选 | App 体积增量 (KB) |
|---|---|---|---|---|---|---|---|
VolcEngineRTC-Release.aar | libvolcenginertc.so | ALL | 主库 | RTC SDK 主库,用于实现基本的音视频通话功能。 | arm64-v8a | 是 | 7680 |
| armeabi-v7a | 6656 | ||||||
| x86 | 9523 | ||||||
| x86_64 | 9216 | ||||||
libbytertc_nico_extension.so | v3.52 | 音频编解码器插件 | RTC 自研音频编解码器插件。NICO 音频编解码算法较原生 Opus 音频编解码器具有更强的抗弱网能力,并且完全兼容 Opus。适用于对语音通话有低卡顿、低延时强需求的应用场景。 注意 如需使用该功能,请联系技术支持。 | arm64-v8a | 否 | 328 | |
| armeabi-v7a | 338 | ||||||
| x86 | 320 | ||||||
| x86_64 | 320 | ||||||
libbytenn.so | v3.52 | AI 引擎插件 | 火山引擎自研高性能异构推理引擎框架 bytenn,为 AI 业务提供统一的多平台快速部署能力。适用于 AI 降噪、音乐场景检测、视频超分、降噪、HDR、MOS等应用场景。 | arm64-v8a | 否 | 860 | |
| armeabi-v7a | 820 | ||||||
libh265enc.so | v3.54 | 视频编解码器插件 | RTC 自研视频编解码器插件,同等画质下拥有更低的码率和更快速度。适用于对视频画质和成本有较高要求的应用场景。 注意 如需使用该功能,请联系技术支持。 | arm64-v8a | 否 | 733 | |
| armeabi-v7a | 656 | ||||||
| x86 | 933 | ||||||
| x86_64 | 933 | ||||||
libbytertc_videosr_extension.so | v3.54 | 超分插件 | 基于火山引擎自研视频处理框架 bmf 与高性能异构推理引擎框架 bytenn 的视频超分辨率缩放算法插件,支持宽高 <1300 的视频超分辨率缩放。适用于需借助超分辨率算法提升画质的应用场景。 注意 使用该插件,需同时引入 | arm64-v8a | 否 | 349 | |
| armeabi-v7a | 296 | ||||||
libbytertc_videosharpen_extension.so | v3.54 | 视频锐化插件 | 基于火山引擎自研视频处理框架 bmf 与高性能异构推理引擎框架 bytenn 的视频锐化算法插件,支持宽高 <2000 的视频降噪。适用于需借助锐化算法提升画质的应用场景。 注意
| arm64-v8a | 否 | 308 | |
| armeabi-v7a | 262 | ||||||
libbytertc_videodenoise_extension.so | v3.54 | 视频降噪插件 | 基于火山引擎自研视频处理框架 bmf 与高性能异构推理引擎框架 bytenn 的视频降噪算法插件,支持宽高 <2000 的视频降噪。适用于需借助降噪算法提升画质的应用场景。 注意 使用该插件,需同时引入 | arm64-v8a | 否 | 333 | |
| armeabi-v7a | 283 | ||||||
libbytertc_ffmpeg_audio_extension.so | v3.54 | 音频解码器插件 | 基于 FFmpeg 编译的音频解码器插件,支持 SDK 音频内存播放功能,支持解码mp3、mp4、aac、m4a、3gp、wav、ogg、ts、wma 格式的音频文件,同时对音频文件播放功能供更好的兼容性。 | arm64-v8a | 否 | 1331 | |
| armeabi-v7a | 1126 | ||||||
| x86 | 1331 | ||||||
| x86_64 | 1434 | ||||||
effectAAR-release_V4.X.XLite.aar |
| ALL | 视频特效库 | 火山引擎自研智能美化特效 SDK,可以对本地采集的视频添加美颜、滤镜、贴纸等特效。 集成后方可调用 enableVideoEffect 等接口使用视频特效相关功能。集成指南参看智能美化特效。 | arm64-v8a | 否 | 4843 |
| armeabi-v7a | 4086 |
3.54 及以前版本中,功能插件和主库共同使用 VolcEngineRTC-Release.aar 文件发布,你可以在集成后删除不需要的插件。具体操作如下:
在项目根目录下的 settings.gradle 文件中,如下配置 maven 仓库地址:
allprojects {
repositories {
maven { url "https://artifact.bytedance.com/repository/Volcengine/" }
google()
}
}
java在项目根目录下 app/build.gradle 文件中添加implementation 字段引入指定版本:
dependencies {
...
implementation 'com.volcengine:VolcEngineRTC:3.xx.x.xxxxxx'
}
java集成 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 插件,请联系技术支持获取资源。
| 库/插件名称 | 起始版本 | 库/插件功能 | 库/插件简介 | 是否必选 |
|---|---|---|---|---|
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 格式的音频文件,同时对音频文件播放功能供更好的兼容性。 | 否 |
| 库/插件名称 | 起始版本 | 库/插件功能 | 库/插件简介 | 是否必选 |
|---|---|---|---|---|
| libbytenn.dylib | v3.50 | AI 引擎插件 | 火山引擎自研高性能异构推理引擎框架 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 格式的音频文件,同时对音频文件播放功能供更好的兼容性。 | 否 |
| 库/插件名称 | 起始版本 | 库/插件功能 | 库/插件简介 | 是否必选 |
|---|---|---|---|---|
| libbytenn.so | v3.52 | AI 引擎插件 | 火山引擎自研高性能异构推理引擎框架 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 格式的音频文件,同时对音频文件播放功能供更好的兼容性。 | 否 |