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 组),可参考以下步骤: - -

    -
  1. 在加入频道前调用 注册原始视频帧观测器。
  2. -
  3. 在加入频道前调用 注册编码后的视频帧观测器。
  4. -
  5. 加入频道后通过 获取 B 组用户的 ID,然后调用 设置该组用户的 encodedFrameOnly
  6. -
  7. 调用 (),开始接收所有远端用户的视频流。此时: - -
      -
    • 可通过 中的回调获取 A 组用户的原始视频数据,SDK 默认对该数据进行渲染。
    • -
    • 可通过 中的回调获取 B 组用户的已编码视频数据。
    • -
  8. -

+

如果你只想要观测编码后的视频帧 (如 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 参数,以获得预期的效果。
  • -

- 声网推荐你按照以下步骤调用该方法: - -
    -
  1. 调用 加入频道时设置 autoSubscribeVideo
  2. -
  3. 在收到 回调后调用该方法,设置对指定远端用户视频流的订阅选项。
  4. -
  5. 调用 方法,开始恢复订阅指定远端用户的视频流。如果你在上一步中将 encodedFrameOnly 设置为 ,SDK 会在本地触发 回调,上报接收到的编码后视频帧信息。
  6. -
+

当远端发送双流时,可调用此方法来设置远端视频流的订阅选项。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 进行旋转,就无需调用该方法设置视频数据旋转。

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 @@ + + + + 自定义视频数据处理 + + +