推断流回调用于推送直播流状态信息,包括直播推流成功和直播推流中断。您需在回调模板中配置推流回调和断流回调消息接收服务器地址,并将该模板与推流域名进行关联。在生成对应的推流地址并开始推送直播流后,腾讯云直播后台会将推流结果回调到您设置的接收服务器中。
本文主要讲解触发推断流回调事件后,腾讯云直播发送给用户的回调消息通知字段。
注意事项
推断流事件参数说明
事件类型参数
事件类型 | 字段取值说明 |
直播推流 | event_type = 1 |
直播断流 | event_type = 0 |
回调公共参数
字段名称 | 类型 | 说明 |
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 | 用户 APPID |
app | string | 推流域名 |
appname | string | 推流路径 |
stream_id | string | 直播流名称 |
channel_id | string | 同直播流名称 |
event_time | int64 | 事件消息产生的 UNIX 时间戳 |
sequence | string | 消息序列号,标识一次推流活动,一次推流活动会产生相同序列号的推流和断流消息 |
node | string | 直播接入点的 IP |
user_ip | string | 用户推流 IP |
stream_param | string | 用户推流 URL 所带参数 |
push_duration | string | 断流事件通知推流时长,单位毫秒 |
errcode | int | 推断流错误码 |
errmsg | string | 推断流错误描述 |
set_id | int | 判断是否为国内外推流。1-6为国内,7-200为国外 |
width | int | 视频宽度,最开始推流回调的时候若视频头部信息缺失,可能为0 |
height | int | 视频高度,最开始推流回调的时候若视频头部信息缺失,可能为0 |
断流原因
回调消息示例
{"app":"test.domain.com","appid":12345678,"appname":"live","channel_id":"test_stream","errcode":0,"errmsg":"ok","event_time":1545115790,"event_type":1,"set_id":2,"node":"100.121.160.92","sequence":"6674468118806626493","stream_id":"test_stream","stream_param":"stream_param=test","user_ip":"119.29.94.245","width": 0,"height": 0,"sign":"ca3e25e5dc17a6f9909a9ae7281e300d","t":1545030873}