diff --git a/dita/RTC-NG/API/api_imediaengine_registervideoencodedframeobserver.dita b/dita/RTC-NG/API/api_imediaengine_registervideoencodedframeobserver.dita
index 8f4452dbdef..ee15a38c8c5 100644
--- a/dita/RTC-NG/API/api_imediaengine_registervideoencodedframeobserver.dita
+++ b/dita/RTC-NG/API/api_imediaengine_registervideoencodedframeobserver.dita
@@ -30,24 +30,10 @@
详情
- 如果你只想要观测编码后的视频帧 (如 h.264 格式),而不需要对视频进行解码和渲染,声网推荐你通过该方法注册一个 类。
- 如果你想获取一部分远端用户的原始视频数据 (简称为 A 组)、获取另一部分远端用户的编码后视频数据 (简称为 B 组),可参考以下步骤:
-
-
- - 在加入频道前调用 注册原始视频帧观测器。
- - 在加入频道前调用 注册编码后的视频帧观测器。
- - 加入频道后通过 获取 B 组用户的 ID,然后调用 设置该组用户的 encodedFrameOnly 为 。
- - 调用 (),开始接收所有远端用户的视频流。此时:
-
-
- - 可通过 中的回调获取 A 组用户的原始视频数据,SDK 默认对该数据进行渲染。
- - 可通过 中的回调获取 B 组用户的已编码视频数据。
-
-
+ 如果你只想要观测编码后的视频帧 (如 H.264 格式),而不需要对视频进行解码和渲染,声网推荐你通过该方法注册一个 类。有关详细的实现步骤,详见。
-
+ 该方法需要在加入频道前调用。
+
参数
diff --git a/dita/RTC-NG/API/api_imediaengine_registervideoframeobserver.dita b/dita/RTC-NG/API/api_imediaengine_registervideoframeobserver.dita
index a0b66e478f1..42b455816c3 100644
--- a/dita/RTC-NG/API/api_imediaengine_registervideoframeobserver.dita
+++ b/dita/RTC-NG/API/api_imediaengine_registervideoframeobserver.dita
@@ -26,11 +26,10 @@
如果你想要观测原始视频帧 (如 YUV 或 RGBA 格式),声网推荐你通过该方法注册一个 类。
调用该方法注册视频观测器时,你可以根据需要注册 类中的回调。在成功注册视频观测器后,SDK 会在捕捉到每个视频帧时,触发你所注册的上述回调。
-
适用场景
- 注册原始视频观测器后,你可以将获取到的原始视频数据应用于各种视频前处理场景,例如自行实现虚拟背景、美颜等场景。
+ 注册原始视频观测器后,你可以将获取到的原始视频数据应用于各种视频前处理场景,例如自行实现虚拟背景、美颜等场景。有关详细的实现步骤,详见。
声网在 GitHub 上提供了开源的示例项目 供你参考。
diff --git a/dita/RTC-NG/API/api_imediaplayer_selectaudiotrack.dita b/dita/RTC-NG/API/api_imediaplayer_selectaudiotrack.dita
index a05f7eec380..a48fd1f92ee 100644
--- a/dita/RTC-NG/API/api_imediaplayer_selectaudiotrack.dita
+++ b/dita/RTC-NG/API/api_imediaplayer_selectaudiotrack.dita
@@ -27,7 +27,7 @@ int SelectAudioTrack(int index);
详情
- 获取音频文件的音轨索引后,你可以调用该方法指定任一音轨进行播放。例如,如果一个多音轨文件的不同音轨存放了不同语言的歌曲,则你可以调用该方法设置播放语言。
+ 获取音频文件的音轨索引后,你可以调用该方法指定任一音轨进行播放。如果一个多音轨文件的不同音轨存放了不同语言的歌曲,你可以调用该方法设置播放语言。
你需要在调用 获取音频流索引值后调用该方法。
参数
diff --git a/dita/RTC-NG/API/api_irtcengine_joinchannel.dita b/dita/RTC-NG/API/api_irtcengine_joinchannel.dita
index b0b6fb7cc18..ca7efbbc519 100644
--- a/dita/RTC-NG/API/api_irtcengine_joinchannel.dita
+++ b/dita/RTC-NG/API/api_irtcengine_joinchannel.dita
@@ -72,7 +72,7 @@
uid
- 用户 ID。该参数用于标识在实时音视频互动频道中的用户。你需要自行设置和管理用户 ID,并确保同一频道内的每个用户 ID 是唯一的。该参数为 32 位有符号整数。取值范围为:-231-1 到 231-1。该参数为 32 位无符号整数。建议设置范围:1 到 232-1。如果不指定(即设为 0),SDK 会自动分配一个,并在 回调中返回, 应用层必须记住该返回值并维护,SDK 不对该返回值进行维护。
+ 用户 ID。该参数用于标识在实时音视频互动频道中的用户。你需要自行设置和管理用户 ID,并确保同一频道内的每个用户 ID 是唯一的。该参数为 32 位有符号整数。取值范围为:-231 到 231-1。该参数为 32 位无符号整数。建议设置范围:1 到 232-1。如果不指定(即设为 0),SDK 会自动分配一个,并在 回调中返回, 应用层必须记住该返回值并维护,SDK 不对该返回值进行维护。
diff --git a/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita b/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita
index 86115c52519..a99d76f6b0b 100644
--- a/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita
+++ b/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita
@@ -101,7 +101,7 @@
uid
- 用户 ID。该参数用于标识在实时音视频互动频道中的用户。你需要自行设置和管理用户 ID,并确保同一频道内的每个用户 ID 是唯一的。该参数为 32 位有符号整数。取值范围为:-231-1 到 231-1。该参数为 32 位无符号整数。建议设置范围:1 到 232-1。如果不指定(即设为 0),SDK 会自动分配一个,并在 回调中返回, 应用层必须记住该返回值并维护,SDK 不对该返回值进行维护。
+ 用户 ID。该参数用于标识在实时音视频互动频道中的用户。你需要自行设置和管理用户 ID,并确保同一频道内的每个用户 ID 是唯一的。该参数为 32 位有符号整数。取值范围为:-231 到 231-1。该参数为 32 位无符号整数。建议设置范围:1 到 232-1。如果不指定(即设为 0),SDK 会自动分配一个,并在 回调中返回, 应用层必须记住该返回值并维护,SDK 不对该返回值进行维护。
options
diff --git a/dita/RTC-NG/API/api_irtcengine_setremotevideosubscriptionoptions.dita b/dita/RTC-NG/API/api_irtcengine_setremotevideosubscriptionoptions.dita
index 02eb4b323e5..bafc3665171 100644
--- a/dita/RTC-NG/API/api_irtcengine_setremotevideosubscriptionoptions.dita
+++ b/dita/RTC-NG/API/api_irtcengine_setremotevideosubscriptionoptions.dita
@@ -35,21 +35,13 @@
详情
- 当远端发送双流时,可调用此方法来设置远端视频流的订阅选项。
-
-
- - 如果你只注册了 对象,则默认订阅原始视频数据和编码后的视频数据 (效果等同于 encodedFrameOnly 设置为 )。
- - 如果你只注册了 对象,则默认只订阅编码后的视频数据 (效果等同于 encodedFrameOnly 设置为 )。
- - 如果你先后注册了 和 对象,则默认订阅原始视频数据和编码后的视频数据 (效果等同于 encodedFrameOnly 设置为 )。
- - 如果你先调用该方法设置了 options 参数、然后再注册 或 对象,则需要再次调用该方法并按照以上两项描述设置 options 参数,以获得预期的效果。
-
- 声网推荐你按照以下步骤调用该方法:
-
-
- - 调用 加入频道时设置 autoSubscribeVideo 为 。
- - 在收到 回调后调用该方法,设置对指定远端用户视频流的订阅选项。
- - 调用 方法,开始恢复订阅指定远端用户的视频流。如果你在上一步中将 encodedFrameOnly 设置为 ,SDK 会在本地触发 回调,上报接收到的编码后视频帧信息。
-
+ 当远端发送双流时,可调用此方法来设置远端视频流的订阅选项。SDK 对远端视频流的默认订阅行为取决于注册的视频观测器类型:
+ - 如果注册的是 观测器,则默认订阅原始数据和编码后的数据。
+ - 如果注册的是 观测器,则默认仅订阅编码后的数据。
+ - 如果注册了两种观测器,则默认跟随后注册的视频观测器。举例来说,如果后注册的是 观测器,则默认订阅原始数据和编码后的数据。
+
+ 如果你想修改以上默认行为,或者想针对不同 uid 设置不同的订阅选项,可调用该方法设置。有关详细的实现步骤,详见。
+
参数
diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita
index 61d958be74a..c9e6f7002a0 100644
--- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita
+++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita
@@ -28,16 +28,23 @@
}
UFUNCTION(BlueprintNativeEvent, Category = "Agora|Event")
void OnStreamMessage(int64 uid, int streamId, const FString& data, int length, int64 sentTs);
- onStreamMessage?(connection: RtcConnection, remoteUid: number, streamId: number, data: Uint8Array, length: number, sentTs: number): void;
- public virtual void OnStreamMessage(RtcConnection connection, uint remoteUid, int streamId, byte[] data, uint length, UInt64 sentTs) { }
+ onStreamMessage?(
+ connection: RtcConnection,
+ remoteUid: number,
+ streamId: number,
+ data: Uint8Array,
+ length: number,
+ sentTs: number
+ ): void;
+ public virtual void OnStreamMessage(RtcConnection connection, uint remoteUid, int streamId, byte[] data, ulong length, ulong sentTs) { }
onStreamMessage?(
- connection: RtcConnection,
- remoteUid: number,
- streamId: number,
- data: Uint8Array,
- length: number,
- sentTs: number
-): void;
+ connection: RtcConnection,
+ remoteUid: number,
+ streamId: number,
+ data: Uint8Array,
+ length: number,
+ sentTs: number
+ ): void;
final void Function(RtcConnection connection, int remoteUid, int streamId,
Uint8List data, int length, int sentTs)? onStreamMessage;
@@ -59,7 +66,7 @@
- uid
+ uid
userId
remoteUid
发送消息的用户 ID。
diff --git a/dita/RTC-NG/API/callback_ivideoframeobserver_getmirrorapplied.dita b/dita/RTC-NG/API/callback_ivideoframeobserver_getmirrorapplied.dita
index 39e22c4a128..8633fa1804c 100644
--- a/dita/RTC-NG/API/callback_ivideoframeobserver_getmirrorapplied.dita
+++ b/dita/RTC-NG/API/callback_ivideoframeobserver_getmirrorapplied.dita
@@ -27,7 +27,10 @@
如果你希望获取的视频数据为原始视频的镜像,需要在调用 方法时注册该回调。成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调,你需要在该回调的返回值中设置是否对原始视频数据作镜像处理。
- - 该功能仅支持 RGBA 和 YUV420 格式的视频数据。
+ - 在 Android 平台上,该回调支持的视频数据格式有:I420、RGBA 和 Texture。
+ - 在 Windows 平台上,该回调支持的视频数据格式有:I420、RGBA 和 TextureBuffer。
+ - 在 iOS 平台上,该回调支持的视频数据格式有:I420、RGBA 和 CVPixelBuffer。
+ - 在 macOS 平台上,该回调支持的视频数据格式有:I420 和 RGBA。
- 该方法和 方法均支持设置镜像效果,声网建议你仅选择一种方法进行设置,同时使用两种方法会导致镜像效果叠加从而造成设置镜像失败。
diff --git a/dita/RTC-NG/API/callback_ivideoframeobserver_getrotationapplied.dita b/dita/RTC-NG/API/callback_ivideoframeobserver_getrotationapplied.dita
index a2577ee8a64..2c0e6483b57 100644
--- a/dita/RTC-NG/API/callback_ivideoframeobserver_getrotationapplied.dita
+++ b/dita/RTC-NG/API/callback_ivideoframeobserver_getrotationapplied.dita
@@ -28,8 +28,10 @@
如果你在采集端已经根据 中的旋转信息 rotation 进行旋转,就无需调用该方法设置视频数据旋转。
- - 该功能仅支持视频处理模式为 的场景。
- - 该功能仅支持 RGBA 和 YUV420 格式的视频数据。
+ - 在 Android 平台上,该回调支持的视频数据格式有:I420、RGBA 和 Texture。
+ - 在 Windows 平台上,该回调支持的视频数据格式有:I420、RGBA 和 TextureBuffer。
+ - 在 iOS 平台上,该回调支持的视频数据格式有:I420、RGBA 和 CVPixelBuffer。
+ - 在 macOS 平台上,该回调支持的视频数据格式有:I420 和 RGBA。
diff --git a/dita/RTC-NG/API/enum_backgroundsourcetype.dita b/dita/RTC-NG/API/enum_backgroundsourcetype.dita
index 6ae3992dfe4..c83bd84fe61 100644
--- a/dita/RTC-NG/API/enum_backgroundsourcetype.dita
+++ b/dita/RTC-NG/API/enum_backgroundsourcetype.dita
@@ -7,7 +7,7 @@
枚举值
-
+
0: 将背景处理为 Alpha 数据,不作替换,仅分割人像和背景。设置后,你可以调用 ,实现人像画中画的效果。
diff --git a/dita/RTC-NG/config/keys-rtc-ng-links-android.ditamap b/dita/RTC-NG/config/keys-rtc-ng-links-android.ditamap
index 38c5a447f70..dbe30d1c1e0 100644
--- a/dita/RTC-NG/config/keys-rtc-ng-links-android.ditamap
+++ b/dita/RTC-NG/config/keys-rtc-ng-links-android.ditamap
@@ -101,6 +101,13 @@
+
+
+
+ 自定义视频数据处理
+
+
+
diff --git a/dita/RTC-NG/config/keys-rtc-ng-links-cpp.ditamap b/dita/RTC-NG/config/keys-rtc-ng-links-cpp.ditamap
index 28aaff82664..bf8ea4c0ead 100644
--- a/dita/RTC-NG/config/keys-rtc-ng-links-cpp.ditamap
+++ b/dita/RTC-NG/config/keys-rtc-ng-links-cpp.ditamap
@@ -88,6 +88,13 @@
+
+
+
+ 自定义视频数据处理
+
+
+
diff --git a/dita/RTC-NG/config/keys-rtc-ng-links-ios.ditamap b/dita/RTC-NG/config/keys-rtc-ng-links-ios.ditamap
index 909e190e4fe..c51a8e5398f 100644
--- a/dita/RTC-NG/config/keys-rtc-ng-links-ios.ditamap
+++ b/dita/RTC-NG/config/keys-rtc-ng-links-ios.ditamap
@@ -102,6 +102,13 @@
+
+
+
+ 自定义视频数据处理
+
+
+
diff --git a/dita/RTC-NG/config/keys-rtc-ng-links-macos.ditamap b/dita/RTC-NG/config/keys-rtc-ng-links-macos.ditamap
index 5ea909f6766..865016c494b 100644
--- a/dita/RTC-NG/config/keys-rtc-ng-links-macos.ditamap
+++ b/dita/RTC-NG/config/keys-rtc-ng-links-macos.ditamap
@@ -74,6 +74,13 @@
+
+
+
+ 自定义视频数据处理
+
+
+