为满足用户多元的使用场景,同时兼顾 App 体积,自 3.50 版本起,RTC SDK 将逐步拆分为 主库 + 插件 的形式。其中,主库为必选集成,用于实现 RTC 的基本功能;插件为可选集成,你可以结合实际应用场景和使用方式按需集成,以达到缩减 App 体积的效果。
本文详细介绍各插件功能、应用场景及集成方式,其中的数据信息基于 3.60 版本。
| 库/插件名称 | 起始版本 | 库/插件功能 | 库/插件简介 | 架构 | 是否必选 | App 压缩后体积增量 (KB) |
|---|---|---|---|---|---|---|
| VolcEngineRTC-lite.aar + libvolcenginertc.so | ALL | 主库 | RTC SDK 主库,用于实现基本的音视频通话功能。 | arm64-v8a | 是 | 6962.22 |
| armeabi-v7a | 5990.3 | |||||
| x86 | 8684.49 | |||||
| x86_64 | 8370.51 | |||||
libbytertc_nico_extension.so | v3.52 | 音频编解码器插件 | RTC 自研音频编解码器插件。NICO 音频编解码算法较原生 Opus 音频编解码器具有更强的抗弱网能力,并且完全兼容 Opus。适用于对语音通话有低卡顿、低延时强需求的应用场景。 | arm64-v8a | 否 | 251.41 |
| armeabi-v7a | 272.65 | |||||
| x86 | 226.27 | |||||
| x86_64 | 226.29 | |||||
| libbytenn.so | v3.52 | AI 引擎插件 | 火山引擎自研高性能异构推理引擎框架 bytenn,为 AI 业务提供统一的多平台快速部署能力。适用于 AI 降噪、音乐场景检测、视频超分、降噪、HDR、MOS 等应用场景。视频超分、锐化、降噪插件的依赖库。 | arm64-v8a | 否 | 1135.99 |
| armeabi-v7a | 1021.12 | |||||
| libh265enc.so | v3.54 | 视频编解码器插件 | RTC 自研视频编解码器插件,同等画质下拥有更低的码率和更快速度。适用于对视频画质和成本有较高要求的应用场景。 注意:如需使用该功能,请联系技术支持。 | arm64-v8a | 否 | 538.47 |
| armeabi-v7a | 499.96 | |||||
| x86 | 735.4 | |||||
| x86_64 | 735.42 | |||||
libbytertc_videosr_extension.so | v3.54 | 视频超分插件 | 基于火山引擎自研视频处理框架 BMF 与高性能异构推理引擎框架 bytenn 的视频超分辨率缩放算法插件,支持宽高 <1300 的视频超分辨率缩放。适用于需借助超分辨率算法提升画质的应用场景。 | arm64-v8a | 否 | 214.28 |
| armeabi-v7a | 181.81 | |||||
| libbytertc_videosharpen_extension.so | v3.54 | 视频锐化插件 | 基于火山引擎自研视频处理框架 BMF 与高性能异构推理引擎框架 bytenn 的视频锐化算法插件,支持宽高 <2000 的视频降噪。适用于需借助锐化算法提升画质的应用场景。 注意:如需使用该功能,请联系技术支持。使用该插件,需同时引入 libbmf_mods.so、libbmf_hydra.so、libbytenn.so。 | arm64-v8a | 否 | 167.17 |
| armeabi-v7a | 137.08 | |||||
libbytertc_videodenoise_extension.so | v3.54 | 视频降噪插件 | 基于火山引擎自研视频处理框架 BMF 与高性能异构推理引擎框架 bytenn 的视频降噪算法插件,支持宽高 <2000 的视频降噪。适用于需借助降噪算法提升画质的应用场景。 | arm64-v8a | 否 | 200.14 |
| armeabi-v7a | 168.94 | |||||
| libbmf_hydra.so | v3.54 | 视频处理框架 | 火山引擎自研视频处理框架 BMF,视频超分、锐化、降噪插件的依赖库。 | arm64-v8a | 否 | 693.02 |
| armeabi-v7a | 633.41 | |||||
| x86 | 64.29 | |||||
| x86_64 | 62.8 | |||||
| libbmf_mods.so | v3.54 | 视频处理框架 | 火山引擎自研视频处理框架 BMF,视频超分、锐化、降噪插件的依赖库。 | arm64-v8a | 否 | 58.38 |
| armeabi-v7a | 53.27 | |||||
| x86 | 64.29 | |||||
| x86_64 | 62.8 | |||||
libbytertc_ffmpeg_audio_extension.so | v3.54 | 音频解码器插件 | 基于 FFmpeg 编译的音频解码器插件,支持 SDK 音频内存播放功能,支持解码 mp3、mp4、aac、m4a、3gp、wav、ogg、ts、wma 格式的音频文件,同时对音频文件播放功能供更好的兼容性。 | arm64-v8a | 否 | 1778.7 |
| armeabi-v7a | 1622.6 | |||||
| x86 | 1813.7 | |||||
| x86_64 | 1916.1 | |||||
libbdaudioeffect.so | v3.56 | 音频技术插件 | 音频技术(Speech, Audio & Music Intelligence,简称 SAMI),主要致力于语音合成、音频理解与处理、音乐理解与编辑、音乐生成等技术的研究和应用。详细信息参考火山引擎音频技术产品简介。 | arm64-v8a | 否 | 995.43 |
| armeabi-v7a | 811.18 | |||||
| x86 | 967.97 | |||||
| x86_64 | 981.02 | |||||
libbytertc_vp8codec_extension.so | v3.57 | 视频编解码插件 | 基于 libvpx 的用于 VP8 编解码功能的插件,集成该插件后可使用 VP8 软件编解码功能。 | arm64-v8a | 否 | 522.27 |
| armeabi-v7a | 329.35 | |||||
| x86 | 522.27 | |||||
| x86_64 | 486.77 | |||||
libbytertc_fdk-aac_extension.so | v3.57 | 音频编解码插件 | 音频 FDK AAC 编解码器插件,集成该插件后可使用 FDK AAC 软件编解码功能。 | arm64-v8a | 否 | 333.57 |
| armeabi-v7a | 299.39 | |||||
| x86 | 338.01 | |||||
| x86_64 | 338.02 | |||||
| libapmlitea.so | v3.57 | 稳定性监控插件 | 稳定性监控,用于监控和分析 ANR、崩溃、Watchdog 等稳定性问题。需要监控和分析稳定性问题时,可集成此插件。 注意:如需使用该功能,请联系技术支持。 | arm64-v8a | 否 | 43.09 |
| armeabi-v7a | 36.82 | |||||
| x86 | 42.66 | |||||
| x86_64 | 43.81 | |||||
| libapmliteb.so | v3.57 | 稳定性监控插件 | 稳定性监控,用于监控和分析 ANR、崩溃、Watchdog 等稳定性问题。需要监控和分析稳定性问题时,可集成此插件。 注意:如需使用该功能,请联系技术支持。 | arm64-v8a | 否 | 53.8 |
| armeabi-v7a | 47.21 | |||||
| x86 | 55.84 | |||||
| x86_64 | 55.17 | |||||
| libRTCFFmpeg.so | ALL | 视频/图片解码 | FFmpeg 是一个开源的多媒体处理库,用于处理音频、视频和其他多媒体数据。libRTCFFmpeg.so 基于开源 FFmpeg 源码进行了一些修改,如功能裁剪等。 | arm64-v8a | 是 | 707 |
| armeabi-v7a | 654.31 | |||||
| x86 | 704.79 | |||||
| x86_64 | 759.37 | |||||
| effectAAR-release_V4.3.3Lite.aar | ALL | 视频特效库 | 火山引擎自研智能美化特效 SDK,可以对本地采集的视频添加美颜、滤镜、贴纸等特效。 集成后方可调用 enableVideoEffect 等接口使用视频特效相关功能。集成指南参看智能美化特效。 | arm64-v8a | 否 | 7803.4 |
| armeabi-v7a | 6912.1 |
RTC SDK 功能插件和主库共同使用 VolcEngineRTC-Release.aar 文件发布到 Maven,你可以在集成后删除不需要的插件。具体操作如下:
settings.gradle 文件配置 Maven 仓库地址。dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { ... maven { url 'https://artifact.bytedance.com/repository/Volcengine/' } }
说明:如果你的 Android Gradle Plugin 版本低于 v7.1.0,则应在项目根目录的 build.gradle 文件配置 Maven 仓库地址。
allprojects { repositories { ... maven { url 'https://artifact.bytedance.com/repository/Volcengine/' } } }
build.gradle 文件中添加 RTC SDK 依赖。说明:你需要将
'3.x.y.z'替换为具体的版本号,最新版本号请参看下载 SDK。
dependencies { ... implementation 'com.volcengine:VolcEngineRTC:3.x.y.z' // 填写需要接入的 RTC SDK 版本号 }
libbytertc_ffmpeg_audio_extension.so 为例:android { ... packagingOptions { exclude 'lib/arm64-v8a/libbytertc_ffmpeg_audio_extension.so' } }
注意
部分插件间有依赖关系,若要删除不需要的插件,请咨询技术支持团队,以免误删插件导致相关功能无法正常使用。
视频特效库 effectAAR-release_V4.X.XLite.aar 暂不支持在线 Maven 方式引入,如需使用请下载并解压 Android SDK 包后,将其手动拖入主工程。集成指南参看智能美化特效。
自 3.57 版本起,手动集成 SDK 时,你可以将非必选且无需使用的插件文件直接删除。 此时,可忽略找不到 .so 文件的报错,如 dlopen failed: library "libbytertc_videosr_extersion.so" not found。
自 3.57 版本起,RTC SDK 支持动态加载除主库 libvolcenginertc.so 外的 .so 文件,3.58 及之后版本 libvolcenginertc.so 也支持动态加载。 SDK 在 EngineConfig 类中提供 nativeLoadPath 属性,支持在 App 运行时从指定的私有目录动态加载所需的 .so 文件,从而减小 App 的安装包体积。参考如下步骤实现该功能:
下载并解压火山引擎 RTC SDK文件。
在 Android Studio 左上角将工程视图切换为 Project 模式,将解压后的 VolcEngineRTC-lite.aar、effectAAR-release_V4.4.3Lite.aar 放在 app/libs 目录下。
将所有架构的 .so 文件上传到你的服务器,并确保 App 可以通过网络下载到目标架构的 .so 文件。
当 App 运行时,检查是否存在目标架构的 .so 文件。如果不存在,则通过网络下载相应架构的 .so 文件,并保存至 App 的私有目录。
调用 RTCVideo::createRTCEngine,并将 config.nativeLoadPath 设置为保存 .so 文件的 App 私有目录。SDK 根据指定路径自动加载 .so 文件。
| 库/插件名称 | 起始版本 | 库/插件功能 | 库/插件简介 | 是否必选 | App 体积增量 (KB) |
|---|---|---|---|---|---|
| VolcEngineRTC.xcframework | ALL | 主库 | RTC SDK 主库,用于实现基本的音视频通话功能。 | 是 | 7365.68 |
| RealXBase.xcframework | v3.57 | 主库 | 是 | 93.08 | |
| effect-sdk.framework | ALL | 视频特效库 | 火山引擎自研智能美化特效 SDK,可以对本地采集的视频添加美颜、滤镜、贴纸等特效。 集成后方可调用 enableVideoEffect 等接口使用视频特效相关功能。集成指南参看智能美化特效。 | 否 | 9990.69 |
| VolcEngineRTCScreenCapturer.xcframework | ALL | 屏幕采集插件 | 适用于有采集屏幕进行共享需求的应用场景。集成后方可调用 startScreenCapture 等接口使用屏幕共享相关功能。参看 iOS 端屏幕共享。 | 否 | 183.12 |
| bytenn.xcframework | v3.50 | AI 引擎插件 | 火山引擎自研高性能异构推理引擎框架 bytenn,为 AI 业务提供统一的多平台快速部署能力。适用于 AI 降噪、音乐场景检测、视频超分、降噪、HDR、MOS 等应用场景。视频超分、锐化、降噪插件的依赖库。 注意:v3.50 中该插件暂不支持在线 CocoaPods 集成,需下载 iOS SDK 包后手动集成。v3.52 起支持通过在线 CocoaPods 集成,具体集成方式参看示例。 | 否 | 1283.36 |
| ByteRTCNICOExtension.xcframework | v3.52 | 音频编解码器插件 | RTC 自研音频编解码器插件。NICO 音频编解码算法较原生 Opus 音频编解码器具有更强的抗弱网能力,并且完全兼容 Opus。适用于对语音通话有低卡顿、低延时强需求的应用场景。 注意:如需使用该功能,请联系技术支持。 | 否 | 340.78 |
| h265enc.xcframework | v3.54 | 视频编解码器插件 | RTC 自研视频编解码器插件,同等画质下拥有更低的码率和更快速度。适用于对视频画质和成本有较高要求的应用场景。 注意:如需使用该功能,请联系技术支持。 | 否 | 456.67 |
ByteRTCFFmpegAudioExtension.xcframework | v3.54 | 音频解码器插件 | 基于 FFmpeg 编译的音频解码器插件,支持 SDK 音频内存播放功能,支持解码 mp3、mp4、aac、m4a、3gp、wav、ogg、ts、wma 格式的音频文件,同时对音频文件播放功能供更好的兼容性。 | 否 | 1641.44 |
ByteRTCVideoDenoiseExtension.xcframework | v3.54 | 视频降噪插件 | 基于火山引擎自研视频处理框架 BMF 与高性能异构推理引擎框架 bytenn 的视频降噪算法插件,支持宽高 <2000 的视频降噪。适用于需借助降噪算法提升画质的应用场景。 | 否 | 132.9 |
| ByteRTCVideoSharpenExtension.xcframework | v3.54 | 视频锐化插件 | 基于火山引擎自研视频处理框架 BMF 与高性能异构推理引擎框架 bytenn 的视频锐化算法插件,支持宽高 <2000 的视频降噪。适用于需借助锐化算法提升画质的应用场景。 注意:如需使用该功能,请联系技术支持。使用该插件,需同时引入 bmf_mods_shared.xcframework、bytenn.xcframework。 | 否 | 113.95 |
ByteRTCVideoSRExtension.xcframework | v3.54 | 超分插件 | 基于火山引擎自研视频处理框架 BMF 与高性能异构推理引擎框架 bytenn 的视频超分辨率缩放算法插件,支持宽高 <1300 的视频超分辨率缩放。适用于需借助超分辨率算法提升画质的应用场景。 | 否 | 147.45 |
| bmf_mods_shared.xcframework | v3.54 | 视频处理框架 | 火山引擎自研视频处理框架 BMF,视频超分、锐化、降噪插件的依赖库。 | 否 | 712.76 |
| ByteRTCVp8CodecExtension.xcframework | v3.57 | 视频编解码插件 | 基于 libvpx 的用于 VP8 编解码功能的插件,集成该插件后可使用 VP8 软件编解码功能。如果你对 Web 兼容性要求较高,可以选择集成此插件。 注意:如需使用该功能,请联系技术支持。 | 否 | 263.73 |
bdaudioeffect.framework | v3.56 | 音频技术插件 | 音频技术(Speech, Audio & Music Intelligence,简称 SAMI),主要致力于语音合成、音频理解与处理、音乐理解与编辑、音乐生成等技术的研究和应用。详细信息参考火山引擎音频技术产品简介。 | 否 | 901.95 |
| RTCFFmpeg.xcframework | ALL | 视频/图片解码插件 | FFmpeg 是一个开源的多媒体处理库,用于处理音频、视频和其他多媒体数据。libRTCFFmpeg.so 基于开源 FFmpeg 源码进行了一些修改,如功能裁剪等。 | 是 | 586.63 |
ByteRTCFDK-AACExtension.xcframework | v3.57 | 音频编解码插件 | 音频 FDK AAC 编解码器插件,集成该插件后可使用 FDK AAC 软件编解码功能。 | 否 | 324.91 |
当使用 CocoaPods 在线接入 RTC SDK 时,你可以在 Podfile 文件中使用 subspecs 字段指定你需要集成的插件。
| 库/插件名称 | 是否必选 | 起始版本 | 对应的 subspecs 字段 |
|---|---|---|---|
| VolcEngineRTC.xcframework | 是 | ALL | Core |
| RealXBase.xcframework | 是 | v3.57 | RealXBase |
| RTCFFmpeg.xcframework | 是 | ALL | RTCFFmpeg |
| VolcEngineRTCScreenCapturer.xcframework | 否 | ALL | ScreenCapture |
| ByteRTCNICOExtension.xcframework | 否 | v3.52 | ByteRTCNICOExtension |
| bytenn.xcframework | 否 | 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 | 否 | v3.54 | BMF |
| ByteRTCVp8CodecExtension.xcframework | 否 | v3.57 | ByteRTCVp8CodecExtension |
| ByteRTCFDK-AACExtension.xcframework | 否 | v3.57 | ByteRTCFDK-AACExtension |
注意
effect-sdk.framework 不支持以在线 CocoaPods 方式引入,如需使用请参考智能美化特效(付费版) iOS 端集成方式。bdaudioeffect.framework:
bdaudioeffect.framework 拖入主工程,并在工程中配置其 Embed 属性为 Embed & Sign。bdaudioeffect.framework 是一个包含 x86_64、armv7、arm64 多种架构的 fat framework。如果你的应用仅支持特定架构,可以参考以下命令对库进行裁剪:# 1. 备份原始二进制文件(重要!) cp bdaudioeffect.framework/bdaudioeffect bdaudioeffect.framework/bdaudioeffect_original # 2. 裁剪出需要的架构并覆盖原文件 # 提取 arm64 架构 lipo -thin arm64 -output bdaudioeffect_arm64 bdaudioeffect.framework/bdaudioeffect_original # 提取 x86_64 架构 # lipo -thin x86_64 -output bdaudioeffect_x86_64 bdaudioeffect.framework/bdaudioeffect_original # 合并 arm64 和 x86_64 # lipo -create -output bdaudioeffect_combined bdaudioeffect_arm64 bdaudioeffect_x86_64
Podfile 文件具体配置参看下方示例:
source 'https://github.com/volcengine/volcengine-specs.git' # 示例 1: # 集成主库 + 默认插件(含 'Core', 'RealXBase', 'CVByteNN', 'BMF', 'ByteRTCVideoDenoiseExtension', 'ByteRTCVideoSharpenExtension', 'ByteRTCVideoSRExtension') target 'your target' do pod 'VolcEngineRTC', '3.x.y.z' end # 示例 2: # 只集成主库 target 'your target' do use_frameworks! pod 'VolcEngineRTC', '3.x.y.z', :subspecs => ['Core', 'RealXBase'] end # 示例 3: # 集成主库 + 屏幕采集插件 target 'ScreenShareExtension' do use_frameworks! pod 'VolcEngineRTC', '3.x.y.z', :subspecs => ['Core', 'RealXBase', 'ScreenCapture'] end
下载并解压 iOS SDK 包,将主库和所需要的插件文件拖入主工程,并在工程中配置所选库的 Embed 属性为 Embed & Sign
| 库/插件名称 | 起始版本 | 是否必选 | 库/插件功能 | 库/插件简介 |
|---|---|---|---|---|
| VolcEngineRTC.dll | ALL | 是 | 主库 | RTC SDK 主库,用于实现基本的音视频通话功能。 |
| libEGL.dll | ALL | 是 | 视频渲染 | libEGL.dll 是一个动态链接库文件,它是 OpenGL ES 接口规范中的一个重要组件,用于实现跨平台的图形处理。它包含了利用 EGL(Embedded System Graphics Library)创建和管理图形上下文、表面等资源的函数库,能够实现系统与图形硬件的互通,是 OpenGL ES 的重要组成部分。 |
| libGLESv2.dll | ALL | 是 | 视频渲染 | libGLESv2.dll 是一个动态链接库文件,它是 OpenGL ES 2.0 图形库的一部分。该文件包含了用于渲染 2D 和 3D 图形的函数,是许多使用 OpenGL ES 2.0 进行图形开发的应用程序所必需的。 |
| openh264-4.dll | ALL | 是 | 视频 264 软编码 | OpenH264-4.dll 是一个动态链接库文件,它的作用是提供视频编解码功能。该文件是OpenH264开源视频编码器的一部分,用于实现对视频内容的编码和解码。 |
| pthreadVC2.dll | ALL | 是 | 线程库 | pthreadVC2.dll 是一个用于 Windows 操作系统的动态链接库文件,它提供了 POSIX 线程库的实现,通常用于 Windows 平台上的 C/C++ 程序开发。它提供了创建、管理和同步线程的函数和工具,使得程序可以同时执行多个任务,更高效地利用系统资源。 |
| RTCFFmpeg.dll | ALL | 是 | 视频/图片解码 | FFmpeg 是一个开源的多媒体处理库,用于处理音频、视频和其他多媒体数据。RTCFFmpeg.dll 基于开源 FFmpeg 源码进行了一些修改,如功能裁剪等。 |
| effect.dll | ALL | 否 | 视频特效库 | 火山引擎自研智能美化特效 SDK,可以对本地采集的视频添加美颜、滤镜、贴纸等特效。 集成后方可调用 enableVideoEffect 等接口使用视频特效相关功能。 |
| 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 格式的音频文件,同时对音频文件播放功能供更好的兼容性。 |
bdaudioeffect-mt.dll | v3.56 | 否 | 音频技术插件 | 音频技术(Speech, Audio & Music Intelligence,简称 SAMI),主要致力于语音合成、音频理解与处理、音乐理解与编辑、音乐生成等技术的研究和应用。详细信息参考火山引擎音频技术产品简介。 |
| bytertc_vp8codec_extension.dll | v3.57 | 否 | 视频编解码插件 | 基于 libvpx 的用于 VP8 编解码功能的插件,集成该插件后可使用 VP8 软件编解码功能。如果你对 Web 兼容性要求较高,可以选择集成此插件。 注意:如需使用该功能,请联系技术支持。 |
| bytertc_fdk-aac_extension.dll | v3.57 | 否 | 音频编解码插件 | 音频 FDK AAC 编解码器插件,集成该插件后可使用 FDK AAC 软件编解码功能。你在使用软件 FDK AAC 编解码功能时需要集成此插件,例如使用 AAC 音频编码格式进行 RTC 通话/推流/录制等。 注意:如需使用该功能,请联系技术支持。 |
根据提供的头文件和动态库,使用你的构建工具进行集成。
| 库/插件名称 | 起始版本 | 是否必选 | 库/插件功能 | 库/插件简介 |
|---|---|---|---|---|
| VolcEngineRTC.framework | ALL | 是 | 主库 | RTC SDK 主库,用于实现基本的音视频通话功能。 |
| RTCFFmpeg.framework | ALL | 是 | 视频/图片解码 | FFmpeg 是一个开源的多媒体处理库,用于处理音频、视频和其他多媒体数据。RTCFFmpeg.framework 基于开源 FFmpeg 源码进行了一些修改,如功能裁剪等。 |
| libbytenn.dylib | v3.50 | 是 | AI 引擎插件 | 火山引擎自研高性能异构推理引擎框架 bytenn,为 AI 业务提供统一的多平台快速部署能力。适用于 AI 降噪、音乐场景检测、视频超分、降噪、HDR、MOS 等应用场景。 |
| libbytevc0.dylib | ALL | 否 | 视频 264 软编码 | 自研 H.264 标准协议的软编码器,编码性能和效率相比 OpenH264、x264 有小幅提升。 |
| libeffect.dylib | ALL | 否 | 视频特效库 | 火山引擎自研智能美化特效 SDK,可以对本地采集的视频添加美颜、滤镜、贴纸等特效。 集成后方可调用 enableVideoEffect 等接口使用视频特效相关功能。 |
| ByteRTCNICOExtension.framework | v3.52 | 否 | 音频编解码器插件 | RTC 自研音频编解码器插件。NICO 音频编解码算法较原生 Opus 音频编解码器具有更强的抗弱网能力,并且完全兼容 Opus。适用于对语音通话有低卡顿、低延时强需求的应用场景。 注意:如需使用该功能,请联系技术支持。 |
ByteRTCFFmpegAudioExtension.framework | v3.54 | 否 | 音频解码器插件 | 基于 FFmpeg 编译的音频解码器插件,支持 SDK 音频内存播放功能,支持解码mp3、mp4、aac、m4a、3gp、wav、ogg、ts、wma 格式的音频文件,同时对音频文件播放功能供更好的兼容性。 |
| ByteRTCFDK-AACExtension.framework | v3.57 | 否 | 音频编解码插件 | 音频 FDK AAC 编解码器插件,集成该插件后可使用 FDK AAC 软件编解码功能。你在使用软件 FDK AAC 编解码功能时需要集成此插件,例如使用 AAC 音频编码格式进行 RTC 通话/推流/录制等。 注意:如需使用该功能,请联系技术支持。 |
| ByteRTCVp8CodecExtension.framework | v3.57 | 否 | 视频编解码插件 | 基于 libvpx 的用于 VP8 编解码功能的插件,集成该插件后可使用 VP8 软件编解码功能。如果你对 Web 兼容性要求较高,可以选择集成此插件。 注意:如需使用该功能,请联系技术支持。 |
libbdaudioeffect.dylib | v3.56 | 否 | 音频技术插件 | 音频技术(Speech, Audio & Music Intelligence,简称 SAMI),主要致力于语音合成、音频理解与处理、音乐理解与编辑、音乐生成等技术的研究和应用。详细信息参考火山引擎音频技术产品简介。 |
下载并解压 macOS SDK 包,将主库和所需要的插件文件拖入主工程,并在工程中配置所选库的 Embed 属性为 Embed & Sign
| 库/插件名称 | 起始版本 | 是否必选 | 库/插件功能 | 库/插件简介 |
|---|---|---|---|---|
| libbytenn.so | v3.52 | 是 | AI 引擎插件 | 火山引擎自研高性能异构推理引擎框架 bytenn,为 AI 业务提供统一的多平台快速部署能力。适用于 AI 降噪、音乐场景检测、视频超分、降噪、HDR、MOS等应用场景。 |
| libbytertc_fdk-aac_extension.so | v3.57 | 否 | 音频编解码插件 | 音频 FDK AAC 编解码器插件,集成该插件后可使用 FDK AAC 软件编解码功能。你在使用软件 FDK AAC 编解码功能时需要集成此插件,例如使用 AAC 音频编码格式进行 RTC 通话/推流/录制等。 注意:如需使用该功能,请联系技术支持。 |
| libbytertc_ffmpeg_audio_extension.so | v3.54 | 否 | 音频解码器插件 | 基于 FFmpeg 编译的音频解码器插件,支持 SDK 音频内存播放功能,支持解码mp3、mp4、aac、m4a、3gp、wav、ogg、ts、wma 格式的音频文件,同时对音频文件播放功能供更好的兼容性。如果需要使用内存播放功能,或播放音频文件遇到兼容性问题时,可以选择集成此插件。 |
| libbytertc_nico_extension.so | v3.52 | 否 | 音频编解码器插件 | RTC 自研音频编解码器插件。NICO 音频编解码算法较原生 Opus 音频编解码器具有更强的抗弱网能力,并且完全兼容 Opus。适用于对语音通话有低卡顿、低延时强需求的应用场景。 注意:如需使用该功能,请联系技术支持。 |
| libbytertc_vp8codec_extension.so | v3.57 | 否 | 视频编解码插件 | 基于 libvpx 的用于 VP8 编解码功能的插件,集成该插件后可使用 VP8 软件编解码功能。如果你对 Web 兼容性要求较高,可以选择集成此插件。 注意:如需使用该功能,请联系技术支持。 |
| libRTCFFmpeg.so | ALL | 是 | 视频/图片解码 | FFmpeg 是一个开源的多媒体处理库,用于处理音频、视频和其他多媒体数据。libRTCFFmpeg.so 基于开源 FFmpeg 源码进行了一些修改,如功能裁剪等。 |
| libVolcEngineRTC.so | ALL | 是 | 主库 | RTC SDK 主库,用于实现基本的音视频通话功能。 |
根据提供的头文件和动态库,使用你的构建工具进行集成。
当前火山引擎 RTC SDK 不再提供静态库。原因说明如下:
避免编译冲突:使用静态库可能会由于第三方库间的符号冲突,导致应用编译失败。例如,你的应用和 RTC SDK 都集成了 ffmpeg 库。
提升兼容性:如果你的应用和 RTC SDK 使用的第三方库版本不一致,运行时可能发生崩溃。
遵守开源协议:火山引擎 RTC SDK 使用了一些开源协议的库。根据这些开源协议的规定,如果使用静态链接,整个应用源代码都需要公开。因此,建议使用动态链接,例如 ffmpeg 库。