数美内容审核
  • 云市场简介
  • 产品简介
  • 使用说明
  • 服务端 API
  • 回调说明
  • 全局返回码
  • 文档中心
  • 数美内容审核
  • 使用说明

使用说明

更新时间:2024-01-29 10:45

本文介绍如何通过 ZEGO 云市场开通、使用数美内容审核服务,快速打造安全合规的实时互动应用。

如果您使用的是即时通讯(ZIM)服务,请参考 控制台 - 云市场 - 数美内容审核 开通权限、完成相关配置,无需其他操作。

开通权限

  1. ZEGO 控制台 创建项目,并申请有效的账号,详情请参考 控制台 - 项目管理 中的“项目信息”。
  2. 参考 控制台 - 云市场 - 数美内容审核,按照页面指引,自助开通 数美内容审核 相关权限。
  3. 服务开通后,您将获得使用以下 6 类服务的审核授权。如果以下内容无法满足您业务的需求,请联系 ZEGO 商务人员沟通。
审核类型 对应业务内容 常见风险
音频流识别
  • 语聊房麦上内容
  • 直播间语音内容
  • 色情
  • 辱骂
视频流识别
  • 直播间主播视频画面
  • 视频聊天画面
  • 色情
  • 广告
文本识别
  • 用户昵称
  • 评论区文本
  • 直播弹幕
  • 辱骂
  • 色情
  • 涉政
  • 广告引流
图片识别
  • 用户头像
  • 评论区图片
  • 色情
  • 广告
音频文件识别
  • 群聊语音消息
  • 论坛语音回复
  • 个人主页语音介绍
  • 辱骂
  • 色情
视频文件识别
评论区视频
  • 色情
  • 广告引流

使用步骤

前提条件

在开始测试或使用数美内容审核服务之前,请确保:

  • 已开通 数美内容审核 权限,或账号处于测试周期内。
  • 已在 ZEGO 云市场 购买套餐包,或已与 ZEGO 商务人员签署合同,采用后付费的计费方式。

审核方式选择与实现

不同的审核内容支持的集成方式有所区别,开发者请根据自己的业务需要,选择合适的实现方式。

审核方式 使用方式 参考文档
智能音频流
向 ZEGO 服务端发起请求进行审核。
使用 ZEGO Express SDK 推流自动审核。
智能视频流
向 ZEGO 服务端发起请求进行审核。
使用 ZEGO Express SDK 推流自动审核。
智能文本
直接请求数美服务端 API 进行审核,请查看 必读信息
智能图片
智能音频文件
智能视频文件

其中,音频流、视频流都支持通过 服务端 APIExpress SDK 实现内容审核,两种方式的对比如下:

接入方式 向 ZEGO 服务端发起请求进行审核 使用 ZEGO Express SDK 推流自动审核
概述
ZEGO 封装了 “数美智能音/视频流识别” 的服务端 API,开发者可以直接向 ZEGO 服务端发起审核请求,接入方式更简单。
基于 ZEGO 的音视频流审核服务端 API,Express SDK 内部实现了 AppID 级别的 推流即开始自动审核 功能。

开发者无需在接口中修改请求参数,直接在 ZEGO 控制台 配置即可。

核心步骤
  1. ZEGO 控制台 注册账号,开通审核服务权限。
  2. ZEGO 控制台 配置回调地址。
  3. 通过指定 URL,向 ZEGO 服务端发起审核请求。
  4. 根据回调地址中的审核结果,处理业务逻辑。
  1. ZEGO 控制台 注册账号,开通审核服务权限。
  2. ZEGO 控制台 配置回调地址。
  3. ZEGO 控制台 配置审核参数。
  4. 在调用推流接口 startPublishingStream 时,配置 1 个推流进阶参数,开始自动审查。
  5. 根据回调地址中的审核结果,处理业务逻辑。
优点
  • 接入更方便。ZEGO 内部封装了鉴权相关的逻辑,您无需额外处理。
  • 接口参数更简洁。摒弃不常用的参数、不会用到的参数,降低配置的复杂度。
  • 极速接入。您只需在 Express SDK 推流时配置 1 个进阶参数,告知服务端当前推流是否需要进行审核,1 行代码即可实现。
  • 您只需解析回调结果,控制自己的业务逻辑,无需额外请求代码。
