+
Compatibility changes
- This release has optimized the implementation of some functions. To ensure the normal operation of the project, you need to update the code in the app after upgrading to this release.
+ This release has optimized the implementation of some functions, involving renaming or deletion of some APIs. To ensure the normal operation of the project, you need to update the code in the app after upgrading to this release.
+ 各版本废弃及删除的 API 信息。 详见 API 下架说明API 下架说明API 下架说明API 下架说明。
- - Member parameters changed to methods
To optimize the API design, the SDK encapsulates all member parameters in the structure into the class. If use the member parameters in the structure, please update them to the corresponding methods in the class.
+ - 直推 CDN 相关接口废弃
+
该版本废弃直推 CDN 功能的相关接口,并会在后续版本中删除,请改用服务端旁路推流。
+
+
+ - 虚拟节拍器接口废弃
+
该版本废弃虚拟节拍器功能的相关接口,并会在后续版本中删除。
+
+
+ - 水印接口废弃
+
该版本废弃水印功能的相关接口,推荐使用该版本新增的水印接口。
+
+
+ - 冗余接口删除
+
该版本删除了下列冗余接口及参数:
+
+ - setLocalPublishFallbackOption
+ - onLocalPublishFallbackToAudioOnlydidLocalPublishFallbackToAudioOnly
+ - onDownlinkNetworkInfoUpdateddownlinkNetworkInfoUpdate
+ - onWlAccStats
+ - enableWirelessAccelerate
+ - receivedFramerate
+
+
+ - 美妆功能实现更变
+
受美颜重构的影响,自 v4.6.0 起,不再支持调用 启用美妆功能,改用 STYLE_MAKEUP 节点实现。
+
+ - Int UID 和 String UID 映射行为变更
+
+ - v4.6.0 之前:如通过 使用字符串 UID (如“aa”)注册获取 Int UID(如 123),后续使用该 Int UID 加入频道时,SDK 会自动将其映射为原始注册字符串("aa")作为 String UID。
+ - v4.6.0 及之后版本:SDK 不再自动将 Int UID 映射到注册时的原始字符串。 如果调用了 获取 Int UID,但需要使用原始字符串 UID 加入频道,请直接调用 通过原始字符串 UID 加入频道。 请在升级后检查并调整您的 App 逻辑,以确保用户以预期的身份加入频道。
+
+
+ - 双流模式行为变更
+
+ - v 4.6.0 之前:发送端开启小流自适应模式 () 时,不会主动发送小流,仅当主播身份的接收端调用 发起小流申请后,发送端收到申请才会开始发送小流。
+ - v4.6.0 及之后版本:发送端开启小流自适应模式 () 时,会根据订阅端用户的下行网络质量,自动决定发送或停止发送小流。 If the mode is set to other options, or if the width, height, bitrate, and frame rate of the low-quality video stream are explicitly configured, this adaptive feature will be disabled.
+
+
+
+
+
+
+ New features
+
+
+ - ABR 同源多流
+
该版本支持针对同一视频源设置同时发送多路不同分辨率视频流,并支持多频道场景。 你可以通过 配置不同分辨率的视频流,(最多四层分辨率,一个最高分辨率的主流和三层其他较低分辨率的视频流),并可以通过 设置视频流的分辨率、码率、是否启用分层推流回退等选项来灵活控制流的发布。 启用分层推流回退后,SDK 会在弱网环境下自动回退到低分辨率的视频流,确保流畅的观看体验。
+ 订阅端可根据实际需求,通过 选择想要接收的视频流。 适用于会议场景、大班课、互动直播等多终端、多网络环境,可显著提升弱网下的观看体验。
+
+ - 多路径网络传输
+
该版本新增新增多路径传输功能,适用于终端支持多网卡传输(比如 5G, Wi-Fi,LAN)的设备,可以有效降低甚至消除弱网带来的体验回退,适用于弱网环境、对传输稳定性要求高的实时音视频通信场景,如车载、IoT、火车、高速公路等复杂网络环境。 通过在 中设置 enableMultipath 为 ,可开启多路径传输能力。 支持两种传输模式():
+ - Dynamic 模式:SDK 会根据网络状况动态选择最佳路径进行传输,适用于流量敏感,对体验要求比较高的场景,如会议、教育场景。 此外,还可通过 preferMultipathType 指定首选的传输网络路径类型(如优先 Wi-Fi 或移动网络);如未设置,所有类型路径的权重默认相同。
+ - Duplicate 模式:数据会在所有可用网络路径(如LAN、Wi-Fi、移动网络)上同时传输,提升抗丢包和稳定性,可消除弱网,适用于流量不敏感,对体验有极致要求的场景,如户外采播、平行操控等。
+
+ 上下行还可分别通过 中的 uplinkMultipathMode、downlinkMultipathMode 配置。 启用后,SDK 会通过回调 实时上报各路径的传输统计信息,包括每一个传输路径的流量消耗,便于开发者监控和优化网络表现。
+
+ - 视频质量评分
+
该版本在 中新增 mosValue 成员,报告声网实时视频 MOS(平均主观意见分)评估系统对接收到的远端视频流的质量评分。 评分共有 5 个档次,5 分表示视频画质优秀,画面清晰无噪点,1 分表示视频画质极差,画面严重模糊。 你可以通过该参数实时观测远端视频流的主观画质表现,便于动态调整视频参数、优化用户体验,或用于质量监控和告警等场景。 If you need to enable this function, contact .
+
+ - 支持添加多个水印
+
该版本废弃了 和 方法,新增 和 方法,支持通过水印 ID 来给视频添加多个水印,并可对水印进行排序。 如果你需要移除指定水印,可调用 方法。
+
+ - 异步销毁引擎
+
自该版本起, 方法新增 callback 参数,支持以同步或异步方式销毁引擎。 异步销毁引擎时,SDK 会触发 回调。
+ 该版本新增 方法,用于销毁 RTC 引擎,且支持通过参数配置以同步或异步方式销毁引擎。 异步销毁引擎时,SDK 会触发 回调。
+ 该版本新增 方法,用于销毁 RTC 引擎,且支持通过参数配置以同步或异步方式销毁引擎。 异步销毁引擎时,SDK 会触发 engineReleasedBlock 回调块。
+
+ - Token 更新结果回调
+
该版本新增 回调及 RENEW_TOKEN_ERROR_CODE 错误码。 当调用 方法更新 Token 后,SDK 会通过 回调通知 Token 更新的结果,并通过 RENEW_TOKEN_ERROR_CODE 返回详细的错误码,开发者可在回调中根据错误码及时处理 Token 更新失败的场景。
+
+ - Others
+ - 新增 方法用于设置 回调中返回的音频帧格式,包括采样率、声道数以及每次回调的数据采样点数。 调用此方法后,SDK 会按照设定的参数返回混音前的原始音频数据,便于开发者进行自定义处理或分析。
+ - 新增 方法,用于将指定音效文件预加载到指定频道,支持本地或在线音效文件,便于后续快速播放,适合多频道场景。
+ - 新增 方法,用于在指定频道播放音效文件,支持设置循环次数、音调、空间位置、音量、是否发布到频道及播放起始位置等参数,满足丰富的音效播放需求。
+ - 本地截图上传功能支持通过 中新增的 position 成员设置截图的视频观测位置,从而实现对原始视频数据或效果处理前后的视频流进行截图并上传。
+ - 为了提升用户使用绿幕或蓝幕开启虚拟背景功能时,人像分割的准确性和稳定性,该版本在 中新增 screenColorType 属性,支持指定背景幕布的颜色为绿色、蓝色或自动识别。
+
@@ -26,9 +120,22 @@
Improvements
- - URL live streaming playback
This version further expands the functionality of URL streaming playback, supporting playback of CDN URLs and local media resource files. It also allows for starting playback from a specified position, adjusting playback speed, setting playback volume, switching playback sources during playback, and more. See for details.
+ - 美颜重构
+
该版本对美颜功能进行了彻底重构和升级,不进拓展了美颜功能,提升了美颜效果和性能,还解决了美颜参数配置复杂、集成成本高、美颜资源依赖网络易失效等痛点。 主要改进包括:
+ - 新增美颜功能:新增白牙、去法令纹、去黑眼圈、亮眼等美肤功能;美妆特效新增卧蚕和面部高光;美型功能从 11 个增加到 29 个。
+ - API 大幅简化:将过去版本中的基础美颜、美型、美妆、滤镜功能整合为 、、 三个核心节点 (node),通过 统一管理生命周期和参数设置,减少频繁 API 调用带来的性能负担。
+ - 预设模板开箱即用:提供多套预设风格模板(如“自然美颜”、“学姐妆”、“冷白滤镜”),大幅简化集成流程,无需手动调试数十项参数。
+ - 美颜参数动态控制:该版本新增实时获取美颜参数的能力,开发者可通过 key-value 方式动态读取或修改任意细粒度参数(如磨皮强度、口红类型)。 同时支持:调用预设模板快速启用风格效果、保存主播自定义参数配置、随时重置参数至默认状态,极大提升了业务层状态同步的灵活性和开发效率。
+ - 美颜资源外置:该版本通过美颜资源外置化设计,将所有美颜资源(特效、滤镜、妆容)均打包为本地 bundle 文件,彻底消除因网络下载失败导致美颜失效的风险。
+
+
- - Accessible media player information properties
Starting from this version, the access modifiers for all attributes in media player-related information have been changed from private to public. This improvement aims to enhance the accessibility of these classes, allowing external code to access and modify these attributes more easily.
+ - Other Improvements
+ - 优化了在 Windows 11 24H2 及后续版本上的权限请求,避免非必要地获取位置信息。 (Windows)
+ - 在与 Web 端互通时,新增对 g711 和 g722 音频编解码器的支持,进一步提升了跨平台音频播放的兼容性和清晰度。
+ - 优化了插件加载的方式,用 C++ 开发 Android App 支持自动加载 SDK 的动态库插件。
+ - 优化了屏幕共享文档场景下的共享视频清晰度。
+
@@ -38,30 +145,15 @@
This release fixed the following issues:
- - When playing a multi-track media file, noise can be heard after calling the method to adjust the audio pitch.
- - The host called the method to create custom audio track and set trackType to AUDIO_TRACK_DIRECT, called the to push custom audio frames into a channel and then called to play audio effects, audience members in the channel would hear noise.
- - Apps integrated with the SDK occasionally encountered UI lag caused by main thread blocking during audio and video interactions.
- - When playing an MP4 file with EAC3 audio encoding by calling the method, sometimes there was no sound. (Android)
- - The local preview of the shared screen flickered after calling the to start screen sharing and set enableHighLight in to through the config parameter to outline the shared window, and then placed the window on the top layer and maximizing it. (Windows)
- - Calling to share the video stream of specified screen and specifying the windows to be blocked through excludeWindowList in , occasionally some windows fail to be blocked. (Windows)
- - The application occasionally crashed after sharing the video stream of the external screen and disconnecting the external screen connection. (Windows)
- - Memory leaks occurred after leaving the channel and stopping video rendering. (Android)
- - After calling to set the focus position manually, the focus position was inaccurate when the camera captured a zoomed-in image. (Android)
- - When calling to configure an external MediaProjection instance (outside the SDK) for screen video stream capture, the transmitted video stream resolution (width/height) did not dynamically adjusted when the screen orientation changed between landscape and portrait modes. (Android)
- - Calling and set isLiveSource in the source parameter to to play a video stream, the playback failed.
- - Calling to enable virtual background function, the virtual background image became larger and blurry when the phone was rotated. (iOS)
- - When attempting to open a non-existent local media file with the media player, the callback did not report PLAYER_STATE_FAILED as expected. (Android)
- - When the sender transmits multi-channel encoded audio, the receiver occasionally experienced noise.
- - In scenarios where the App integrates a media player, when the open function is called twice to open different media resources consecutively, the second call to open unexpectedly resulted in the callback returning information for the first media resource.
- - After calling to enable user volume indication, the callback returned a local user volume of 0 for both local streaming users and remote users.
- - During audio and video communication, the App occasionally froze. (Android)
- - The operation failed when calling with the key set to "makeup_options" to achieve makeup effects. (Android)
- - When the sending user conducted audio and video communication in dim lighting conditions, the preview image appeared darker on some device models. (Android)
- - In scenarios of audio and video communication and screen sharing using a 21:9 display (ultrawide screen), setting a high resolution such as 3840x2160 resulted in the screen sharing image being cropped in both local preview and on the receiver's display. (Windows)
- - When the App called to enable the video image source feature, the sending side occasionally succeeded in streaming, but did not return the expected.
- - In multi-channel scenarios, if the App called to initialize the remote user's view before successfully calling , the display of the first frame of the remote user's view occasionally experienced significant delay.
- - The App occasionally crashed upon exit. (iOS)
- - After a failure to join a channel, calling again without first calling to exit the channel occasionally led to a crash. (Android)
+ - 调用 打开在线音效文件后,调用 开始播放,当调用 指定播放位置后,音效文件会从头开始播放。
+ - 在媒体音量模式下,主播在频道中发布麦克风采集的音频流,同时调用 播放音效文件、调用 播放音乐文件,偶现回声。
+ - 在 之后调用 注册媒体 metadata 观测器,SDK 没有触发 metadata 观测器的回调。 (Android, iOS)
+ - SDK 处理包含中文字符的文件路径时编码转换异常导致崩溃。 (Windows)
+ - 偶现的崩溃问题。 (Android, iOS)
+ - 调用 加入频道,然后调用 开始跨频道媒体流转发,下麦、退出频道后重新加入频道开始连麦,偶现 回调报告 state 为 ,code 为 。
+ - 加入频道前调用 设置音频场景为 ,加入频道后使用蓝牙耳机或有线耳机进行音视频互通,偶现听到杂音。 (Android)
+ - 部分机型的笔记本电脑开启节能模式下,发送端共享屏幕和音频,偶现接收端听到回声。 (Windows)
+ - 在线教育场景下,偶现教师端本地看多个学生端音画不同步。 (Windows)
From 7ee02c32d9860a56b8dd3eeb0e8efe6f9bbd4d78 Mon Sep 17 00:00:00 2001
From: Cilla-luodan <85477033+Cilla-luodan@users.noreply.github.com>
Date: Fri, 1 Aug 2025 00:58:08 +0800
Subject: [PATCH 13/19] New translations
---
en-US/dita/RTC-NG/release/release_notes.dita | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/en-US/dita/RTC-NG/release/release_notes.dita b/en-US/dita/RTC-NG/release/release_notes.dita
index a73744a86d9..3d8f6a7eac0 100644
--- a/en-US/dita/RTC-NG/release/release_notes.dita
+++ b/en-US/dita/RTC-NG/release/release_notes.dita
@@ -16,10 +16,10 @@
Compatibility changes
This release has optimized the implementation of some functions, involving renaming or deletion of some APIs. To ensure the normal operation of the project, you need to update the code in the app after upgrading to this release.
- 各版本废弃及删除的 API 信息。 详见 API 下架说明API 下架说明API 下架说明API 下架说明。
+ 各版本废弃及删除的 API 信息。 详见 API 下架说明API 下架说明API 下架说明API 下架说明。
- 直推 CDN 相关接口废弃
-
该版本废弃直推 CDN 功能的相关接口,并会在后续版本中删除,请改用服务端旁路推流。
+该版本废弃直推 CDN 功能的相关接口,并会在后续版本中删除,请改用服务端旁路推流。
@@ -106,7 +106,7 @@
该版本新增 回调及 RENEW_TOKEN_ERROR_CODE 错误码。 当调用 方法更新 Token 后,SDK 会通过 回调通知 Token 更新的结果,并通过 RENEW_TOKEN_ERROR_CODE 返回详细的错误码,开发者可在回调中根据错误码及时处理 Token 更新失败的场景。
- Others
- 多路径网络传输
该版本新增新增多路径传输功能,适用于终端支持多网卡传输(比如 5G, Wi-Fi,LAN)的设备,可以有效降低甚至消除弱网带来的体验回退,适用于弱网环境、对传输稳定性要求高的实时音视频通信场景,如车载、IoT、火车、高速公路等复杂网络环境。 通过在 中设置 enableMultipath 为 ,可开启多路径传输能力。 支持两种传输模式():
- - Dynamic 模式:SDK 会根据网络状况动态选择最佳路径进行传输,适用于流量敏感,对体验要求比较高的场景,如会议、教育场景。 此外,还可通过 preferMultipathType 指定首选的传输网络路径类型(如优先 Wi-Fi 或移动网络);如未设置,所有类型路径的权重默认相同。
- - Duplicate 模式:数据会在所有可用网络路径(如LAN、Wi-Fi、移动网络)上同时传输,提升抗丢包和稳定性,可消除弱网,适用于流量不敏感,对体验有极致要求的场景,如户外采播、平行操控等。
+ - 冗余发送模式:SDK 会根据网络状况动态选择最佳路径进行传输,适用于流量敏感,对体验要求比较高的场景,如会议、教育场景。 此外,还可通过 preferMultipathType 指定首选的传输网络路径类型(如优先 Wi-Fi 或移动网络);如未设置,所有类型路径的权重默认相同。
+ - 动态发送模式:数据会在所有可用网络路径(如LAN、Wi-Fi、移动网络)上同时传输,提升抗丢包和稳定性,可消除弱网,适用于流量不敏感,对体验有极致要求的场景,如户外采播、平行操控等。
+ 冗余发送模式会产生额外费用,如需使用请。
上下行还可分别通过 中的 uplinkMultipathMode、downlinkMultipathMode 配置。 启用后,SDK 会通过回调 实时上报各路径的传输统计信息,包括每一个传输路径的流量消耗,便于开发者监控和优化网络表现。
- 视频质量评分
From 511d6426923ca92318baaee6210246471af5f58f Mon Sep 17 00:00:00 2001
From: Cilla-luodan <85477033+Cilla-luodan@users.noreply.github.com>
Date: Thu, 7 Aug 2025 01:00:38 +0800
Subject: [PATCH 18/19] New translations
---
en-US/dita/RTC-NG/release/release_notes.dita | 6 ------
1 file changed, 6 deletions(-)
diff --git a/en-US/dita/RTC-NG/release/release_notes.dita b/en-US/dita/RTC-NG/release/release_notes.dita
index 34b6b4b015f..76cf4ee050a 100644
--- a/en-US/dita/RTC-NG/release/release_notes.dita
+++ b/en-US/dita/RTC-NG/release/release_notes.dita
@@ -71,12 +71,6 @@
- v4.6.0 及之后版本:SDK 不再自动将 Int UID 映射到注册时的原始字符串。 如果调用了 获取 Int UID,但需要使用原始字符串 UID 加入频道,请直接调用 通过原始字符串 UID 加入频道。 请在升级后检查并调整您的 App 逻辑,以确保用户以预期的身份加入频道。
- - 双流模式行为变更
-
- - v 4.6.0 之前:发送端开启小流自适应模式 () 时,不会主动发送小流,仅当主播身份的接收端调用 发起小流申请后,发送端收到申请才会开始发送小流。
- - v4.6.0 及之后版本:发送端开启小流自适应模式 () 时,会根据订阅端用户的下行网络质量,自动决定发送或停止发送小流。 If the mode is set to other options, or if the width, height, bitrate, and frame rate of the low-quality video stream are explicitly configured, this adaptive feature will be disabled.
-
-
From be7e3d3d0ef33ad1a0b0118cb943c5d90e1c3563 Mon Sep 17 00:00:00 2001
From: Cilla-luodan <85477033+Cilla-luodan@users.noreply.github.com>
Date: Thu, 14 Aug 2025 01:22:58 +0800
Subject: [PATCH 19/19] New translations
---
en-US/dita/RTC-NG/release/release_notes.dita | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/en-US/dita/RTC-NG/release/release_notes.dita b/en-US/dita/RTC-NG/release/release_notes.dita
index 76cf4ee050a..3a092c7026c 100644
--- a/en-US/dita/RTC-NG/release/release_notes.dita
+++ b/en-US/dita/RTC-NG/release/release_notes.dita
@@ -54,11 +54,11 @@