API 文档

直播鉴黄

最近更新时间:2021-09-23 10:17:48

开通直播鉴黄,首先要开通直播截图功能,您可以通过 云直播控制台 或直播截图鉴黄 API 来实现,本文主要介绍如何通过直播截图鉴黄 API 来实现直播鉴黄功能。

开通直播鉴黄

由于直播鉴黄是基于直播截图的,因此开通直播鉴黄必须开通直播截图功能,以下为具体操作。

1. 创建带鉴黄功能的直播截图模板

调用 CreateLiveSnapshotTemplate, 通过设置 PornFlag = 1,创建一个带鉴黄功能的直播截图模板。

2. 创建带鉴黄功能的直播截图规则

调用 CreateLiveSnapshotRule,创建带鉴黄功能的直播截图规则,将第1步创建的直播截图模板 ID 关联到需要鉴黄的直播 AppId、DomainName、AppName、StreamName 维度下。

3. 发起直播,开始鉴黄

创建带鉴黄功能直播截图规则后,新发起的直播会自动开启鉴黄功能,对于正在直播中的直播流,如需开启直播鉴黄,需要停止、重新发起直播才会生效。

获取直播鉴黄结果

在开通了直播鉴黄功能后,您可在鉴黄回调模板中配置注册的回调域名,则云直播后台会将鉴黄结果回调给您。

注意:

默认只会将可疑结果进行回调,正常结果不会回调。

1. 创建直播鉴黄回调模板

调用 CreateLiveCallbackTemplate,设置 PornCensorshipNotifyUrl 参数为您的域名,创建直播鉴黄回调模板。

2. 创建直播鉴黄回调规则

调用 CreateLiveCallbackRule,创建带鉴黄功能的直播截图规则,将上一步创建的直播截图模板 ID 关联到需要鉴黄回调的直播 AppId、DomainName、AppName 维度下。

3. 获取鉴黄结果

直播后台会将鉴黄结果通过 HTTP POST 请求发送到您注册的域名,鉴黄结果以 JSON 格式存放在 HTTP Body 中,您可以只通过 type 字段来判断直播是否涉黄。

注意:

我们这里建议使用图片的type对黄图进行评判,由于检测系统判定无法做到100%准确率,会有少量图片会识别成疑似色情或识别结果不对,建议可以进行人工二次确认。

完整协议如下:

参数 是否必填 数据类型 描述
streamId 选填 String 流名称
channelId 选填 string 频道 ID
img 必填 string 预警图片链接
type 必填 Array 返回检测结果(labelResults)中所对应的优先级最高的恶意标签,表示模型推荐的审核结果,建议您按照业务所需,对不同违规类型与建议值进行处理。返回值:
  • 0:正常
  • 1:色情
  • 6:谩骂
  • 8:广告
  • 2-5、7:其他令人反感、不安全或不适宜的内容类型
score 必填 Array type 对应的评分
hotScore 必填 Number 图片为性感图片的评分
pornScore 必填 Number 图片为色情图片的评分
illegalScore 必填 Number 图片为违法图片的评分
polityScore 必填 Number 图片为涉政图片的评分
terrorScore 必填 Number 图片为暴恐图片的评分
abuseScore 必填 Number 图片为谩骂图片的评分
teenagerScore 必填 Number 图片为青少年不适宜图片的评分
adScore 必填 Number 图片为 adScore 图片的评分
ocrMsg 选填 string 图片的 OCR 识别信息(如果存在)
suggestion 必填 string 建议值,取值可选:
  • Block:打击
  • Review:待复审
  • Pass:正常
label 必填 string 返回检测结果(labelResults)中所对应的优先级最高的恶意标签,表示模型推荐的审核结果,建议您按照业务所需,对不同违规类型与建议值进行处理。返回值:
  • Normal:正常
  • Porn:色情
  • Abuse:谩骂
  • Ad:广告
  • Custom:其他令人反感、不安全或不适宜的内容类型
subLabel 必填 string 子标签名称,当未命中子标签时,返回空字符串
labelResults 选填 Array of LabelResult 分类检测模型审核结果,包括涉黄、性感、涉暴、违法违规等审核结果
objectResults 选填 Array of ObjectResult 实体检测模型审核结果,包括政治实体、广告台标、二维码等审核信息
ocrResults 选填 Array of OcrResult OCR文本审核结果,包括 OCR 文本相关信息,以及文本审核明细结果
libResults 选填 Array of LibResult 风险图库审核结果
screenshotTime 必填 Number 截图时间
sendTime 必填 Number 请求发送时间,UNIX 时间戳
similarScore 选填 Number 图片相识度评分
stream_param 选填 String 推流参数
app 选填 String 推流域名
appid 选填 Number 业务 ID
appname 选填 String 推流 path 路径

