推流异常事件回调主要用于回调推流异常情况的具体信息,您需要在推流异常事件回调中配置回调地址,腾讯云直播后台会将类型结果回调到您设置的接收服务器中。
本文主要讲解触发推流异常事件回调后,腾讯云直播发送给用户的回调消息通知字段。
注意事项
推流异常事件参数说明
事件类型参数
事件类型 | 字段取值说明 |
推流异常事件 | event_type = 321 |
回调公共参数
字段名称 | 类型 | 说明 |
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。 |
stream_id | string | 直播流名称。 |
data_time | int | 推流事件回调时间(单位ms)。 |
report_interval | int | 有异常事件时,上报间隔(单位ms)。 |
abnormal_event | json | 详细异常事件组。 |
abnormal_event 内参数说明
参数 | 类型 | 含义 |
type | int | 异常事件类型。 |
count | int | 对应异常事件单位时间(上报间隔内)发生次数。 |
detail | json | desc:异常事件描述。 occur_time:异常事件发生时间。 |
type_desc_cn | string | 异常事件中文描述。 |
type_desc_en | string | 异常事件英文描述。 |
异常事件类型
类型 | 含义 |
1 | 视频时间戳回退。 |
2 | 音频时间戳回退。 |
3 | 视频时间戳突然变大(大于1000ms)。 |
4 | 音频时间戳突然变大(大于1000ms)。 |
5 | chunk size 太大(大于8192)。 |
6 | 两帧视频帧到达时间太长(大于3000ms)。 |
7 | 两帧音频帧到达时间太长(大于1000ms)。 |
8 | 视频编码类型发生变化。 |
9 | 音频编码类型发生变化。 |
10 | 视频帧到来前没有 codec 头。 |
11 | 音频帧到来前没有 codec 头。 |
12 | 音频帧时间戳间隔太大。 |
13 | 音视频编解码格式不常用。 |
14 | 视频头无法解析。 |
15 | 视频帧率过低。 |
16 | gop size 过大,目前超过10s认为过大。 |
注意:
当前推流异常事件回调不支持对单独事件进行配置,在每个上报间隔,对发生的异常事件进行回调;如果没有异常事件,则不进行回调。
推流异常事件回调仅对当前的推流异常进行统计,系统不会进行其他处理。
回调消息示例
{"abnormal_event":[{"count":2,"detail":[{"desc":"video frame arrive interval too long, interval=3046(msec)","occur_time":1670588070569},{"desc":"video frame arrive interval too long, interval=2953(msec)","occur_time":1670588073522}],"type":6,"type_desc_cn":"视频帧到达时间差值大于1000ms","type_desc_en":"video frame arrive interval bigger than 1000(ms)"},{"count":2,"detail":[{"desc":"audio frame arrive interval too long, interval=3009(msec)","occur_time":1670588070532},{"desc":"audio frame arrive interval too long, interval=2917(msec)","occur_time":1670588073486}],"type":7,"type_desc_cn":"音频帧到达时间差值大于1000ms","type_desc_en":"audio frame arrive interval bigger than 1000(ms)"}],"appid":0,"data_time":1670588074971,"domain":"example.push.com","event_type":321,"interface":"general_callback","path":"liv","report_interval":5000,"sequence":"000000000000000000","stream_id":"teststream","stream_param":"txSecret=f5828cd4a8a09109304b060172fb3960&txTime=665982e4","timeout":5000,"sign": "ca3e25e5dc17a6f9909a9ae7281e300d","t": 1754623810}