这篇主要讲解触发音频审核回调事件后,腾讯云直播发送给用户的回调消息通知字段。
一、注意事项
·阅读这篇之前,请确保你已经了解腾讯云直播是如何配置回调功能以及如何接收回调消息。详细操作请参见 如何接收事件通知。
·直播音频审核默认只会将可疑违规结果进行回调,正常结果不会回调。
二、事件类型参数
| 事件类型 | 字段取值说明 |
| 直播音频审核 | event_type = 315 |
三、回调公共参数
| 字段名称 | 类型 | 说明 |
| t | int64 | 过期时间,事件通知签名过期 UNIX 时间戳。来自腾讯云的消息通知默认过期时间是10分钟,如果一条消息通知中的 t 值所指定的时间已经过期,则可以判定这条通知无效,进而可以防止网络重放攻击。t 的格式为十进制 UNIX 时间戳,即从1970年01月01日(UTC/GMT 的午夜)开始所经过的秒数。 |
| sign | string | 事件通知安全签名 sign = MD5(key + t)。腾讯云把加密 key 和 t 进行字符串拼接后通过 MD5 计算得出 sign 值,并将其放在通知消息里。你的后台服务器在收到通知消息后可以根据同样的算法确认 sign 是否正确,进而确认消息是否确实来自腾讯云后台。 |
注意:说明:
注意:key 为功能配置 >直播回调 中的回调密钥,主要用于鉴权。为了保护你的数据信息安全,建议你填写。
注意:
四、回调消息参数
| 参数 | 是否必填 | 数据类型 | 描述 |
| appid | 必填 | Number | 业务 ID。 |
| bizid | 选填 | Number | 业务 ID (已废弃)。 |
| stream_id | 必填 | String | 流名称。 |
| channel_id | 必填 | String | 频道 ID。 |
| domain | 必填 | String | 推流域名。 |
| path | 选填 | String | 推流 path 路径。 |
| HitFlag | 选填 | Number | 该字段用于返回审核内容是否命中审核模型;取值:0(未命中)、1(命中)。 |
| Score | 选填 | Number | 该字段用于返回当前标签下的置信度,取值范围:0(置信度最低)-100(置信度最高 )。 |
| SubTag | 选填 | String | 该字段为附属二级标签。 |
| task_id | 选填 | Number | 音频审核任务 ID。 |
| status | 选填 | Number | 回调状态,取值:2(正常)。 |
| asr_text | 选填 | String | 音频文本。 |
| cdn_url | 选填 | String | CDN 地址。 |
| duration | 选填 | Number | 音频识别时长(秒)。 |
| label | 选填 | String | 该字段用于返回检测结果中所对应的优先级最高的恶意标签,表示模型推荐的审核结果,建议你按照业务所需,对不同违规类型与建议值进行处理。 |
| language_results | 选填 | Array of AudioResultDetailLanguageResult | 该字段用于返回音频小语种检测的详细审核结果。具体结果内容请参见 AudioResultDetailLanguageResult 数据结构的细节描述。注意:此字段可能返回 null,表示取不到有效值。 |
| moan_results | 选填 | Array of MoanResult | 音频中低俗内容审核结果。注意:此字段可能返回 null,表示取不到有效值。 |
| recognition_results | 选填 | Array of RecognitionResult | 识别类标签结果信息列表。注意:此字段可能返回 null,表示取不到有效值。 |
| request_id | 选填 | String | 请求 ID。 |
| seq | 选填 | Number | 音频序列。 |
| speaker_results | 选填 | Array of AudioResultDetailSpeakerResult | 音频中说话人识别返回结果。注意:此字段可能返回 null,表示取不到有效值。 |
| sub_label | 选填 | String | 子标签名称,当未命中子标签时,返回空字符串。 |
| suggestion | 选填 | String | 建议值,取值可选:Block:打击Review:待复审Pass:正常 |
| text_results | 选填 | Array of TextResult | 音频中对话内容审核结果。注意:此字段可能返回 null,表示取不到有效值。 |
| data | 选填 | Data | 音频识别结果。 |
五、AudioResultDetailLanguageResult
音频小语种检测结果
| 名称 | 类型 | 描述 |
| Label | String | 该字段用于返回对应的语言种类信息。注意:此字段可能返回 null,表示取不到有效值。 |
| Score | Integer | 该参数用于返回当前标签下的置信度,取值范围:0(置信度最低)-100(置信度最高),越高代表音频越有可能属于当前返回的语种标签。注意:此字段可能返回 null,表示取不到有效值。 |
| StartTime | Float | 该参数用于返回对应语种标签的片段在音频文件内的开始时间,单位为秒。注意:此字段可能返回 null,表示取不到有效值。 |
| EndTime | Float | 该参数用于返回对应语种标签的片段在音频文件内的结束时间,单位为秒。注意:此字段可能返回 null,表示取不到有效值。 |
六、MoanResult
低俗内容审核结果
| 名称 | 类型 | 描述 |
| Label | String | 固定取值为 Moan(呻吟/娇喘),如音频中无复杂类型 MoanResult 的返回则代表改音频中无呻吟/娇喘相关违规内容。注意:此字段可能返回 null,表示取不到有效值。 |
| Score | Integer | 机器判断当前分类的置信度,取值范围:0~100。分数越高,表示越有可能属于当前分类(如:Moan 99,则该样本属于呻吟/娇喘的置信度非常高)。 |
| Suggestion | String | 建议你拿到判断结果后的执行操作。建议值,取值可选:Block:建议屏蔽Review:建议复审Pass:建议通过 |
| StartTime | Float | 违规事件开始时间,单位为秒(s)。 |
| EndTime | Float | 违规事件结束时间,单位为秒(s)。 |
| SubLabel | String | 该字段用于返回当前标签(Label)下的二级标签。注意:此字段可能返回 null,表示取不到有效值。 |
七、RecognitionResult
识别类标签结果信息列表
| 名称 | 类型 | 描述 |
| Label | String | 可能的取值有:Teenager 、Gender。注意:此字段可能返回 null,表示取不到有效值。 |
| Tags | Array of Tag | 识别标签列表。注意:此字段可能返回 null,表示取不到有效值。 |
八、AudioResultDetailSpeakerResult
音频中说话人识别返回结果
| 名称 | 类型 | 描述 |
| Label | String | 该字段用于返回检测结果需要检测的内容类型。注意:此字段可能返回 null,表示取不到有效值。 |
| Score | Integer | 该字段用于返回呻吟检测的置信度,取值范围:0(置信度最低)-100(置信度最高),越高代表音频越有可能属于说话人声纹。注意:此字段可能返回 null,表示取不到有效值。 |
| StartTime | Float | 该字段用于返回对应说话人的片段在音频文件内的开始时间,单位为秒。注意:此字段可能返回 null,表示取不到有效值。 |
| EndTime | Float | 该字段用于返回对应说话人的片段在音频文件内的结束时间,单位为秒。注意:此字段可能返回 null,表示取不到有效值。 |
九、TextResult
音频中对话内容审核结果
| 名称 | 类型 | 描述 |
| Label | String | 恶意标签:Normal:正常Porn:色情Abuse:谩骂Ad:广告Custom:自定义词库以及其他令人反感、不安全或不适宜的内容类型。如音频中无复杂类型 TextResults 的返回则代表该音频中无相关违规内容。注意:此字段可能返回 null,表示取不到有效值。 |
| Keywords | Array of String | 命中的关键词,为空则代表该违规内容出自于模型的判断。注意:此字段可能返回 null,表示取不到有效值。 |
| LibId | String | 命中关键词库的库标识。注意:此字段可能返回 null,表示取不到有效值。 |
| LibName | String | 命中关键词库的名字。注意:此字段可能返回 null,表示取不到有效值。 |
| Score | Integer | 机器判断当前分类的置信度,取值范围:0~100。分数越高,表示越有可能属于当前分类(如:Porn 99,则该样本属于色情的置信度非常高)。注意:此字段可能返回 null,表示取不到有效值。 |
| Suggestion | String | 建议你拿到判断结果后的执行操作。建议值,取值可选:Block:建议屏蔽Review:建议复审Pass:建议通过注意:此字段可能返回 null,表示取不到有效值。 |
| LibType | Integer | 自定义词库的类型,自定义词库相关的信息可登录控制台中查看。自定义黑白库自定义库 |
| SubLabel | String | 该字段用于返回当前标签(Label)下的二级标签。注意:此字段可能返回 null,表示取不到有效值。 |
| HitInfos | Array of HitInfo | 该字段用于返回违规文本命中信息。注意:此字段可能返回 null或者空数组,表示取不到有效值。 |
十、Data
| 名称 | 类型 | 描述 |
| asr_tmp_full_results | Array of AsrTmpFullResults | 音频检测结果详情,可能为空。 |
十一、AsrTmpFullResults
音频检测结果详情。
| 名称 | 类型 | 描述 |
| appearing_point | Array of Number | 出现时间点,是推流协议的相对时间戳,单位为秒。 |
| confidence | Number | 置信度。 |
| id | String | 音频文本。 |
| periods | String | 时间范围,对应 appearing_point 的时分秒表示。 |
| url | String | 音频 url 地址。 |
| create_time | Number | 检测完成上报的绝对时间戳,UNIX 时间戳,单位秒。 |
十二、Tag
识别标签列表。
| 名称 | 类型 | 描述 |
| Name | String | 根据 Label 字段确定具体名称:当 Label 为 Teenager 时 Name 可能取值有:Teenager。当 Label 为 Gender 时 Name 可能取值有:Male 、Female。注意:此字段可能返回 null,表示取不到有效值。 |
| Score | Integer | 置信分:0~100,数值越大表示置信度越高。注意:此字段可能返回 null,表示取不到有效值。 |
| StartTime | Float | 识别开始偏移时间,单位:毫秒。注意:此字段可能返回 null,表示取不到有效值。 |
| EndTime | Float | 识别结束偏移时间,单位:毫秒。注意:此字段可能返回 null,表示取不到有效值。 |
十三、HitInfo
关键词命中位置信息。
| 名称 | 类型 | 描述 |
| Type | String | 标识模型命中还是关键词命中。示例值:Model |
| Keyword | String | 命中关键词。示例值:hello |
| LibName | String | 自定义词库名称。示例值:测试词库1 |
| Positions | Array of Position | 位置信息。 |
十四、Position
标识命中的违规关键词位置信息。
| 名称 | 类型 | 描述 |
| Start | Integer | 关键词起始位置。示例值:0 |
| End | Integer | 关键词结束位置。示例值:10 |
十五、回调消息示例
{ "HitFlag": 1, "Score": 96, "SubTag": "XXXsound", "appid": 12345678, "asr_text": "是否可以加微信,方便联系", "cdn_url": "", "channel_id": "xxxun01", "data": { "asr_tmp_full_results": [ { "appearing_point": [ 1810089.20, 1810104.80 ], "confidence": 100, "create_time": 1685929588, "id": "", "periods": "00:00:00-00:00:15", "url": "https://xxx.Audit-09-46-27.wav" } ] }, "domain": "xxx.cn", "duration": 10, "event_type": 315, "interface": "general_callback", "label": "Ad", "language_results": [ ], "moan_results": [ { "EndTime": 15, "Label": "Ad", "Score": 0, "StartTime": 0, "SubLabel": "Contact", "Suggestion": "Pass" } ], "path": "live", "recognition_results": [ ], "request_id": "xxx594-4f4d-a5d0-99cce8b750b4", "seq": 3232590095, "speaker_results": [ ], "status": 2, "stream_id": "xxxn01", "sub_label": "Contact", "suggestion": "Block", "task_id": xxx36881, "text_results": [ { "HitInfos": [ { "Keyword": "微信", "LibName": "XX的严禁词库", "Positions": [ { "End": 16, "Start": 13 }, { "End": 22, "Start": 18 } ], "Type": "Keyword" } ], "Keywords": ["微信"], "Label": "Ad", "LibId": "", "LibName": "", "LibType": 0, "Score": 100, "SubLabel": "", "Suggestion": "Block" } ]}