这篇主要讲解触发音画擦除回调事件后,腾讯云直播发送给用户的回调消息通知字段。
一、注意事项
阅读这篇之前,希望你已经了解腾讯云直播是如何配置回调功能、你是如何接收回调消息的,具体请参见 如何接收事件通知。
二、事件消息通知协议
网络协议
·请求:使用 HTTP POST 请求,包体内容为 JSON。每种消息的具体包体内容详见后文。
·应答:HTTP 状态码为 200。服务端忽略应答包的具体内容,但为了协议友好,建议客户端应答内容携带 JSON:{"code":0}。
通知可靠性
事件通知服务具备重试能力,总计重试 3 次。为避免重试对你的服务器及网络带宽造成冲击,请确保正常回包。触发重试的条件如下:
·长时间未回包应答。
·应答的 HTTP 状态码不为 200。
三、事件类型参数
| 事件类型 | 字段取值说明 |
| 音画擦除 | event_type = 347 |
四、回调公共参数
| 字段名称 | 类型 | 说明 |
| 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 | int | 用户 APPID。 |
| stream_id | string | 直播流名称。 |
| channel_id | string | 同直播流名称。 |
| task_id | string | 音画擦除任务 ID。 |
| data | Struct of data | 处理结果。 |
六、data
| 字段名称 | 类型 | 说明 |
| subtitle_tmp_res | Array of subtitle_tmp_res | 文本结果。 |
七、subtitle_tmp_res
| 字段名称 | 类型 | 说明 |
| src_txt | string | 原音频识别文本。 |
| start_pts | int64 | src_txt 对应音频流的时间戳起点,单位为毫秒 (ms)。 |
| end_pts | int64 | src_txt 对应音频流的时间戳结束点,单位为毫秒 (ms)。 |
| start_unix_time | int64 | src_txt 对应直播的 UNIX 时间起点。 |
| end_unix_time | int64 | src_txt 对应直播的 UNIX 时间终止点。 |
| keywords_info | Array of keywords_info | 消音命中的关键词列表。 |
八、keywords_info
| 字段名称 | 类型 | 说明 |
| word | string | 命中的关键词。 |
| begin_time | int64 | 关键词对应音频流时间戳起点,单位为毫秒 (ms)。 |
| end_time | int64 | 关键词对应音频流时间戳终止点,单位为毫秒 (ms)。 |
九、回调消息示例
{ "event_type": 347, "stream_id": "teststream", "channel_id": "teststream", "task_id": "7735333", "data": { "subtitle_tmp_res": [ { "end_pts": 964464, "end_unix_time": 1750402597, "keywords_info": [ { "begin_time": 957759, "end_time": 959424, "word": "中央纪律检查委员会" } ], "src_txt": "委员会委员替补委员和中央纪律检查委员会委员候选人预备人选名单进行了认真酝酿。", "start_pts": 954864, "start_unix_time": 1750402588, } ] }, "sign": "ca3e25e5dc17a6f9909a9ae7281e300d", "t": 1754623810}