diff --git a/dita/RTC-NG/API/api_irtcengine_enablecontentinspect.dita b/dita/RTC-NG/API/api_irtcengine_enablecontentinspect.dita
index 8402cf8e30b..e88b65fa648 100644
--- a/dita/RTC-NG/API/api_irtcengine_enablecontentinspect.dita
+++ b/dita/RTC-NG/API/api_irtcengine_enablecontentinspect.dita
@@ -2,7 +2,7 @@
- 开启/关闭视频截图上传。开启/关闭视频内容审核。
+ 开启/关闭视频截图上传。
@@ -32,28 +32,26 @@
详情
开启视频截图上传后,SDK 会根据你在 中设置的模块类型和频率对本地用户发送的视频进行截图和上传。截图完成后,声网服务器会以 HTTPS 请求的形式,向你的服务器发送回调通知,并将所有截图发送至你指定的第三方云存储。
- 开启视频内容审核后,SDK 会根据你在 中设置的内容审核模块类型和频率对本地用户发送的视频进行截图、审核和上传。审核完成后,声网内容审核服务器会以 HTTPS 请求的形式,向你的服务器发送审核结果,并将指定类型的截图发送至你指定的第三方云存储。
-
-
- - 调用该方法前,请确保已开通视频截图上传服务。调用该方法前,请确保已开通视频内容审核服务。详见 。
- - 该方法依赖于视频截图上传动态库 ,如果删除该动态库会导致无法正常开启该功能。
-
+ 调用该方法前,请确保已开通视频截图上传服务。
+
参数
-
+
enabled
设置是否开启视频截图上传视频内容审核:
- - :开启视频截图上传。开启视频内容审核。
- - :关闭视频截图上传。关闭视频内容审核。
+ - :开启视频截图上传
+ - :关闭视频截图上传
-
+
config
- 视频截图上传配置。视频内容审核配置。详见 。
+ 视频截图上传配置。详见 。
+ 视频审核模块选择声网自研插件截图上传()时需集成视频截图上传动态库 ,如果删除该动态库会导致无法正常开启视频截图上传功能。
+
diff --git a/dita/RTC-NG/API/api_irtcengine_isfeatureavailableondevice.dita b/dita/RTC-NG/API/api_irtcengine_isfeatureavailableondevice.dita
new file mode 100644
index 00000000000..d28e447340e
--- /dev/null
+++ b/dita/RTC-NG/API/api_irtcengine_isfeatureavailableondevice.dita
@@ -0,0 +1,60 @@
+
+
+
+
+ 查询设备是否支持指定进阶功能。
+
+
+
+
+
+
+
+
+
+
+ public abstract boolean isFeatureAvailableOnDevice(int type);
+ - (BOOL)isFeatureAvailableOnDevice:(AgoraFeatureType)type;
+ virtual bool isFeatureAvailableOnDevice(FeatureType type) = 0;
+
+
+ abstract isFeatureAvailableOnDevice(type: FeatureType): boolean;
+ Future<bool> isFeatureAvailableOnDevice(FeatureType type);
+
+
+ 详情
+
+
+ - 自从
+ - v4.2.3
+
+
+ 查询当前设备能力是否满足虚拟背景、美颜等进阶功能的要求。
+
+
+ 适用场景
+ 在使用进阶音视频功能前,你可以根据查询结果判断当前设备是否支持这些功能,从而避免在低端设备上开启进阶功能导致性能下降或功能不可用的问题。开发者可以根据 的返回值,决定是否显示或启用相应的功能按钮,或者提示用户不支持指定功能。
+
+
+ 参数
+
+
+ type
+ 进阶功能类型,详见 。
+
+ 进阶功能类型:
+
+ - (1):虚拟背景功能。
+ - (2):美颜功能。
+
+
+
+
+
+ 返回值
+
+ - : 设备支持指定进阶功能。
+ - : 设备不支持指定进阶功能。
+
+
+
diff --git a/dita/RTC-NG/API/api_irtcengineex_enablecontentinspectex.dita b/dita/RTC-NG/API/api_irtcengineex_enablecontentinspectex.dita
new file mode 100644
index 00000000000..6bfacf90f6f
--- /dev/null
+++ b/dita/RTC-NG/API/api_irtcengineex_enablecontentinspectex.dita
@@ -0,0 +1,67 @@
+
+
+
+
+ 开启/关闭视频截图上传。
+
+
+
+
+
+
+
+
+
+
+ public abstract int enableContentInspectEx(
+ boolean enabled, ContentInspectConfig config, RtcConnection connection);
+ - (int)enableContentInspectEx:(BOOL)enabled config:(AgoraContentInspectConfig* _Nonnull)config connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(enableContentInspectEx(_:config:connection:));
+ virtual int enableContentInspectEx(bool enabled, const media::ContentInspectConfig &config, const RtcConnection& connection) = 0;
+
+
+ abstract enableContentInspectEx(
+ enabled: boolean,
+ config: ContentInspectConfig,
+ connection: RtcConnection
+ ): number;
+ Future<void> enableContentInspectEx(
+ {required bool enabled,
+ required ContentInspectConfig config,
+ required RtcConnection connection});
+
+
+ 详情
+
+
+ - 自从
+ - v4.2.3
+
+
+ 该方法可以对多条视频流截图并上传。开启视频截图上传后,SDK 会根据你在 中设置的模块类型和频率对本地用户发送的视频进行截图和上传。截图完成后,声网服务器会以 HTTPS 请求的形式,向你的服务器发送回调通知,并将所有截图发送至你指定的第三方云存储。
+ 调用该方法前,请确保已开通视频截图上传服务。
+
+
+ 参数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。
+
+ - 0: 方法调用成功。
+ - < 0: 方法调用失败。详见了解详情和解决建议。
+
+
+
diff --git a/dita/RTC-NG/API/class_contentinspectconfig.dita b/dita/RTC-NG/API/class_contentinspectconfig.dita
index 37bc74014d1..6f80e628574 100644
--- a/dita/RTC-NG/API/class_contentinspectconfig.dita
+++ b/dita/RTC-NG/API/class_contentinspectconfig.dita
@@ -9,8 +9,10 @@
public class ContentInspectConfig {
public final static int CONTENT_INSPECT_TYPE_INVALID = 0;
public final static int CONTENT_INSPECT_TYPE_SUPERVISE = 2;
+ public final static int CONTENT_INSPECT_TYPE_IMAGE_MODERATION = 3;
public static final int MAX_CONTENT_INSPECT_MODULE_COUNT = 32;
public String extraInfo;
+ public String serverConfig;
public ContentInspectModule[] modules;
public int moduleCount;
@@ -22,29 +24,41 @@
type = CONTENT_INSPECT_TYPE_INVALID;
interval = 0;
}
- }>
+ }
+
+ public ContentInspectConfig() {
+ modules = new ContentInspectModule[MAX_CONTENT_INSPECT_MODULE_COUNT];
+ for (int i = 0; i < MAX_CONTENT_INSPECT_MODULE_COUNT; i++) {
+ modules[i] = new ContentInspectModule();
+ }
+ moduleCount = 0;
+ }
+}
__attribute__((visibility("default"))) @interface AgoraContentInspectConfig: NSObject
@property (nonatomic, copy) NSString* _Nullable extraInfo;
+@property (nonatomic, copy) NSString* _Nullable serverConfig;
@property(copy, nonatomic) NSArray<AgoraContentInspectModule*>* _Nullable modules;
@end
struct ContentInspectConfig {
const char* extraInfo;
-
+ const char* serverConfig;
+
ContentInspectModule modules[MAX_CONTENT_INSPECT_MODULE_COUNT];
int moduleCount;
ContentInspectConfig& operator=(const ContentInspectConfig& rth)
{
extraInfo = rth.extraInfo;
+ serverConfig = rth.serverConfig;
moduleCount = rth.moduleCount;
memcpy(&modules, &rth.modules, MAX_CONTENT_INSPECT_MODULE_COUNT * sizeof(ContentInspectModule));
return *this;
}
- ContentInspectConfig() :extraInfo(NULL), moduleCount(0){}
+ ContentInspectConfig() :extraInfo(NULL), serverConfig(NULL), moduleCount(0){}
};
export class ContentInspectConfig {
extraInfo?: string;
-
+
modules?: ContentInspectModule[];
moduleCount?: number;
@@ -65,26 +79,33 @@
extraInfo?: string;
+ serverConfig?: string;
+
modules?: ContentInspectModule[];
moduleCount?: number;
}
- class ContentInspectConfig {
+ @JsonSerializable(explicitToJson: true, includeIfNull: false)
+class ContentInspectConfig {
+ const ContentInspectConfig(
+ {this.extraInfo, this.serverConfig, this.modules, this.moduleCount});
- const ContentInspectConfig({this.extraInfo, this.modules, this.moduleCount});
- @JsonKey(name: 'extraInfo')
+ @JsonKey(name: 'extraInfo')
final String? extraInfo;
- @JsonKey(name: 'modules')
- final List<ContentInspectModule>? modules;
+ @JsonKey(name: 'serverConfig')
+ final String? serverConfig;
+
+ @JsonKey(name: 'modules')
+ final List<ContentInspectModule>? modules;
- @JsonKey(name: 'moduleCount')
+ @JsonKey(name: 'moduleCount')
final int? moduleCount;
- factory ContentInspectConfig.fromJson(Map<String, dynamic> json) =>
+ factory ContentInspectConfig.fromJson(Map<String, dynamic> json) =>
_$ContentInspectConfigFromJson(json);
- Map<String, dynamic> toJson() => _$ContentInspectConfigToJson(this);
+ Map<String, dynamic> toJson() => _$ContentInspectConfigToJson(this);
}
@@ -93,15 +114,19 @@
CONTENT_INSPECT_TYPE_INVALID
- (默认)无实际功能。请不要将 type 设为该值。
+ 0:(默认)无实际功能。请不要将 type 设为该值。
CONTENT_INSPECT_TYPE_MODERATION
- 视频鉴黄。SDK 会对本地用户发送的视频进行截图、鉴黄,并将截图和审核结果上传。
+ 1:视频鉴黄。SDK 会对本地用户发送的视频进行截图、鉴黄,并将截图和审核结果上传。
- CONTENT_INSPECT_SUPERVISE
- 视频截图上传。SDK 会对本地用户发送的视频进行截图并上传。
+ CONTENT_INSPECT_TYPE_SUPERVISE
+ 2:使用声网自研插件截图上传。SDK 会对本地用户发送的视频进行截图并上传。
+
+
+ CONTENT_INSPECT_TYPE_IMAGE_MODERATION
+ 3:使用云市场插件截图上传。SDK 会使用云市场视频审核插件对视频流进行截图并上传。
extraInfo
@@ -111,6 +136,10 @@
SDK 会将附加信息和截图一起上传至声网内容审核服务器;审核完成后,声网内容审核服务器会将附加信息随审核结果一起发送给你的服务器。
+
+ serverConfig
+ (可选)云市场视频截图上传相关服务端配置,该参数仅在 中的 type 设置为 时生效。如需使用,请。
+
modules
diff --git a/dita/RTC-NG/API/class_contentinspectmodule.dita b/dita/RTC-NG/API/class_contentinspectmodule.dita
index 22eb3a061f4..2908f8eb3c1 100644
--- a/dita/RTC-NG/API/class_contentinspectmodule.dita
+++ b/dita/RTC-NG/API/class_contentinspectmodule.dita
@@ -74,7 +74,8 @@
- (0):(默认)该功能模块无实际功能。请不要设为该值。
- (1):视频鉴黄。SDK 会对视频流进行截图、鉴黄,并将截图和审核结果上传。
- - (2):视频截图上传。SDK 会对视频流进行截图并上传。
+ - (2):使用声网自研插件截图上传。SDK 会对视频流进行截图并上传。
+ - (3):使用云市场插件截图上传。SDK 会使用云市场视频审核插件对视频流进行截图并上传。
diff --git a/dita/RTC-NG/API/enum_contentinspecttype.dita b/dita/RTC-NG/API/enum_contentinspecttype.dita
index 724b1964de3..390222c6e7f 100644
--- a/dita/RTC-NG/API/enum_contentinspecttype.dita
+++ b/dita/RTC-NG/API/enum_contentinspecttype.dita
@@ -17,7 +17,11 @@
- 2:视频截图。SDK 会对视频流进行截图并上传。
+ 2:使用声网自研插件截图上传。SDK 会对视频流进行截图并上传。
+
+
+
+ 3:使用云市场插件截图上传。SDK 会使用云市场视频审核插件对视频流进行截图并上传。
diff --git a/dita/RTC-NG/API/enum_featuretype.dita b/dita/RTC-NG/API/enum_featuretype.dita
new file mode 100644
index 00000000000..f8616e6d85e
--- /dev/null
+++ b/dita/RTC-NG/API/enum_featuretype.dita
@@ -0,0 +1,28 @@
+
+
+
+
+ 进阶功能类型。
+
+
+
+ 枚举值
+
+
+
+ 1: 虚拟背景功能。
+
+
+
+ 2: 美颜功能。
+
+
+
+
diff --git a/dita/RTC-NG/API/rtc_api_data_type.dita b/dita/RTC-NG/API/rtc_api_data_type.dita
index 904670aed65..e84a289a309 100644
--- a/dita/RTC-NG/API/rtc_api_data_type.dita
+++ b/dita/RTC-NG/API/rtc_api_data_type.dita
@@ -1098,6 +1098,7 @@
+
@@ -1207,6 +1208,7 @@
+
@@ -1280,6 +1282,7 @@
+
@@ -1408,6 +1411,7 @@
+
@@ -2087,6 +2091,7 @@
+
diff --git a/dita/RTC-NG/API/rtc_api_overview.dita b/dita/RTC-NG/API/rtc_api_overview.dita
index e2b5a732edb..f6781b6e065 100644
--- a/dita/RTC-NG/API/rtc_api_overview.dita
+++ b/dita/RTC-NG/API/rtc_api_overview.dita
@@ -2599,6 +2599,10 @@
+
+
+
+
diff --git a/dita/RTC-NG/RTC_NG_API_Android.ditamap b/dita/RTC-NG/RTC_NG_API_Android.ditamap
index 08219be20ed..1c655f640a4 100644
--- a/dita/RTC-NG/RTC_NG_API_Android.ditamap
+++ b/dita/RTC-NG/RTC_NG_API_Android.ditamap
@@ -285,6 +285,7 @@
+
@@ -684,6 +685,7 @@
+
diff --git a/dita/RTC-NG/RTC_NG_API_CPP.ditamap b/dita/RTC-NG/RTC_NG_API_CPP.ditamap
index 82fbaa93323..57ed944eb95 100644
--- a/dita/RTC-NG/RTC_NG_API_CPP.ditamap
+++ b/dita/RTC-NG/RTC_NG_API_CPP.ditamap
@@ -300,6 +300,7 @@
+
@@ -755,6 +756,7 @@
+
diff --git a/dita/RTC-NG/RTC_NG_API_Flutter.ditamap b/dita/RTC-NG/RTC_NG_API_Flutter.ditamap
index 0019cb450e0..4ef7b0ebec8 100644
--- a/dita/RTC-NG/RTC_NG_API_Flutter.ditamap
+++ b/dita/RTC-NG/RTC_NG_API_Flutter.ditamap
@@ -292,6 +292,7 @@
+
@@ -702,6 +703,7 @@
+
diff --git a/dita/RTC-NG/RTC_NG_API_RN.ditamap b/dita/RTC-NG/RTC_NG_API_RN.ditamap
index df3ccb8ec38..cc988f44646 100644
--- a/dita/RTC-NG/RTC_NG_API_RN.ditamap
+++ b/dita/RTC-NG/RTC_NG_API_RN.ditamap
@@ -280,6 +280,7 @@
+
@@ -664,6 +665,7 @@
+
diff --git a/dita/RTC-NG/RTC_NG_API_iOS.ditamap b/dita/RTC-NG/RTC_NG_API_iOS.ditamap
index c304db22049..3d30af35129 100644
--- a/dita/RTC-NG/RTC_NG_API_iOS.ditamap
+++ b/dita/RTC-NG/RTC_NG_API_iOS.ditamap
@@ -288,6 +288,7 @@
+
@@ -669,6 +670,7 @@
+
diff --git a/dita/RTC-NG/RTC_NG_API_macOS.ditamap b/dita/RTC-NG/RTC_NG_API_macOS.ditamap
index e44f3814385..8428d6fdf60 100644
--- a/dita/RTC-NG/RTC_NG_API_macOS.ditamap
+++ b/dita/RTC-NG/RTC_NG_API_macOS.ditamap
@@ -287,6 +287,7 @@
+
@@ -628,6 +629,7 @@
+
diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap
index 10497616e20..f3e01ad92e3 100644
--- a/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap
+++ b/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap
@@ -3882,6 +3882,13 @@
+
+
+
+ enableContentInspectEx
+
+
+
@@ -4017,6 +4024,13 @@
+
+
+
+ isFeatureAvailableOnDevice
+
+
+
@@ -6274,6 +6288,13 @@
+
+
+
+ CONTENT_INSPECT_IMAGE_MODERATION
+
+
+
@@ -8710,6 +8731,27 @@
+
+
+
+ FeatureType
+
+
+
+
+
+
+ VIDEO_VIRTUAL_BACKGROUND
+
+
+
+
+
+
+ VIDEO_BEAUTY_EFFECT
+
+
+
diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-flutter.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-flutter.ditamap
index 82a490b8b82..e93d1dab354 100644
--- a/dita/RTC-NG/config/keys-rtc-ng-api-flutter.ditamap
+++ b/dita/RTC-NG/config/keys-rtc-ng-api-flutter.ditamap
@@ -3589,6 +3589,13 @@
+
+
+
+ enableContentInspectEx
+
+
+
@@ -3724,6 +3731,13 @@
+
+
+
+ isFeatureAvailableOnDevice
+
+
+
@@ -5780,6 +5794,13 @@
+
+
+
+ contentInspectImageModeration
+
+
+
@@ -7964,6 +7985,27 @@
+
+
+
+ FeatureType
+
+
+
+
+
+
+ videoVirtualBackground
+
+
+
+
+
+
+ videoBeautyEffect
+
+
+
diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap
index 6d483eb196e..68d5073df61 100644
--- a/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap
+++ b/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap
@@ -3316,6 +3316,13 @@
+
+
+
+ enableContentInspectEx
+
+
+
@@ -3409,6 +3416,13 @@
+
+
+
+ isFeatureAvailableOnDevice
+
+
+
@@ -5745,6 +5759,13 @@
+
+
+
+ AgoraContentInspectTypeImageModeration
+
+
+
@@ -8104,6 +8125,27 @@
+
+
+
+ AgoraFeatureType
+
+
+
+
+
+
+ AgoraVideoPreprocessVirtualBackground
+
+
+
+
+
+
+ AgoraVideoPreprocessBeauty
+
+
+
diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap
index ce8945be213..ec34f773433 100644
--- a/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap
+++ b/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap
@@ -3565,6 +3565,13 @@
+
+
+
+ enableContentInspectEx
+
+
+
@@ -3658,6 +3665,13 @@
+
+
+
+ isFeatureAvailableOnDevice
+
+
+
@@ -5894,6 +5908,13 @@
+
+
+
+ CONTENT_INSPECT_TYPE_IMAGE_MODERATION
+
+
+
@@ -8078,6 +8099,27 @@
+
+
+
+ FeatureType
+
+
+
+
+
+
+ VIDEO_VIRTUAL_BACKGROUND
+
+
+
+
+
+
+ VIDEO_BEAUTY_EFFECT
+
+
+
diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap
index c8b44dce985..d585fe3149f 100644
--- a/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap
+++ b/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap
@@ -3082,6 +3082,13 @@
+
+
+
+ enableContentInspectEx
+
+
+
@@ -3175,6 +3182,13 @@
+
+
+
+ isFeatureAvailableOnDevice
+
+
+
@@ -5446,6 +5460,13 @@
+
+
+
+ AgoraContentInspectTypeImageModeration
+
+
+
@@ -7791,6 +7812,27 @@
+
+
+
+ AgoraFeatureType
+
+
+
+
+
+
+ AgoraVideoPreprocessVirtualBackground
+
+
+
+
+
+
+ AgoraVideoPreprocessBeauty
+
+
+
diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap
index 01e3085ede8..d0fefe8caf1 100644
--- a/dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap
+++ b/dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap
@@ -3311,6 +3311,13 @@
+
+
+
+ enableContentInspectEx
+
+
+
@@ -3390,6 +3397,13 @@
+
+
+
+ isFeatureAvailableOnDevice
+
+
+
@@ -5545,6 +5559,13 @@
ContentInspectSupervise
+
+
+
+ ContentInspectImageModeration
+
+
+
@@ -7905,6 +7926,27 @@
+
+
+
+ FeatureType
+
+
+
+
+
+
+ videoVirtualBackground
+
+
+
+
+
+
+ videoBeautyEffect
+
+
+
diff --git a/dita/RTC-NG/config/relations-rtc-ng-api.ditamap b/dita/RTC-NG/config/relations-rtc-ng-api.ditamap
index 6aa3bf1ed0c..1657cb83bde 100644
--- a/dita/RTC-NG/config/relations-rtc-ng-api.ditamap
+++ b/dita/RTC-NG/config/relations-rtc-ng-api.ditamap
@@ -39,6 +39,7 @@
+
@@ -2292,6 +2293,7 @@
+
@@ -2542,6 +2544,7 @@
+