这篇主要讲解触发推断流回调事件后,腾讯云直播发送给用户的回调消息通知字段。
一、注意事项
阅读这篇之前,希望你已经了解腾讯云直播是如何配置回调功能、你是如何接收回调消息的,具体请参见 如何接收事件通知。
二、事件类型参数
| 事件类型 | 字段取值说明 |
| 直播推流 | 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 是否正确,进而确认消息是否确实来自腾讯云后台。 |
注意:key 为功能配置 > 直播回调 中的回调密钥,主要用于鉴权。为了保护你的数据信息安全,建议你填写。
注意:
四、回调消息参数
| 字段名称 | 类型 | 说明 |
| 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":1703731478,
"event_type":1,
"height":0,
"idc_id":34,
"node":"42.81.194.37",
"sequence":"2210464508206756938",
"set_id":2,
"sign":"df49************************f5d4",
"stream_id":"test_stream",
"stream_param":"stream_param=test",
"t":1703732078,
"user_ip":"1.1.1.1",
"width":0
}
七、直播断流回调消息示例
{
"app":"test.domain.com",
"appid":12345678,
"appname":"live",
"channel_id":"test_stream",
"errcode":1,
"errmsg":"The push client actively stopped the push",
"event_time":1703731606,
"event_type":0,
"height":0,
"idc_id":34,
"node":"42.81.194.37",
"push_duration":"128581",
"sequence":"2210464508206756938",
"set_id":2,
"sign":"3485************************56ae",
"stream_id":"test_stream",
"stream_param":"stream_param=test",
"t":1703732206,
"user_ip":"1.1.1.1",
"width":0
}
八、推断流错误码
| 错误码 | | 描述 |
| 1 | | 推流客户端主动断流注:不同错误码仅为系统内部区分,用户无需关注。 |
| 2 | | |
| 3 | | |
| 4 | | |
| 35 | | |
| 5 | | 直播系统内部错误 |
| 9 | | |
| 11 | | |
| 24 | | |
| 10 | | |
| 6 | | RTMP 协议内容异常 |
| 7 | | RTMP 单个帧大小超过配置允许的最大值 |
| 8 | | 系统主动断开长时间无数据的推流 |
| 20 | | |
| 12 | | 推流链路网络异常 |
| 13 | | |
| 14 | | |
| 15 | | |
| 16 | | |
| 17 | | |
| 19 | | 第三方鉴权失败 |
| 23 | | RTMP 协议内容异常 |
| 33 | | RTMP AMF 数据异常 |
| 0 | | 未知原因,请 提交工单 联系我们 |
| 22 | | |
| 25 | | |
| 26 | | |
| 27 | | |
| 28 | | |
| 29 | | |
| 30 | | |
| 31 | | |
| 32 | | |
| 34 | | |
| 其它未知值 | | |