本文主要讲述触发直播字幕文本回调事件后,腾讯云直播发送给用户的回调消息通知字段。
注意事项
阅读本文之前,希望您已经了解腾讯云直播是如何配置回调功能、您是如何接收回调消息的,具体请参见 如何接收事件通知。
仅当拉取字幕流时才返回回调信息。
事件消息通知协议
网络协议
请求:使用 HTTP POST 请求,包体内容为 JSON。每种消息的具体包体内容详见后文。
应答:HTTP 状态码为 200。服务端忽略应答包的具体内容,但为了协议友好,建议客户端应答内容携带 JSON:
{"code":0}
。通知可靠性
事件通知服务具备重试能力,总计重试 3 次。为避免重试对您的服务器及网络带宽造成冲击,请确保正常回包。触发重试的条件如下:
长时间未回包应答。
应答的 HTTP 状态码不为 200。
直播字幕事件参数说明
事件类型参数
事件类型 | 字段取值说明 |
直播字幕 | event_type = 338 |
回调公共参数
字段名称 | 类型 | 说明 |
t | int64 | 过期时间,事件通知签名过期 UNIX 时间戳。 来自腾讯云的消息通知默认过期时间是10分钟,如果一条消息通知中的 t 值所指定的时间已经过期,则可以判定这条通知无效,进而可以防止网络重放攻击。 t 的格式为十进制 UNIX 时间戳,即从1970年01月01日(UTC/GMT 的午夜)开始所经过的秒数。 |
sign | string | 事件通知安全签名 sign = MD5(key + t)。说明:腾讯云把加密 key和 t 进行字符串拼接后通过 MD5 计算得出 sign 值,并将其放在通知消息里,您的后台服务器在收到通知消息后可以根据同样的算法确认 sign 是否正确,进而确认消息是否确实来自腾讯云后台。 |
回调消息参数
字段名称 | 类型 | 说明 |
appid | int | |
stream_id | string | 直播流名称。 |
channel_id | string | 同直播流名称。 |
task_id | string | 字幕任务 ID。 |
data | 处理结果。 |
data
字段名称 | 类型 | 说明 |
subtitle_tmp_res | 字幕文本结果。 |
subtitle_tmp_res
字段名称 | 类型 | 说明 |
src_txt | string | 原音频识别文本。 |
dst_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 时间终止点。 |
steady_state | bool | 稳态标记:为 true 时表示该句已进入稳定状态,文本不再进行二次修正。 |
回调消息示例
{"event_type": 338,"stream_id": "teststream","channel_id": "teststream","task_id": "7735333","data": {"subtitle_tmp_res": [{"src_txt": "我们今天要学习的是一元一次方程","start_pts": 123000,"end_pts": 126333,"stead_state": bool}]},"sign": "ca3e25e5dc17a6f9909a9ae7281e300d","t": 1754623810}