在你的音视频应用中,你可能需要对用户通过 RTC 发送的视频、音频内容进行审核,识别其中违规内容信息,供后续处理。
你可以使用 StartDetection 这个 OpenAPI 实现这一功能。

接口描述

你可以使用 StartDetection 接口,对房间内指定用户通过 RTC 发送的视频和音频内容开启安全审核,识别其中内容违规信息。若可能存在违规,你指定的地址会收到违规信息回调。

首次调用 StartDetection 接口时,会初始化审核相关资源,用时大概 1 分钟,在此期间可能会由于准备资源而漏审。

前置条件
  1. 已开通 RTC 服务。参考开通服务。
  2. 已实现 RTC 的视频/音频通话。
调用接口

关于调用接口的服务地址、通信协议、字符编码和签名机制,参看调用 OpenAPI。

请求方式

使用 POST 方式发起请求。

请求参数

Query

参数名类型必填示例值描述
ActionString是StartDetection接口名称,本接口取值:StartDetection
VersionString是2020-12-01接口版本,本接口取值:2020-12-01

Body

参数名类型必填示例值描述
AppIdstring是Your_AppId应用的唯一标志
RoomIdstring是Your_RoomId房间 ID,是房间的唯一标志
UserIdstring是Your_UserId用户 ID,要审核的用户ID
Callbackstring否[http://xxx.xxx.xxx/xxx/callback](http://xxx.xxx.xxx/xxx/callback)回调地址
开启审核后,如果可能存在违规信息,此地址会收到违规信息回调。如果地址无效或为空,审核会继续,但不会收到违规信息的回调结果。
MediaTypeInteger否1进行审核的内容类型:
1:视频截图;
2:音频切片;
3:视频截图+音频切片(默认值)
截图与切片具体过程,参看审核过程。
IntervalInteger否2000相邻截图之间的间隔时间,范围为[100,600000]。单位 ms。默认值为2000。
DurationInteger否20000每段音频切片的时长,范围为[1000,600000]。单位 ms。默认值为20000。该参数不建议设置过大,如果设置过大 一有审核延迟的问题,二会造成最后一段切片计费误差向上取整偏大。
IdleSecInteger否180任务最大空闲超时时间。如果指定的用户停止推流或素材间隔过长,导致素材接收不到,那么审核任务会在空闲时间超过设定值后自动停止。值的范围为[1,10800],单位为秒。默认值为180。
CallbackTypeInteger否0回调种类:0违规回调、1全部回调。默认0

审核过程:

请求示例代码

请求路径:

https://rtc.volcengineapi.com?Action=StartDetection&Version=2020-12-01
postscript

Request Body:

{
    "AppId" : "Your_AppId",
    "RoomId" : "Your_RoomId",   
    "UserId" : "Your_UserId",
    "Callback": "http://xxx.xxx.xxx/r/callback/v1"
}
json
返回调用结果
正常返回示例
{
    "ResponseMetadata": {
        "RequestId": "Your_RequestId",
        "Action": "StartDetection",
        "Version": "2020-12-01",
        "Service": "rtc",
        "Region": "cn-north-1"
    },
    "Result":{
        "Message": "success"
    }
}
json