直播鉴黄

最近更新时间:2019-08-02 10:15:38

开通直播鉴黄,首先要开通直播截图功能,您可以通过 云直播控制台 或直播截图鉴黄 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 中,您可以只通过 confidence 字段来判断直播是否涉黄。

注意:

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

完整协议如下:

参数 是否必填 数据类型 描述
tid 必填 Number 预警策略 ID,视频内容预警:20001
streamId 选填 String 流名称
channelId 选填 string 频道 ID
img 必填 string 预警图片链接
type 必填 Array 图片房间类型, 1 :色情图片, 2 :性感图片, 3 - 9 :其他
confidence 必填 Number 识别为黄图的置信度,范围 0-100;normalScore, hotScore, pornScore 的综合评分,confidence 大于 83 定为疑似图片
normalScore 必填 Number 图片为正常图片的评分
hotScore 必填 Number 图片为性感图片的评分
pornScore 必填 Number 图片为色情图片的评分
level 选填 Number 图片的级别
ocrMsg 选填 string 图片的 OCR 识别信息(如果存在)
screenshotTime 必填 Number 截图时间
sendTime 必填 Number 请求发送时间,UNIX 时间戳
abductionRisk 选填 Array 一个包含 AbductionRisk 结构的数组
faceDetails 选填 Array 一个包含人脸属性 faceDetail 的结构的数组
gameDetails 选填 Object 游戏详情信息

AbductionRisk介绍

参数 是否必填 数据类型 描述
level 必填 Number 风险等级范围0 - 4,数字越大风险越高,3和4表示恶意,建议进行处理
type 必填 Number 风险类型,20002:色情

faceDetail说明

参数名称 是否必填 类型 描述
gender 选填 Number 性别 [0(female) - 100(male)]
age 选填 Number 年龄
expression 选填 Number 微笑 [0(normal) - 50(smile) - 100(laugh)]
beauty 选填 Number 魅力 [0 - 100]
x 选填 Number 人脸框左上角 x
y 选填 Number 人脸框左上角 y
width 选填 Number 人脸框宽度
height 选填 Number 人脸框高度

gameDetails说明

参数名称 是否必填 类型 描述
battlegrounds 选填 Object 绝地求生信息
gameList 选填 Array 游戏列表

gameList

参数名称 是否必填 类型 描述
name 选填 String 游戏名称
confidence 选填 Number 概率

另外,HTTP Header 中的包含 TPD-SecretIDTPD-CallBack-Auth 字段,可以用来供用户鉴权。
签名计算:Signature = base64_encode(hash_hmac('SHA1', $Body, $SecretKey, true)),SecretKey 为 SecretId 对应的 SecretKey。

请求示例如下:
HTTP Header:

TPD-SecretID : SecretId

TPD-CallBack-Auth: Signature

TPD-CallBack-Version : version

HTTP Body:

{

"ocrMsg":"",

"type":[2],

"confidence":0,

"normalScore":6,

"hotScore":93,

"pornScore":0,

"screenshotTime":1534087026,

"level":0,

"img": "[http://XXXXXX-1234567890.file.myqcloud.com/2018-12-12/XTEST-screenshot-23-17-06-368x640.jpg](http://XXXXXX-1234567890.file.myqcloud.com/2018-12-12/XTEST-screenshot-23-17-06-368x640.jpg)",

"abductionRisk":[],

"faceDetails":[],

"sendTime":1534087026,

"tid":20001,

"streamId":"TEST_169787468",

"channelId":"TEST_169787468"

}

关闭直播鉴黄

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

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

  • 调用 DeleteLiveSnapshotRule,通过模板 ID 删除 DomainName、 AppName、StreamName 下对应直播截图规格。
  • 调用 ModifyLiveSnapshotRule,修改 AppName、StreamName 下对应模板规则的直播模板 ID 为未开通鉴黄功能的直播模板 ID。

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

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