缺点
由于 ZEGO 本质上是封装的数美服务端 API,需要数美先行支持,ZEGO 再进行封装,所以接口和功能的更新频率相较于数美稍慢。
审核的策略只能在 AppID 级别保持一致,灵活性相对较差,无法对每一条流配置不同的审核策略。

下文对各种审核实现方式进行详细介绍,请您根据自己的业务需要,选择合适的实现方式。

向 ZEGO 服务端发起请求进行审核

在开始调用服务端 API 接口之前,请确保:

  • 已在 ZEGO 控制台 创建项目,并申请有效的 AppId 和 ServerSecret,详情请参考 控制台 - 项目管理 中的“项目信息”。
  • 已准备好调试服务端 API 接口的开发环境,例如已准备好 Postman,详情请参考 调测指南
  • 已准备好自己的客户端,搭建相关的业务场景。
  • 已经在 ZEGO 控制台 配置了接收审核结果的回调地址。

1. 配置公共请求参数

开发者调用每个 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 格式是否合法。

2. 配置 API 相关业务参数

配置完公共参数后,再去配置 API 相关的业务参数,设定所需的目标操作。

业务参数的具体介绍,请参考:

3. 开发者的服务端发起请求

以上配置完成后,开发者的服务端可以通过 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
&<公共请求参数>

4. ZEGO 服务端响应请求,并通过回调地址返回审核结果

ZEGO 服务端接收到开发者的请求信息后,返回响应的信息。

{
    "Code":0,
    "Message":"success",
    "RequestId":"xxxxx",
    "Data":{
                "TaskId":"xxxxx"
           }
}

返回信息字段中,如果 Code 为 “0” 表示请求成功;如果不为 “0” 则表示请求失败,请参考 全局返回码 处理。

通过您在 ZEGO 控制台 配置的回调地址,获取详细的审核结果,回调结果说明请参考:

音/视频流审核仅支持异步返回审核结果。开发者可以根据回调结果,进行业务侧的风控处理,比如对违规用户进行断流、禁言、封号等。

使用 ZEGO Express SDK 推流自动审核

在使用 Express SDK 实现推流自动审核之前,请确保:

1. 调用推流接口,配置参数,开始自动审查

在调用推流接口 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);

2. ZEGO 服务端响应请求,并通过回调地址返回审核结果

ZEGO 服务端接收到开发者的请求信息后,返回响应的信息。

{
    "Code":0,
    "Message":"success",
    "RequestId":"xxxxx",
    "Data":{
                "TaskId":"xxxxx"
           }
}

返回信息字段中,如果 Code 为 “0” 表示请求成功;如果不为 “0” 则表示请求失败,请参考 全局返回码 处理。

通过您在 ZEGO 控制台 配置的回调地址,获取详细的审核结果,回调结果说明请参考:

音/视频流审核仅支持异步返回审核结果。开发者可以根据回调结果,进行业务侧的风控处理,比如对违规用户进行断流、禁言、封号等。

请求数美服务端 API 进行审核(必读信息)

音频流识别视频流识别 之外的 4 类内容,ZEGO 没有封装对应的接口和使用方案,需要您参考数美的文档,自行发起服务端请求,并通过返回值或回调结果,进行业务侧逻辑处理。

在您自行接入数美审核服务前,请确保:

  • 已参考 控制台 - 云市场 - 数美内容审核,按照页面指引,自助开通 数美内容审核 相关权限。
  • 已联系 ZEGO 商务人员,加入了您、数美、ZEGO 三方对接群。
  • 请确保已知悉如下信息:
关键字段 说明
accessKey
数美服务端 API 接口认证密钥,开发者向数美服务端发送请求时必传。
appId
应用标识(请与 ZEGO 项目分配的 AppID 区分开),开发者向数美服务端发送请求时必传。
eventId
审核策略的管理维度,后续策略的调整将以 eventId 为最小调节粒度,开发者向数美服务端发送请求时必传。该字段在三方对接沟通后,由数美技术支持直接提供。建议您在业务侧对数据的类型和来源进行分类,映射为 eventId 字段。
本篇目录