本文介绍调用视频同步检测接口(/green/video/syncscan)审核视频内容的方法。视频审核帮助您检测视频中的风险或违规内容,具体包括以下场景:视频智能鉴黄、视频暴恐涉政、视频图文违规、视频不良场景、视频logo。
使用说明
业务接口:/green/video/syncscan,表示视频同步检测。
您可以调用该接口创建视频同步检测任务。关于如何构造HTTP请求,请参见请求结构;您也可以直接选用已构造好的HTTP请求,更多信息,请参见SDK概览。
计费信息:
该接口为收费接口。关于计费方式,请参见内容安全产品定价。
同时检测多个场景的情况下,将按照
每个场景的检测视频截帧数量×每个场景的单价
进行累加计费。检测对象:
视频同步检测接口只支持通过上传视频截帧图片的方式进行检测。如果您想通过上传视频URL的方式进行检测,推荐您使用视频异步检测接口。
视频截帧要求:
视频帧链接支持以下协议:HTTP和HTTPS。
视频帧支持以下格式:PNG、JPG、JPEG、BMP、GIF、WEBP。
视频帧大小限制为10 MB以内。
视频帧像素建议不低于256*256(px),像素过低可能会影响识别效果。
视频检测接口的响应时间依赖视频帧的下载时间。请保证被检测视频帧所在的存储服务稳定可靠,建议您使用阿里云OSS存储或者CDN缓存等。
场景 | 描述 | 检测结果分类 |
视频智能鉴黄 | 检测视频中是否包含色情内容。 | 正常、色情 |
视频暴恐涉政 | 检测视频中是否包含暴恐涉政内容。 | 正常、暴恐涉政 |
视频不良场景 | 检测视频中是否包含不良场景。 | 正常、不良场景(例如黑屏、白屏) |
视频logo | 检测视频中是否包含特定的logo。 | 正常、logo |
视频图文违规 | 检测视频中是否包含广告或违规的文字内容。 | 正常、广告或文字违规 |
视频语音违规 说明 该场景仅支持通过视频异步检测接口调用。如需使用,请参见异步检测。 | 检测视频中的语音内容是否包含违规信息。 说明 默认识别语言为中文。如果您需要识别英文内容,请联系商务经理。 | 正常、含垃圾信息、广告、涉政、暴恐、辱骂、色情、灌水、违禁、自定义(例如命中自定义关键词) |
QPS限制
本接口的单用户QPS限制为50次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
bizType | String | 否 | default | |
scenes | StringArray | 是 | ["porn"] | 指定视频检测场景。取值:
|
tasks | JSONArray | 是 | 指定检测对象,JSON数组中的每个元素是一个检测任务结构体。最多支持100个元素,即每次提交100条内容进行检测,支持100个元素的前提是需要将并发任务调整到100个以上。关于每个元素的具体结构描述,请参见task。 |
名称 | 类型 | 是否必选 | 示例值 | 描述 |
clientInfo | JSONObject | 否 | {"userId":"12023****","userNick":"Mike","userType":"others"} | 客户端信息,请参见公共参数中的公共查询参数。 服务器会把全局的clientInfo和此处独立的clientInfo合并。 说明 独立的clientInfo优先级更高。 |
dataId | String | 否 | videoId**** | 检测对象对应的数据ID。 由大小写英文字母、数字、下划线(_)、短划线(-)、英文句号(.)组成,不超过128个字符,可以用于唯一标识您的业务数据。 |
frames | JSONArray | 是 | 待检测视频的截帧信息。frames中的每个元素是个结构体,关于每个元素的具体结构描述,请参见frame。 单次检测视频的截帧个数最多为200个。 | |
framePrefix | String | 否 | 截帧地址的前缀,与 |
名称 | 类型 | 是否必选 | 示例值 | 描述 |
url | String | 是 | http://www.aliyundoc.com/test0001.jpg | 公网HTTP/HTTPS URL,且长度不超过2048个字符。 |
offset | Integer | 否 | 10 | 截帧距离片头的时间戳,单位为秒。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
code | Integer | 200 | 错误码,和HTTP状态码一致。 更多信息,请参见公共错误码。 |
msg | String | OK | 请求参数的响应信息。 |
dataId | String | videoId**** | 检测对象对应的数据ID。 说明 如果在检测请求参数中传入了dataId,则此处返回对应的dataId。 |
taskId | String | taskId**** | 检测任务的ID。 |
results | JSONArray | 返回结果,调用成功时(code=200),返回结果中包含一个或多个元素。每个元素是个结构体,具体结构描述,请参见result。 |
名称 | 类型 | 示例值 | 描述 |
scene | String | porn | 视频检测场景,和调用请求中的场景对应。取值:
|
label | String | porn | 视频检测结果的分类。不同检测场景的结果分类不同,具体如下:
|
sublabel | String | porn | 如果检测场景包含智能鉴黄(porn)和暴恐涉政(terrorism),则该字段可以返回检测结果的细分类标签。 该字段默认不会返回。 |
suggestion | String | block | 建议您执行的后续操作。取值:
|
rate | Float | 99.2 | 置信度分数,取值范围:0(表示置信度最低)~100(表示置信度最高)。 如果suggestion为pass,则置信度越高,表示内容正常的可能性越高;如果suggestion为review或block,则置信度越高,表示内容违规的可能性越高。 重要 建议您参考suggestion和label(或者部分接口返回的sublabel)结果用于内容违规判定。 |
frames | JSONArray | 包含违规内容的视频截帧的信息。具体结构描述,请参见frame。 | |
extras | JSONObject | 额外附加信息。 图文违规(ad)场景中,该参数可能返回以下内容。 hitLibInfo:如果视频中的文字命中了自定义文本库,则返回命中的文本库信息。具体结构描述,请参见hitLibInfo。 | |
hintWordsInfo | JSONArray | 视频中含有广告或文字违规信息时,返回视频中广告文字命中的风险关键词信息。具体结构描述,请参见hintWordsInfo。 说明 只有图文违规(ad)场景会返回该结果。 | |
logoData | JSONArray | 视频中含有logo时,返回识别出来的logo信息,具体结构描述,请参见logoData。 说明 只有视频logo(logo)场景会返回该结果。 | |
sfaceData | JSONArray | 视频中包含暴恐涉政内容时,返回识别出来的暴恐涉政信息,具体结构描述,请参见sfaceData。 说明 只有视频暴恐涉政(terrorism)场景会返回该结果。 |
名称 | 类型 | 示例值 | 描述 |
url | String | http://www.aliyundoc.com/test0001.jpg | 公网HTTP/HTTPS URL,且长度不超过2048个字符。 |
offset | Integer | 50 | 视频截帧距离片头的时间戳,单位为秒。 |
label | String | porn | 视频截帧的检测结果分类。 |
rate | Float | 99.1 | 置信度分数,取值范围:0~100,置信度越高表示检测结果的可信度越高。建议您不要在业务中使用该分数。 |
名称 | 类型 | 示例值 | 描述 |
type | String | TV | 识别出的logo类型,取值为TV(台标)。 |
name | String | xxx台 | 识别出的logo名称。 |
x | Float | 140 | 以图片左上角为坐标原点,logo区域左上角到y轴距离,单位:像素。 |
y | Float | 68 | 以图片左上角为坐标原点,logo区域左上角到x轴距离,单位:像素。 |
w | Float | 106 | logo区域宽度,单位:像素。 |
h | Float | 106 | logo区域高度,单位:像素。 |
名称 | 类型 | 示例值 | 描述 |
x | Float | 49 | 以图片左上角为坐标原点,人脸区域左上角到y轴距离,单位:像素。 |
y | Float | 39 | 以图片左上角为坐标原点,人脸区域左上角到x轴距离,单位:像素。 |
w | Float | 97 | 人脸区域宽度,单位:像素。 |
h | Float | 131 | 人脸区域高度,单位:像素。 |
faces | JSONArray | [{"name":"命中人名","rate":91.54,"id":"AliFace_0123****"}] | 识别出的人脸信息,具体结构如下:
|
名称 | 类型 | 示例值 | 描述 |
context | String | 好看视频 | 文字命中的自定义文本内容。 |
libCode | String | 123456 | 文字命中的自定义文本内容对应的库code。 |
libName | String | abc | 文字命中的自定义文本内容对应的库名称。 |
名称 | 类型 | 示例值 | 描述 |
context | String | 好看视频 | 文字命中的风险关键词内容。 |
示例
请求示例
http(s)://[Endpoint]/green/video/syncscan
&<公共请求参数>
{
"scenes": [
"porn"
],
"tasks": [
{
"dataId": "videoId****",
"frames": [
{
"offset": 10,
"url": "http://www.aliyundoc.com/0B860000586C0A0300038A0460000"
},
{
"offset": 20,
"url": "http://www.aliyundoc.com/0B860000586C0A0300038A0460001"
},
{
"offset": 30,
"url": "http://www.aliyundoc.com/0B860000586C0A0300038A0460002"
},
{
"offset": 40,
"url": "http://www.aliyundoc.com/0B860000586C0A0300038A0460003"
},
{
"offset": 50,
"url": "http://www.aliyundoc.com/0B860000586C0A0300038A0460003"
},
{
"offset": 60,
"url": "http://www.aliyundoc.com/0B860000586C0A0300038A046000x"
}
]
}
]
}
正常返回示例
{
"code": 200,
"msg": "OK",
"requestId": "requestID****",
"data": [
{
"code": 200,
"msg": "OK",
"dataId": "videoId****",
"taskId": "taskId****",
"results": [
{
"label": "porn",
"rate": 99.2,
"scene": "porn",
"suggestion": "block",
"frames": [
{
"offset": 50,
"url": "http://www.aliyundoc.comm/0B860000586C0A0300038A0460003",
"label": "porn",
"rate": 99.1
}
]
}
]
}
]
}