本文介绍了调用视频同步检测接口(/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":"120234234","userNick":"Mike","userType":"others"} 客户端信息,请参见公共参数中的公共查询参数。
服务器会把全局的clientInfo和此处独立的clientInfo合并。
说明 独立的clientInfo优先级更高。
dataId String videoId xxx 检测对象对应的数据ID。

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

frames JSONArray 待检测视频的截帧信息。frames中的每个元素是个结构体,关于每个元素的具体结构描述,请参见frame
framePrefix String 截帧地址的前缀,与frame.url一起组成截帧的完整地址。视频截帧的完整地址格式为framePrefix + frame.url,请参见frame
表 3. frame
名称 类型 是否必选 示例值 描述
url String http://g1.ykimg.com/0B860000586C0A0300038A0460000 视频截帧的URL,与framePrefix一起组成截帧的完整地址。视频截帧的完整地址格式为framePrefix + frame.url
offset Integer 10 截帧距离片头的时间戳,单位为秒。

返回数据

名称 类型 示例值 描述
code Integer 200 错误码,和HTTP状态码一致。

更多信息,请参见公共错误码

msg String OK 请求参数的响应信息。
dataId String videoId xxx 检测对象对应的数据ID。
说明 如果在检测请求参数中传入了dataId,则此处返回对应的dataId
taskId String taskId xxx 检测任务的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),则该字段可以返回检测结果的细分类标签。

该字段默认不会返回。如果有需要,您可以提交工单联系我们进行配置,配置后才会返回。

suggestion String block 建议您执行的后续操作。取值:
  • pass:结果正常,无需进行其余操作。
  • review:结果不确定,需要进行人工审核。
  • block:结果违规,建议直接删除或者限制公开。
rate Float 99.2 置信度分数,取值范围:0(表示置信度最低)~100(表示置信度最高)。
如果suggestionpass,则置信度越高,表示内容正常的可能性越高;如果suggestionreviewblock,则置信度越高,表示内容违规的可能性越高。
注意 建议您参考suggestionlabel(或者部分接口返回的sublabel)结果用于内容违规判定。
frames JSONArray 包含违规内容的视频截帧的信息。具体结构描述,请参见frame
extras JSONObject 额外附加信息。

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

hitLibInfo:如果视频中的文字命中了自定义文本库,则返回命中的文本库信息。具体结构描述,请参见hitLibInfo
"hitLibInfo":[{"context":"好看视频","libCode":"2144002","libName":"预发测试广告相似文本库a"}]
hintWordsInfo JSONArray 视频中含有广告或文字违规信息时,返回视频中广告文字命中的风险关键词信息。具体结构描述,请参见hintWordsInfo
说明 只有图文违规(ad)场景会返回该结果。
logoData JSONArray 视频中含有logo时,返回识别出来的logo信息,具体结构描述,请参见logoData
说明 只有视频logo(logo)场景会返回该结果。
sfaceData JSONArray 视频中包含暴恐识涉政内容时,返回识别出来的暴恐涉政信息,具体结构描述,请参见sfaceData
说明 只有视频暴恐涉政(terrorism)场景会返回该结果。
表 5. frame
名称 类型 示例值 描述
url String http://g1.ykimg.com/0B860000586C0A0300038A0460003 视频截帧的地址。
offset Integer 50 视频截帧距离片头的时间戳,单位为秒。
label String porn 视频截帧的检测结果分类。
rate Floa 99.1 置信度分数,取值范围:0~100,置信度越高表示检测结果的可信度越高。建议您不要在业务中使用该分数。
表 6. logoData
名称 类型 示例值 描述
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区域高度,单位:像素。
表 7. sfaceData
名称 类型 示例值 描述
x Float 49 以图片左上角为坐标原点,人脸区域左上角到y轴距离,单位:像素。
y Float 39 以图片左上角为坐标原点,人脸区域左上角到x轴距离,单位:像素。
w Float 97 人脸区域宽度,单位:像素。
h Float 131 人脸区域高度,单位:像素。
faces JSONArray [{"id":"AliFace_0001234","name":"命中人名","rate":91.54}] 识别出的人脸信息,具体结构如下:
  • name:字符串类型,相似人物的名称。
  • rate:浮点数类型,置信度分数,取值范围:0(表示置信度最低)~100(表示置信度最高)。置信度越高表示人物识别结果的可信度越高。
  • id:字符串类型,人脸ID。
表 8. hitLibInfo
名称 类型 示例值 描述
context String xxxx 文字命中的自定义文本内容。
libCode String 123456 文字命中的自定义文本内容对应的库code。
libName String abc 文字命中的自定义文本内容对应的库名称。
表 9. hintWordsInfo
名称 类型 示例值 描述
context String xxxx 文字命中的风险关键词内容。

示例

请求示例
{
    "scenes": [
        "porn"
    ],
    "tasks": [
        {
            "dataId": "videoId xxx",
            "frames": [
                {
                    "offset": 10,
                    "url": "http://g1.ykimg.com/0B860000586C0A0300038A0460000"
                },
                {
                    "offset": 20,
                    "url": "http://g1.ykimg.com/0B860000586C0A0300038A0460001"
                },
                {
                    "offset": 30,
                    "url": "http://g1.ykimg.com/0B860000586C0A0300038A0460002"
                },
                {
                    "offset": 40,
                    "url": "http://g1.ykimg.com/0B860000586C0A0300038A0460003"
                },
                {
                    "offset": 50,
                    "url": "http://g1.ykimg.com/0B860000586C0A0300038A0460003"
                },
                {
                    "offset": 60,
                    "url": "http://g1.ykimg.com/0B860000586C0A0300038A046000x"
                }
            ]
        }
    ]
}
正常返回示例
{
    "code": 200,
    "msg": "OK",
    "requestId": "requestID xxx",
    "data": [
        {
            "code": 200,
            "msg": "OK",
            "dataId": "videoId xxx",
            "taskId": "taskId xxx",
            "results": [
                {
                    "label": "porn",
                    "rate": 99.2,
                    "scene": "porn",
                    "suggestion": "block",
                    "frames": [
                        {
                            "offset": 50,
                            "url": "http://g1.ykimg.com/0B860000586C0A0300038A0460003",
                            "label": "porn",
                            "rate": 99.1
                        }
                    ]
                }
            ]
        }
    ]
}