在你的音视频应用中,你可能需要对用户通过 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。若不填,则审核房间内所有推流用户。最多可以审核 17 路流。关于房间级审核与单流审核,请参看注释1
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。

    注释1:

    审核过程:

    请求示例代码
    Query
    https://rtc.volcengineapi.com?Action=StartDetection&Version=2020-12-01
    
    postscript
    Body
    {
        "AppId" : "Your_AppId",
        "RoomId" : "Your_RoomId",   
        "UserId" : "Your_UserId",
        "Callback": "http://xxx.xxx.xxx/r/callback/v1"
    }
    
    json
    返回调用结果

    返回值 Result 仅在请求成功时返回"success",失败时为空。

    正常返回示例
    {
        "ResponseMetadata": {
            "RequestId": "Your_RequestId",
            "Action": "StartDetection",
            "Version": "2020-12-01",
            "Service": "rtc",
            "Region": "cn-north-1"
        },
        "Result":{
            "Message": "success"
        }
    }
    
    json