tencent cloud

文档反馈

提交视频审核任务

最后更新时间:2024-01-20 11:24:09

    功能描述

    本接口用于提交一个视频审核任务。视频审核功能为异步任务方式,您可以通过提交视频审核任务审核您的视频文件,然后通过 查询视频审核任务接口视频审核回调 查询审核结果。
    该接口支持情况如下:
    说明:
    支持审核腾讯云 COS 上的视频文件。
    支持审核第三方云存储厂商的视频 URL。
    支持对视频文件进行自动检测,从 OCR 文本识别、物体检测(实体、广告台标、二维码等)、图像识别及音频审核四个维度,通过深度学习技术,识别视频中的违规内容。
    支持设置回调地址 Callback 获取检测结果,或通过 查询视频审核任务结果接口 主动轮询获取审核结果详情。
    支持识别多种违规场景,包括:色情、违法、广告等场景。
    支持根据不同的业务场景 配置自定义的审核策略
    支持用户自定义配置黑白图片库,打击自定义违规内容。

    费用说明

    视频的审核分为视频画面审核视频截帧视频声音审核,其中:
    视频画面审核:基于视频截帧能力,通过视频截帧将视频截取为多张图片进行审核,审核费用与图片审核一致。
    视频截帧:会产生相应的 视频截帧费用
    视频声音审核:将视频声音分离出来进行音频审核,审核费用与音频审核一致。
    每个审核场景单独计费,例如您选择审核涉黄、广告两种场景,则审核1个视频计2次审核费用。
    调用接口会产生图片审核费用、音频审核费用 和 COS 读请求费用
    如果音频文件属于 COS 上的低频存储类型,调用审核会产生 COS 低频数据取回费用
    不支持审核 COS 上的归档存储类型和深度归档存储类型的音频,如果需要审核此类型音频,请先 恢复归档文件

    限制说明

    视频文件大小支持:文件 < 5GB
    视频文件支持格式:flv、mkv、mp4 、rmvb、avi、wmv、3gp、mov、m3u8、m4v 等。
    支持用户配置审核视频画面或视频声音。

    推荐使用 SDK

    对象存储 SDK 提供了完整的 Demo、自动集成、计算签名等能力。您可通过 SDK 方便快捷地调用接口。点此查看 SDK 文档

    请求

    请求示例

    POST /video/auditing HTTP/1.1
    Host: <BucketName-APPID>.ci.<Region>.myqcloud.com
    Date: <GMT Date>
    Authorization: <Auth String>
    Content-Length: <length>
    Content-Type: application/xml
    
    <body>
    说明:
    Authorization: Auth String(详情请参见 请求签名 文档)。
    通过子账号使用时,需要授予相关的权限,详情请参见 授权粒度详情 文档。

    请求头

    此接口仅使用公共请求头部,详情请参见 公共请求头部 文档。

    请求体

    该请求操作的实现需要有如下请求体。
    <Request>
    <Input>
    <Object></Object>
    <DataId></DataId>
    </Input>
    <Conf>
    <Snapshot>
    <Mode>Interval</Mode>
    <TimeInterval></TimeInterval>
    <Count></Count>
    </Snapshot>
    <Callback></Callback>
    <BizType></BizType>
    <DetectContent></DetectContent>
    </Conf>
    </Request>
    具体的数据描述如下:
    节点名称(关键字)
    父节点
    描述
    类型
    是否必选
    Request
    视频审核的具体配置项。
    Container
    Container 类型 Request 的具体数据描述如下:
    节点名称(关键字)
    父节点
    描述
    类型
    是否必选
    Input
    Request
    需要审核的视频。
    Container
    Conf
    Request
    审核规则配置。
    Container
    Container 类型 Input 的具体数据描述如下:
    节点名称(关键字)
    父节点
    描述
    类型
    是否必选
    Object
    Request.Input
    当前 COS 存储桶中的视频文件名称,例如在目录 test 中的文件 video.mp4,则文件名称为 test/video.mp4。
    String
    Url
    Request.Input
    视频文件的链接地址,例如 http://examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/test.mp4。Object 和 Url 只能选择其中一种。
    String
    DataId
    Request.Input
    该字段在审核结果中会返回原始内容,长度限制为512字节。您可以使用该字段对待审核的数据进行唯一业务标识。
    String
    UserInfo
    Request.Input
    用户业务字段。
    Container
    Container 节点 UserInfo 的内容:
    节点名称(关键字)
    父节点
    描述
    类型
    是否必选
    TokenId
    Request.Input.UserInfo
    用户业务 TokenId,长度不超过128字节。
    String
    Nickname
    Request.Input.UserInfo
    用户业务 Nickname,长度不超过128字节。
    String
    DeviceId
    Request.Input.UserInfo
    用户业务 DeviceId,长度不超过128字节。
    String
    AppId
    Request.Input.UserInfo
    用户业务 AppId,长度不超过128字节。
    String
    Room
    Request.Input.UserInfo
    用户业务 Room,长度不超过128字节。
    String
    IP
    Request.Input.UserInfo
    用户业务 IP,长度不超过128字节。
    String
    Type
    Request.Input.UserInfo
    用户业务 Type,长度不超过128字节。
    String
    ReceiveTokenId
    Request.Input.UserInfo
    用户业务 ReceiveTokenId,长度不超过128字节。
    String
    Gender
    Request.Input.UserInfo
    用户业务 Gender,长度不超过128字节。
    String
    Level
    Request.Input.UserInfo
    用户业务 Level,长度不超过128字节。
    String
    Role
    Request.Input.UserInfo
    用户业务 Role,长度不超过128字节。
    String
    Container 类型 Conf 的具体数据描述如下:
    节点名称(关键字)
    父节点
    描述
    类型
    是否必选
    BizType
    Request.Conf
    表示审核策略的唯一标识,您可以通过控制台上的审核策略页面,配置您希望审核的场景,如色情、广告、违法违规等,配置指引: 设置公共审核策略。您可以在控制台上获取到 BizType。BizType 填写时,此条审核请求将按照该审核策略中配置的场景进行审核。BizType 不填写时,将自动使用默认的审核策略。
    String
    Snapshot
    Request.Conf
    视频画面的审核通过视频截帧能力截取出一定量的截图,通过对截图逐一审核而实现的,该参数用于指定视频截帧的配置。
    Container
    Callback
    Request.Conf
    回调地址,以 http:// 或者 https:// 开头的地址。
    String
    CallbackVersion
    Request.Conf
    回调内容的结构,有效值:Simple(回调内容包含基本信息)、Detail(回调内容包含详细信息)。默认为 Simple。
    String
    DetectContent
    Request.Conf
    用于指定是否审核视频声音,当值为0时:表示只审核视频画面截图;值为1时:表示同时审核视频画面截图和视频声音。默认值为0。
    Integer
    CallbackType
    Request.Conf
    回调片段类型,有效值:1(回调全部截帧和音频片段)、2(回调违规截帧和音频片段)。默认为 1。
    Integer
    Freeze
    Request.Conf
    自动冻结配置项,可配置指定审核分数的结果进行自动冻结。
    Container
    Container 类型 Snapshot 的具体数据描述如下:
    节点名称(关键字)
    父节点
    描述
    类型
    是否必选
    Mode
    Request.Conf.Snapshot
    表示视频的截帧模式,有效值:Interval、Average、Fps。
    Interval 表示间隔模式:每间隔 TimeInterval 秒截取一帧;当设置 Count,未设置 TimeInterval 时,表示截取所有帧,共 Count 帧。
    Average 表示平均模式:选择该模式时 TimeInterval 参数不生效,需要结合 Count 参数使用,表示整个视频,按平均间隔截取共 Count 张图片
    Fps 表示固定帧率模式:选择该模式时, TimeInterval 参数表示每秒截取多少帧,未设置 TimeInterval 时,表示截取所有帧,Count 表示共截取多少帧。
    String
    Count
    Request.Conf.Snapshot
    视频截帧数量,范围为(0, 10000]。
    Integer
    TimeInterval
    Request.Conf.Snapshot
    视频截帧频率,范围为(0, 60],单位为秒,支持 float 格式,执行精度精确到毫秒。
    Float
    Container 类型 Freeze 的具体数据描述如下:
    节点名称(关键字)
    父节点
    描述
    类型
    是否必选
    PornScore
    Request.Conf.Freeze
    取值为[0,100],表示当色情审核结果大于或等于该分数时,自动进行冻结操作。不填写则表示不自动冻结,默认值为空。
    Integer
    AdsScore
    Request.Conf.Freeze
    取值为[0,100],表示当广告审核结果大于或等于该分数时,自动进行冻结操作。不填写则表示不自动冻结,默认值为空。
    Integer
    其他审核场景的冻结参数,请 联系服务人员咨询。

    响应

    响应头

    此接口仅返回公共响应头部,详情请参见 公共响应头部 文档。

    响应体

    该响应体返回为 application/xml 数据,包含完整节点数据的内容展示如下:
    <Response>
    <JobsDetail>
    <DataId></DataId>
    <JobId></JobId>
    <State></State>
    <CreationTime></CreationTime>
    </JobsDetail>
    <RequestId></RequestId>
    </Response>
    具体的数据内容如下:
    节点名称(关键字)
    父节点
    描述
    类型
    Response
    视频审核返回的具体响应内容。
    Container
    Container 节点 Response 的内容:
    节点名称(关键字)
    父节点
    描述
    类型
    JobsDetail
    Response
    视频审核任务的详细信息。
    Container
    RequestId
    Response
    每次请求发送时,服务端将会自动为请求生成一个 ID,遇到问题时,该 ID 能更快地协助定位问题。
    String
    Container 节点 JobsDetail 的内容:
    节点名称(关键字)
    父节点
    描述
    类型
    DataId
    Response.JobsDetail
    请求中添加的唯一业务标识。
    String
    JobId
    Response.JobsDetail
    本次视频审核任务的 ID。
    String
    State
    Response.JobsDetail
    视频审核任务的状态,值为 Submitted(已提交审核)、Snapshoting(视频截帧中)、Success(审核成功)、Failed(审核失败)、Auditing(审核中)其中一个。
    String
    CreationTime
    Response.JobsDetail
    视频审核任务的创建时间。
    String

    错误码

    该请求操作无特殊错误信息,常见的错误信息请参见 错误码 文档。

    实际案例

    请求

    POST /video/auditing HTTP/1.1
    Authorization: q-sign-algorithm=sha1&q-ak=AKIDZfbOAo7cllgPvF9cXFrJD0a1ICvR****&q-sign-time=1497530202;1497610202&q-key-time=1497530202;1497610202&q-header-list=&q-url-param-list=&q-signature=28e9a4986df11bed0255e97ff90500557e0e****
    Host: examplebucket-1250000000.ci.ap-beijing.myqcloud.com
    Content-Length: 166
    Content-Type: application/xml
    
    <Request>
    <Input>
    <Object>a.mp4</Object>
    <DataId>123-fdrsg-123</DataID>
    </Input>
    <Conf>
    <DetectType>Porn,Ads</DetectType>
    <Snapshot>
    <Mode>Interval</Mode>
    <TimeInterval>50</TimeInterval>
    <Count>100</Count>
    </Snapshot>
    <Callback>http://callback.com/</Callback>
    <BizType>b81d45f94b91a683255e9a9506f45a11</BizType>
    <DetectContent>1</DetectContent>
    </Conf>
    </Request>

    响应

    HTTP/1.1 200 OK
    Content-Type: application/xml
    Content-Length: 230
    Connection: keep-alive
    Date: Thu, 15 Jun 2017 12:37:29 GMT
    Server: tencent-ci
    x-ci-request-id: NTk0MjdmODlfMjQ4OGY3XzYzYzhf****
    
    <Response>
    <JobsDetail>
    <DataId>123-fdrsg-123</DataID>
    <JobId>vab1ca9fc8a3ed11ea834c525400863904</JobId>
    <State>Submitted</State>
    <CreationTime>2021-08-07T12:12:12+0800</CreationTime>
    </JobsDetail>
    <RequestId>xxxxxxxxxxxxxx</RequestId>
    </Response>