LabelResult

分类模型命中结果。

名称 类型 描述
Scene String 返回模型识别出的场景结果,如广告、色情、有害内容等场景。
Suggestion String 返回针对当前恶意标签的后续操作建议。当您获取到判定结果后,返回值表示系统推荐的后续操作;建议您按照业务所需,对不同违规类型与建议值进行处理。 返回值:
  • Block:建议屏蔽
  • Review :建议人工复审
  • Pass:建议通过
Label String 返回检测结果所对应的恶意标签。 返回值:
  • Normal:正常
  • Porn:色情
  • Abuse:谩骂
  • Ad:广告
  • Custom:其他令人反感、不安全或不适宜的内容类型
SubLabel String 子标签名称
Score Integer 该标签模型命中的分值
Details Array of LabelDetailItem 分类模型命中子标签明细结果

LabelDetailItem

分类模型命中子标签结果。

名称 类型 描述
Id Integer 序号
Name String 子标签名称
Score Integer 子标签分数,取值范围0分 - 100分

ObjectResult

实体检测结果详情。

名称 类型 描述
Scene String 返回实体识别出的实体场景结果,如二维码、logo、图片 OCR 等场景。
Suggestion String 返回针对当前恶意标签的后续操作建议。当您获取到判定结果后,返回值表示系统推荐的后续操作;建议您按照业务所需,对不同违规类型与建议值进行处理。返回值:
  • Block:建议屏蔽
  • Review :建议人工复审
  • Pass:建议通过
Label String 返回检测结果所对应的恶意标签,表示模型推荐的审核结果,建议您按照业务所需,对不同违规类型与建议值进行处理。返回值:
  • Normal:正常
  • Porn:色情
  • Abuse:谩骂
  • Ad:广告
  • Custom:其他令人反感、不安全或不适宜的内容类型
SubLabel String 子标签名称
Score Integer 所属场景模型命中子标签的分值,取值范围0分 - 100分
Names Array of String 实体名称列表
Details Array of ObjectDetail 实体检测结果明细

ObjectDetail

实体检测结果明细,当检测场景为政治实体、涉政人物、广告台标、二维码和人脸属性时表示模型检测目标框的标签名称、标签值、标签分数以及检测框的位置信息。

名称 类型 描述
Id Integer 序号
Name String 标签名称
Value String 标签值:
  • 当场景为 Ad 时,表示 URL 地址。例如 Name 为 QrCode 时,Value 取值为 http//abc.com/aaa
  • 当场景为 FaceAttribute 时,代表人脸属性信息。例如 Name 为 Age 时,Value 取值为 18
Score Integer 分数,取值范围0分 - 100分
Location Location 检测框坐标

Location

坐标。

名称 类型 描述
X Float 左上角横坐标
Y Float 左上角纵坐标
Width Float 宽度
Height Float 高度
Rotate Float 检测框的旋转角度

OcrResult

OCR 结果检测详情。

名称 类型 描述
Scene String 表示识别场景,取值默认为 OCR(图片 OCR 识别)。
Suggestion String 返回优先级最高的恶意标签对应的后续操作建议。当您获取到判定结果后,返回值表示系统推荐的后续操作;建议您按照业务所需,对不同违规类型与建议值进行处理。返回值:
  • Block:建议屏蔽
  • Review :建议人工复审
  • Pass:建议通过
Label String 返回 OCR 检测结果所对应的优先级最高的恶意标签,表示模型推荐的审核结果,建议您按照业务所需,对不同违规类型与建议值进行处理。返回值:
  • Normal:正常
  • Porn:色情
  • Abuse:谩骂
  • Ad:广告
  • Custom:其他令人反感、不安全或不适宜的内容类型
SubLabel String 子标签名称
Score Integer 所属场景模型命中子标签的分值,取值范围0分 - 100分
Text String 文本内容
Details Array of OcrTextDetail OCR 结果详情

OcrTextDetail

OCR 文本结果详情。

名称 类型 描述
Text String 返回 OCR 识别出的文本内容(OCR 文本识别上限在5000字节内) 。
Label String 返回检测结果所对应的恶意标签。返回值:
  • Normal:正常
  • Porn:色情
  • Abuse:谩骂
  • Ad:广告
  • Custom:其他令人反感、不安全或不适宜的内容类型
Keywords Array of String 该标签下命中的关键词
Score Integer 该标签模型命中的分值,取值范围0分 - 100分
Location Location OCR 文本坐标位置

