本文介绍如何通过 ZEGO 云市场开通、使用数美内容审核服务,快速打造安全合规的实时互动应用。
如果您使用的是即时通讯(ZIM)服务,请参考 控制台 - 云市场 - 数美内容审核 开通权限、完成相关配置,无需其他操作。
数美内容审核
相关权限。审核类型 | 对应业务内容 | 常见风险 |
---|---|---|
音频流识别 |
|
|
视频流识别 |
|
|
文本识别 |
|
|
图片识别 |
|
|
音频文件识别 |
|
|
视频文件识别 |
评论区视频 |
|
在开始测试或使用数美内容审核服务之前,请确保:
数美内容审核
权限,或账号处于测试周期内。不同的审核内容支持的集成方式有所区别,开发者请根据自己的业务需要,选择合适的实现方式。
审核方式 | 使用方式 | 参考文档 |
---|---|---|
智能音频流 |
向 ZEGO 服务端发起请求进行审核。 |
|
使用 ZEGO Express SDK 推流自动审核。 |
||
智能视频流 |
向 ZEGO 服务端发起请求进行审核。 |
|
使用 ZEGO Express SDK 推流自动审核。 |
||
智能文本 |
直接请求数美服务端 API 进行审核,请查看 必读信息。 |
|
智能图片 |
||
智能音频文件 |
||
智能视频文件 |
其中,音频流、视频流都支持通过 服务端 API
和 Express SDK
实现内容审核,两种方式的对比如下:
接入方式 | 向 ZEGO 服务端发起请求进行审核 | 使用 ZEGO Express SDK 推流自动审核 |
---|---|---|
概述 | ZEGO 封装了 “数美智能音/视频流识别” 的服务端 API,开发者可以直接向 ZEGO 服务端发起审核请求,接入方式更简单。 |
基于 ZEGO 的音视频流审核服务端 API,Express SDK 内部实现了 AppID 级别的 推流即开始自动审核 功能。开发者无需在接口中修改请求参数,直接在 ZEGO 控制台 配置即可。 |
核心步骤 | ||
优点 |
|
|
缺点 | 由于 ZEGO 本质上是封装的数美服务端 API,需要数美先行支持,ZEGO 再进行封装,所以接口和功能的更新频率相较于数美稍慢。 |
审核的策略只能在 AppID 级别保持一致,灵活性相对较差,无法对每一条流配置不同的审核策略。 |
下文对各种审核实现方式进行详细介绍,请您根据自己的业务需要,选择合适的实现方式。
在开始调用服务端 API 接口之前,请确保:
开发者调用每个 ZEGO 服务端 API 前,需要先配置 API 的公共请求参数。
公共请求参数,是指每个接口都需要使用到的请求参数,包含了 AppId、Signature(指 2 生成的签名信息)、SignatureNonce(随机字符串)、Timestamp(时间戳)等参数,请根据实际情况修改。公共参数的具体介绍,请参考 调用方式 中的 “2.1 公共请求参数”。
https://rtc-api.zego.im/?Action=StartCensorAudio
&AppId=1234567890
&SignatureNonce=15215528852396
&Timestamp=1234567890
&Signature=Pc5WB8gokVn0xfeu%2FZV%2BiNM1dgI%3D
&SignatureVersion=2.0
&IsTest=false
开发者可以在 服务端 API 校验 页面中,输入 URL 地址,验证签名信息、公共参数、以及 URL 格式是否合法。
配置完公共参数后,再去配置 API 相关的业务参数,设定所需的目标操作。
业务参数的具体介绍,请参考:
以上配置完成后,开发者的服务端可以通过 URL 地址,向 ZEGO 服务端发送请求。
请求示例如下:
https://rtc-api.zego.im/?Action=StartCensorAudio
&RoomId=RoomAudio
&StreamId=StreamId_1635941431395593000
&AudioType[]=1
&ReturnAllText=1
&ReturnPreText=1
&ReturnPreAudio=1
&ReturnFinishInfo=1
&<公共请求参数>
https://rtc-api.zego.im/?Action=StartCensorVideo
&RoomId=RoomVideo
&StreamId=StreamId_1635941431395593000
&ImageType[]=1
&ImageType[]=2
&AudioType[]=1
&ReturnAllImage=1
&ReturnAllText=1
&ReturnFinishInfo=1
&DetectFrequency=1
&DetectStep=5
&<公共请求参数>
ZEGO 服务端接收到开发者的请求信息后,返回响应的信息。
{
"Code":0,
"Message":"success",
"RequestId":"xxxxx",
"Data":{
"TaskId":"xxxxx"
}
}
返回信息字段中,如果 Code 为 “0” 表示请求成功;如果不为 “0” 则表示请求失败,请参考 全局返回码 处理。
通过您在 ZEGO 控制台 配置的回调地址,获取详细的审核结果,回调结果说明请参考:
音/视频流审核仅支持异步返回审核结果。开发者可以根据回调结果,进行业务侧的风控处理,比如对违规用户进行断流、禁言、封号等。
在使用 Express SDK 实现推流自动审核之前,请确保:
在调用推流接口 startPublishingStream 时,配置参数 ZegoPublisherConfig.streamCensorshipMode,自动开始审查。
以 Android 实现代码为例:
//预览
engine.startPreview(previewCanvas);
// Start publishing stream
ZegoPublisherConfig config = new ZegoPublisherConfig();
config.roomID = "xxx";
//根据实际选择,填入不同的审核音视频参数
config.streamCensorshipMode = ZegoStreamCensorshipMode.AUDIO_AND_VIDEO;
engine.startPublishingStream(publishStreamID,config,ZegoPublishChannel.MAIN);
ZEGO 服务端接收到开发者的请求信息后,返回响应的信息。
{
"Code":0,
"Message":"success",
"RequestId":"xxxxx",
"Data":{
"TaskId":"xxxxx"
}
}
返回信息字段中,如果 Code 为 “0” 表示请求成功;如果不为 “0” 则表示请求失败,请参考 全局返回码 处理。
通过您在 ZEGO 控制台 配置的回调地址,获取详细的审核结果,回调结果说明请参考:
音/视频流审核仅支持异步返回审核结果。开发者可以根据回调结果,进行业务侧的风控处理,比如对违规用户进行断流、禁言、封号等。
音频流识别
和 视频流识别
之外的 4 类内容,ZEGO 没有封装对应的接口和使用方案,需要您参考数美的文档,自行发起服务端请求,并通过返回值或回调结果,进行业务侧逻辑处理。
在您自行接入数美审核服务前,请确保:
数美内容审核
相关权限。关键字段 | 说明 |
---|---|
accessKey |
数美服务端 API 接口认证密钥,开发者向数美服务端发送请求时必传。 |
appId |
应用标识(请与 ZEGO 项目分配的 AppID 区分开),开发者向数美服务端发送请求时必传。 |
eventId |
审核策略的管理维度,后续策略的调整将以 eventId 为最小调节粒度,开发者向数美服务端发送请求时必传。该字段在三方对接沟通后,由数美技术支持直接提供。建议您在业务侧对数据的类型和来源进行分类,映射为 eventId 字段。 |
联系我们
文档反馈