控制台指南

最佳实践

开发者指南

数据湖存储

API 文档

SDK 文档

数据库文档捉虫大赛邀您参加,好礼多多> HOT

简介

内容审核功能是由 数据万象(Cloud Infinite,CI)提供的,数据万象将处理能力与 COS SDK 完全结合,您可以直接按照本篇文档指引进行使用。

说明:

使用内容审核服务需拥有数据万象使用权限:

本文档提供关于视频审核的 API 概览和 SDK 示例代码。

注意:

COS 小程序 SDK 版本需要大于等于 v1.1.1。

API 操作描述
提交视频审核任务 用于提交一个视频审核任务
查询视频审核任务结果 用于查询指定的视频审核任务

提交视频审核任务

功能说明

用于提交一个视频审核任务。

请求示例

var config = {
  // 需要替换成您自己的存储桶信息
  Bucket: 'examplebucket-1250000000', /* 存储桶,必须 */
  Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */
};
function postVideoAuditing() {
  var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com';
  var url = 'https://' + host + '/video/auditing';
  var body = COS.util.json2xml({
    Request: {
      Input: {
        Object: '1.mp4', /* 需要审核的视频文件,存储桶里的路径 */
      },
      Conf: {
        BizType: '',
        DetectType: 'Porn',
        Snapshot: {
          Count: 1000, // 视频截帧数量
        },
        DetectContent: 1, // 是否审核视频声音,0-只审核视频不审核声音;1-审核视频+声音
      }
    }
  });
  cos.request({
      Bucket: config.Bucket,
      Region: config.Region,
      Method: 'POST',
      Url: url,
      Key: '/video/auditing', /** 固定值,必须 */
      ContentType: 'application/xml', /** 固定值,必须 */
      Body: body
  },
  function(err, data){
      console.log(err || data);
  });
}

参数说明

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

Container 类型 Conf 的具体数据描述如下:

节点名称(关键字) 父节点 描述 类型 是否必选
DetectType Request.Conf 审核的场景类型,有效值:Porn(涉黄)、Ads(广告),可以传入多种类型,不同类型以逗号分隔,例如:Porn,Ads。 String
Snapshot Request.Conf 视频画面的审核通过视频截帧能力截取出一定量的截图,通过对截图逐一审核而实现的,该参数用于指定视频截帧的配置。 Container
Callback Request.Conf 回调地址,以 http:// 或者 https:// 开头的地址。 String
CallbackVersion Request.Conf 回调内容的结构,有效值:Simple(回调内容包含基本信息)、Detail(回调内容包含详细信息)。默认为 Simple。 String
BizType Request.Conf 审核策略,不带审核策略时使用默认策略。 String
DetectContent Request.Conf 用于指定是否审核视频声音,当值为0时:表示只审核视频画面截图;值为1时:表示同时审核视频画面截图和视频声音。默认值为0。 Integer

Container 类型 Snapshot 的具体数据描述如下:

节点名称(关键字) 父节点 描述 类型 是否必选
Mode Request.Conf.Snapshot 截帧模式。Interval 表示间隔模式;Average 表示平均模式;Fps 表示固定帧率模式。
  • Interval 模式:TimeInterval,Count 参数生效。当设置 Count,未设置 TimeInterval 时,表示截取所有帧,共 Count 张图片。
  • Average 模式:Count 参数生效。表示整个视频,按平均间隔截取共 Count 张图片。
  • Fps 模式:TimeInterval 表示每秒截取多少帧,Count 表示共截取多少帧。
String
Count Request.Conf.Snapshot 视频截帧数量,范围为(0, 10000]。 String
TimeInterval Request.Conf.Snapshot 视频截帧频率,范围为(0, 60],单位为秒,支持 float 格式,执行精度精确到毫秒。 Float

返回结果说明

详情请参见 提交视频审核任务

查询视频审核任务结果

功能说明

用于查询视频审核任务执行情况和结果。

请求示例

var config = {
  // 需要替换成您自己的存储桶信息
  Bucket: 'examplebucket-1250000000', /* 存储桶,必须 */
  Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */
};
function getVideoAuditingResult() {
  var jobId = 'av14d9ca15af3a11eca0d6525400d88xxx'; // jobId可以通过提交视频审核任务返回
  var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com';
  var url = 'https://' + host + '/video/auditing/' + jobId;
  cos.request({
      Bucket: config.Bucket,
      Region: config.Region,
      Method: 'GET',
      Key: '/video/auditing/' + jobId,
      Url: url,
  },
  function(err, data){
      console.log(err || data);
  });
}

参数说明

参数名称 描述 类型 是否必选
jobId 需要查询的任务 ID。 String

返回结果说明

详情请参见 查询视频审核任务结果

目录