LibResult

黑白库结果明细。

名称 类型 描述
Scene String 表示模型的场景识别结果,默认取值为 Similar。
Suggestion String 返回后续操作建议。当您获取到判定结果后,返回值表示系统推荐的后续操作;建议您按照业务所需,对不同违规类型与建议值进行处理。 返回值:
  • Block:建议屏蔽
  • Review :建议人工复审
  • Pass:建议通过
Label String 返回检测结果所对应的恶意标签。返回值:
  • Normal:正常
  • Porn:色情
  • Abuse:谩骂
  • Ad:广告
  • Custom:其他令人反感、不安全或不适宜的内容类型
SubLabel String 子标签名称
Score Integer 图片检索模型识别分值,取值范围0分 - 100分
Details Array of LibDetail 黑白库结果明细

LibDetail

自定义库/黑白库明细。

名称 类型 描述
Id Integer 序号
ImageId String 图片 ID
Label String 返回检测结果所对应的恶意标签。返回值:
  • Normal:正常
  • Porn:色情
  • Abuse:谩骂
  • Ad:广告
  • Custom:其他令人反感、不安全或不适宜的内容类型
Tag String 自定义标签
Score Integer 模型识别分值,取值范围0分 - 100分

请求示例

{
"ocrMsg": "",
"type": [1],
"socre": 99,
"hotScore": 0,
"pornScore": 99,
"screenshotTime": 1610640000,
"level": 0,
"img": "http://1.1.1.1/download/porn/test.jpg",
"abductionRisk": [],
"faceDetails": [],
"sendTime": 1615859827,
"illegalScore": 0,
"polityScore": 0,
"similarScore": 0,
"terrorScore": 0,
"abuseScore": 0,
"teenagerScore": 0,
"adScore": 0,
"suggestion": "Block",
"label": "Porn",
"subLabel": "PornHigh",
"labelResults": [{
"HitFlag": 0,
"Scene": "Illegal",
"Suggestion": "Pass",
"Label": "Normal",
"SubLabel": "",
"Score": 0,
"Details": []
}, {
"HitFlag": 1,
"Scene": "Porn",
"Suggestion": "Block",
"Label": "Porn",
"SubLabel": "PornHigh",
"Score": 99,
"Details": [{
"Id": 0,
"Name": "PornHigh",
"Score": 99
}, {
"Id": 1,
"Name": "WomenChest",
"Score": 99
}]
}, {
"HitFlag": 0,
"Scene": "Sexy",
"Suggestion": "Pass",
"Label": "Normal",
"SubLabel": "",
"Score": 0,
"Details": []
}, {
"HitFlag": 0,
"Scene": "Terror",
"Suggestion": "Pass",
"Label": "Normal",
"SubLabel": "",
"Score": 0,
"Details": []
}],
"objectResults": [{
"HitFlag": 0,
"Scene": "QrCode",
"Suggestion": "Pass",
"Label": "Normal",
"SubLabel": "",
"Score": 0,
"Names": [],
"Details": []
}, {
"HitFlag": 0,
"Scene": "MapRecognition",
"Suggestion": "Pass",
"Label": "Normal",
"SubLabel": "",
"Score": 0,
"Names": [],
"Details": []
}, {
"HitFlag": 0,
"Scene": "PolityFace",
"Suggestion": "Pass",
"Label": "Normal",
"SubLabel": "",
"Score": 0,
"Names": [],
"Details": []
}],
"ocrResults": [{
"HitFlag": 0,
"Scene": "OCR",
"Suggestion": "Pass",
"Label": "Normal",
"SubLabel": "",
"Score": 0,
"Text": "",
"Details": []
}],
"streamId": "teststream",
"channelId": "teststream",
"stream_param": "txSecret=40f38f69f574fd51126c421a3d96c374&txTime=5DEBEC80",
"app": "5000.myqcloud.com",
"appname": "live",
"appid": 10000,
"event_type": 317,
"sign": "ac920c3e66**********78cf1b5de2c63",
"t": 1615860427
}

关闭直播鉴黄

关闭直播鉴黄,可以通过删除截图规则或修改截图模板来实现,所有删除与修改操作只对新的直播生效;对于已经开始的直播,如要关闭鉴黄,必须停止、重新发起直播才会生效。

1. 删除鉴黄截图规则来实现

调用 DeleteLiveSnapshotRule,通过模板 ID 删除 DomainName、 AppName、StreamName 下对应直播截图规格。

2. 删除或修改鉴黄截图模板来实现

调用 ModifyLiveSnapshotTemplate 修改直播模板的鉴黄标志为0。

目录