同步检测

本文介绍调用视频同步检测接口(/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缓存等。

表 1. 场景说明

场景

描述

检测结果分类

视频智能鉴黄

检测视频中是否包含色情内容。

正常、色情

视频暴恐涉政

检测视频中是否包含暴恐涉政内容。

正常、暴恐涉政

视频不良场景

检测视频中是否包含不良场景。

正常、不良场景(例如黑屏、白屏)

视频logo

检测视频中是否包含特定的logo。

正常、logo

视频图文违规

检测视频中是否包含广告或违规的文字内容。

正常、广告或文字违规

视频语音违规

说明

该场景仅支持通过视频异步检测接口调用。如需使用,请参见异步检测

检测视频中的语音内容是否包含违规信息。

说明

默认识别语言为中文。如果您需要识别英文内容,请联系商务经理。

正常、含垃圾信息、广告、涉政、暴恐、辱骂、色情、灌水、违禁、自定义(例如命中自定义关键词)

QPS限制

本接口的单用户QPS限制为50次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。

请求参数

名称

类型

是否必选

示例值

描述

bizType

String

default

该字段用于标识您的业务场景。您可以通过内容安全控制台创建业务场景(具体操作,请参见自定义机审标准)。

scenes

StringArray

["porn"]

指定视频检测场景。取值:

  • porn:视频智能鉴黄

  • terrorism:视频暴恐涉政

  • live:视频不良场景

  • logo:视频logo

  • ad:视频图文违规

tasks

JSONArray

指定检测对象,JSON数组中的每个元素是一个检测任务结构体。最多支持100个元素,即每次提交100条内容进行检测,支持100个元素的前提是需要将并发任务调整到100个以上。关于每个元素的具体结构描述,请参见task

表 2. task

名称

类型

是否必选

示例值

描述

clientInfo

JSONObject

{"userId":"12023****","userNick":"Mike","userType":"others"}

客户端信息,请参见公共参数中的公共查询参数。

服务器会把全局的clientInfo和此处独立的clientInfo合并。

说明

独立的clientInfo优先级更高。

dataId

String

videoId****

检测对象对应的数据ID。

由大小写英文字母、数字、下划线(_)、短划线(-)、英文句号(.)组成,不超过128个字符,可以用于唯一标识您的业务数据。

frames

JSONArray

待检测视频的截帧信息。frames中的每个元素是个结构体,关于每个元素的具体结构描述,请参见frame

单次检测视频的截帧个数最多为200个。

framePrefix

String

截帧地址的前缀,与frame.url一起组成截帧的完整地址。视频截帧的完整地址格式为framePrefix + frame.url,请参见frame

表 3. frame

名称

类型

是否必选

示例值

描述

url

String

http://www.aliyundoc.com/test0001.jpg

检测对象的URL。

  • 公网HTTP/HTTPS URL,且长度不超过2048个字符。

  • 阿里云OSS提供的文件路径。您需要先授权内容安全访问OSS存储空间,仅限相同区域的OSS空间。更多信息,请参见授权内容安全访问OSS存储空间

    文件路径格式:oss://<bucket-name>.<endpoint>/<object-name>

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

表 4. result

名称

类型

示例值

描述

scene

String

porn

视频检测场景,和调用请求中的场景对应。取值:

  • porn:视频智能鉴黄

  • terrorism:视频暴恐涉政

  • live:视频不良场景

  • logo:视频logo

  • ad:视频图文违规

label

String

porn

视频检测结果的分类。不同检测场景的结果分类不同,具体如下:

  • 视频智能鉴黄(porn)结果分类:

    • normal:正常

    • porn:色情

  • 视频暴恐涉政(terrorism)结果分类:

    • normal:正常

    • terrorism:暴恐涉政

  • 视频不良场景(live)结果分类:

    • normal:正常

    • live:包含不良场景

  • 视频logo(logo)结果分类:

    • normal:正常

    • logo:包含logo

  • 视频图文违规(ad)结果分类:

    • normal:正常

    • ad:包含广告或文字违规信息

sublabel

String

porn

如果检测场景包含智能鉴黄(porn)和暴恐涉政(terrorism),则该字段可以返回检测结果的细分类标签。

该字段默认不会返回。如果有需要,请加入钉群(钉群号:35573806),联系产品技术专家进行咨询。

suggestion

String

block

建议您执行的后续操作。取值:

  • pass:结果正常,无需进行其余操作。

  • review:结果不确定,需要进行人工审核。

  • block:结果违规,建议直接删除或者限制公开。

rate

Float

99.2

置信度分数,取值范围:0(表示置信度最低)~100(表示置信度最高)。

如果suggestionpass,则置信度越高,表示内容正常的可能性越高;如果suggestionreviewblock,则置信度越高,表示内容违规的可能性越高。

重要

建议您参考suggestionlabel(或者部分接口返回的sublabel)结果用于内容违规判定。

frames

JSONArray

包含违规内容的视频截帧的信息。具体结构描述,请参见frame

extras

JSONObject

额外附加信息。

图文违规(ad)场景中,该参数可能返回以下内容。

hitLibInfo:如果视频中的文字命中了自定义文本库,则返回命中的文本库信息。具体结构描述,请参见hitLibInfo

hintWordsInfo

JSONArray

视频中含有广告或文字违规信息时,返回视频中广告文字命中的风险关键词信息。具体结构描述,请参见hintWordsInfo

说明

只有图文违规(ad)场景会返回该结果。

logoData

JSONArray

视频中含有logo时,返回识别出来的logo信息,具体结构描述,请参见logoData

说明

只有视频logo(logo)场景会返回该结果。

sfaceData

JSONArray

视频中包含暴恐涉政内容时,返回识别出来的暴恐涉政信息,具体结构描述,请参见sfaceData

说明

只有视频暴恐涉政(terrorism)场景会返回该结果。

表 5. frame

名称

类型

示例值

描述

url

String

http://www.aliyundoc.com/test0001.jpg

检测对象的URL。

  • 公网HTTP/HTTPS URL,且长度不超过2048个字符。

  • 阿里云OSS提供的文件路径。您需要先授权内容安全访问OSS存储空间,仅限相同区域的OSS空间。更多信息,请参见授权内容安全访问OSS存储空间

    文件路径格式:oss://<bucket-name>.<endpoint>/<object-name>

offset

Integer

50

视频截帧距离片头的时间戳,单位为秒。

label

String

porn

视频截帧的检测结果分类。

rate

Float

99.1

置信度分数,取值范围:0~100,置信度越高表示检测结果的可信度越高。建议您不要在业务中使用该分数。

表 6. logoData
名称类型示例值描述
typeStringTV识别出的logo类型,取值为TV(台标)。
nameStringxxx台识别出的logo名称。
xFloat140以图片左上角为坐标原点,logo区域左上角到y轴距离,单位:像素。
yFloat68以图片左上角为坐标原点,logo区域左上角到x轴距离,单位:像素。
wFloat106logo区域宽度,单位:像素。
hFloat106logo区域高度,单位:像素。
表 7. sfaceData
名称类型示例值描述
xFloat49以图片左上角为坐标原点,人脸区域左上角到y轴距离,单位:像素。
yFloat39以图片左上角为坐标原点,人脸区域左上角到x轴距离,单位:像素。
wFloat97人脸区域宽度,单位:像素。
hFloat131人脸区域高度,单位:像素。
facesJSONArray[{"name":"命中人名","rate":91.54,"id":"AliFace_0123****"}]识别出的人脸信息,具体结构如下:
  • name:字符串类型,相似人物的名称。
  • rate:浮点数类型,置信度分数,取值范围:0(表示置信度最低)~100(表示置信度最高)。置信度越高表示人物识别结果的可信度越高。
  • id:字符串类型,人脸ID。
表 8. hitLibInfo
名称类型示例值描述
contextString好看视频文字命中的自定义文本内容。
libCodeString123456文字命中的自定义文本内容对应的库code。
libNameStringabc文字命中的自定义文本内容对应的库名称。
表 9. hintWordsInfo
名称类型示例值描述
contextString好看视频文字命中的风险关键词内容。

示例

请求示例

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
                        }
                    ]
                }
            ]
        }
    ]
}