简介
内容审核功能是由 数据万象(Cloud Infinite,CI)提供的,数据万象将处理能力与 COS SDK 完全结合,您可以直接按照本篇文档指引进行使用。
说明:使用内容审核服务需拥有数据万象使用权限:
- 主账号请 单击此处 进行角色授权。
- 子账号请参见 授权子账号接入数据万象服务 文档。
本文档提供关于视频审核的 API 概览和 SDK 示例代码。
注意:COS Javascript SDK 版本需要大于等于 v1.3.1。
API | 操作描述 |
---|---|
提交视频审核任务 | 用于提交一个视频审核任务 |
查询视频审核任务结果 | 用于查询指定的视频审核任务 |
提交视频审核任务
功能说明
用于提交一个视频审核任务。
请求示例
function postVideoAuditing() {
var config = {
// 需要替换成您自己的存储桶信息
Bucket: 'examplebucket-1250000000', /* 存储桶,必须 */
Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */
};
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);
});
}
postVideoAuditing();
参数说明
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 表示固定帧率模式。 |
String | 否 |
Count | Request.Conf.Snapshot | 视频截帧数量,范围为(0, 10000]。 | String | 否 |
TimeInterval | Request.Conf.Snapshot | 视频截帧频率,范围为(0, 60],单位为秒,支持 float 格式,执行精度精确到毫秒。 | Float | 否 |
返回结果说明
详情请参见 提交视频审核任务。
查询视频审核任务结果
功能说明
用于查询视频审核任务执行情况和结果。
请求示例
function getVideoAuditingResult() {
var config = {
// 需要替换成您自己的存储桶信息
Bucket: 'examplebucket-1250000000', /* 存储桶,必须 */
Region: 'COS_REGION', /* 存储桶所在地域,必须字段 */
};
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);
});
}
getVideoAuditingResult();
参数说明
参数名称 | 描述 | 类型 | 是否必选 |
---|---|---|---|
jobId | 需要查询的任务 ID | String | 是 |
返回结果说明
详情请参见 查询视频审核任务结果。