From 83780ff2be064c717638171943542cc92050fcbd Mon Sep 17 00:00:00 2001
From: Cilla-luodan <85477033+Cilla-luodan@users.noreply.github.com>
Date: Wed, 9 Oct 2024 14:46:30 +0800
Subject: [PATCH 01/10] sync with guide
---
...ine_registervideoencodedframeobserver.dita | 20 +++--------------
...ediaengine_registervideoframeobserver.dita | 3 +--
...ine_setremotevideosubscriptionoptions.dita | 22 ++++++-------------
..._ivideoframeobserver_getmirrorapplied.dita | 5 ++++-
...videoframeobserver_getrotationapplied.dita | 6 +++--
.../config/keys-rtc-ng-links-android.ditamap | 7 ++++++
.../config/keys-rtc-ng-links-cpp.ditamap | 7 ++++++
.../config/keys-rtc-ng-links-ios.ditamap | 7 ++++++
.../config/keys-rtc-ng-links-macos.ditamap | 7 ++++++
9 files changed, 47 insertions(+), 37 deletions(-)
diff --git a/dita/RTC-NG/API/api_imediaengine_registervideoencodedframeobserver.dita b/dita/RTC-NG/API/api_imediaengine_registervideoencodedframeobserver.dita
index 8f4452dbdef..137bd15e64a 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_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_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/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 @@
+
+
+
+ 自定义视频数据处理
+
+
+
From 6c999df11535b16c91f9bd7c23f481424d7aa0cc Mon Sep 17 00:00:00 2001
From: jinyu
Date: Thu, 10 Oct 2024 11:43:34 +0800
Subject: [PATCH 02/10] Update
callback_irtcengineeventhandler_onstreammessage.dita
---
.../API/callback_irtcengineeventhandler_onstreammessage.dita | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita
index 61d958be74a..2f5d314c52a 100644
--- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita
+++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita
@@ -59,7 +59,7 @@
- uid
+ uid
userId
remoteUid
发送消息的用户 ID。
From 8a9231aabc62b51a52c1fcf522196abd1dcf9ea1 Mon Sep 17 00:00:00 2001
From: Nero-Hu
Date: Fri, 11 Oct 2024 10:35:18 +0800
Subject: [PATCH 03/10] Electron/RN: update proto
---
...rtcengineeventhandler_onstreammessage.dita | 23 ++++++++++++-------
1 file changed, 15 insertions(+), 8 deletions(-)
diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita
index 2f5d314c52a..148d0c68d9b 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;
+ 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;
+ 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;
From f493ad6da2dd8975321bd8d9c64c96cd26e42228 Mon Sep 17 00:00:00 2001
From: Nero-Hu
Date: Fri, 11 Oct 2024 10:43:14 +0800
Subject: [PATCH 04/10] Electron: remove BackgroundNone
---
dita/RTC-NG/API/enum_backgroundsourcetype.dita | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dita/RTC-NG/API/enum_backgroundsourcetype.dita b/dita/RTC-NG/API/enum_backgroundsourcetype.dita
index 6ae3992dfe4..221959f5d00 100644
--- a/dita/RTC-NG/API/enum_backgroundsourcetype.dita
+++ b/dita/RTC-NG/API/enum_backgroundsourcetype.dita
@@ -7,7 +7,7 @@
枚举值
-
+
0: 将背景处理为 Alpha 数据,不作替换,仅分割人像和背景。设置后,你可以调用 ,实现人像画中画的效果。
From 33305c5f07bd2ea40a1e468b44e2e5dfd739141c Mon Sep 17 00:00:00 2001
From: Nero-Hu
Date: Fri, 11 Oct 2024 10:43:49 +0800
Subject: [PATCH 05/10] RN: hide background none
---
dita/RTC-NG/API/enum_backgroundsourcetype.dita | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dita/RTC-NG/API/enum_backgroundsourcetype.dita b/dita/RTC-NG/API/enum_backgroundsourcetype.dita
index 221959f5d00..c83bd84fe61 100644
--- a/dita/RTC-NG/API/enum_backgroundsourcetype.dita
+++ b/dita/RTC-NG/API/enum_backgroundsourcetype.dita
@@ -7,7 +7,7 @@
枚举值
-
+
0: 将背景处理为 Alpha 数据,不作替换,仅分割人像和背景。设置后,你可以调用 ,实现人像画中画的效果。
From e392ee887e4ab990e2e48751ae71bba1832433d5 Mon Sep 17 00:00:00 2001
From: Suri539
Date: Fri, 11 Oct 2024 12:02:53 +0800
Subject: [PATCH 06/10] bugfix
---
dita/RTC-NG/API/api_imediaplayer_selectaudiotrack.dita | 2 +-
dita/RTC-NG/API/api_irtcengine_joinchannel.dita | 2 +-
dita/RTC-NG/API/api_irtcengine_joinchannel2.dita | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
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
From 25cf7edbd8f2a07abf2e1d0b82691460b3ac06de Mon Sep 17 00:00:00 2001
From: Nero-Hu
Date: Fri, 11 Oct 2024 15:01:13 +0800
Subject: [PATCH 07/10] update props
---
dita/RTC-NG/API/enum_backgroundsourcetype.dita | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dita/RTC-NG/API/enum_backgroundsourcetype.dita b/dita/RTC-NG/API/enum_backgroundsourcetype.dita
index c83bd84fe61..79cf1aa1b74 100644
--- a/dita/RTC-NG/API/enum_backgroundsourcetype.dita
+++ b/dita/RTC-NG/API/enum_backgroundsourcetype.dita
@@ -7,7 +7,7 @@
枚举值
-
+
0: 将背景处理为 Alpha 数据,不作替换,仅分割人像和背景。设置后,你可以调用 ,实现人像画中画的效果。
From 42a95530b8be6a38a81ecb16b21cdfbf45cf041e Mon Sep 17 00:00:00 2001
From: Nero-Hu
Date: Fri, 11 Oct 2024 15:02:37 +0800
Subject: [PATCH 08/10] Revert "update props"
This reverts commit 25cf7edbd8f2a07abf2e1d0b82691460b3ac06de.
---
dita/RTC-NG/API/enum_backgroundsourcetype.dita | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dita/RTC-NG/API/enum_backgroundsourcetype.dita b/dita/RTC-NG/API/enum_backgroundsourcetype.dita
index 79cf1aa1b74..c83bd84fe61 100644
--- a/dita/RTC-NG/API/enum_backgroundsourcetype.dita
+++ b/dita/RTC-NG/API/enum_backgroundsourcetype.dita
@@ -7,7 +7,7 @@
枚举值
-
+
0: 将背景处理为 Alpha 数据,不作替换,仅分割人像和背景。设置后,你可以调用 ,实现人像画中画的效果。
From bbe960c81b4cdcb39c354f7fcf0a1fadc6cbb8a3 Mon Sep 17 00:00:00 2001
From: Cilla-luodan <85477033+Cilla-luodan@users.noreply.github.com>
Date: Fri, 11 Oct 2024 15:12:09 +0800
Subject: [PATCH 09/10] 1
---
.../API/api_imediaengine_registervideoencodedframeobserver.dita | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dita/RTC-NG/API/api_imediaengine_registervideoencodedframeobserver.dita b/dita/RTC-NG/API/api_imediaengine_registervideoencodedframeobserver.dita
index 137bd15e64a..ee15a38c8c5 100644
--- a/dita/RTC-NG/API/api_imediaengine_registervideoencodedframeobserver.dita
+++ b/dita/RTC-NG/API/api_imediaengine_registervideoencodedframeobserver.dita
@@ -30,7 +30,7 @@
详情
- 如果你只想要观测编码后的视频帧 (如 h.264 格式),而不需要对视频进行解码和渲染,声网推荐你通过该方法注册一个 类。有关详细的实现步骤,详见。
+ 如果你只想要观测编码后的视频帧 (如 H.264 格式),而不需要对视频进行解码和渲染,声网推荐你通过该方法注册一个 类。有关详细的实现步骤,详见。
该方法需要在加入频道前调用。
From d20cc627d73247861240a7d09f0a4eba08c8e740 Mon Sep 17 00:00:00 2001
From: Suri539
Date: Fri, 11 Oct 2024 15:17:33 +0800
Subject: [PATCH 10/10] Update
callback_irtcengineeventhandler_onstreammessage.dita
---
.../API/callback_irtcengineeventhandler_onstreammessage.dita | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita
index 148d0c68d9b..c9e6f7002a0 100644
--- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita
+++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita
@@ -36,7 +36,7 @@
length: number,
sentTs: number
): void;
- public virtual void OnStreamMessage(RtcConnection connection, uint remoteUid, int streamId, byte[] data, uint length, UInt64 sentTs) { }
+ public virtual void OnStreamMessage(RtcConnection connection, uint remoteUid, int streamId, byte[] data, ulong length, ulong sentTs) { }
onStreamMessage?(
connection: RtcConnection,
remoteUid: number,