这篇主要讲解触发监播回调事件后,腾讯云直播发送给用户的回调消息通知字段。
一、前提条件
·已登录 云直播控制台。
·打开实时监播配置监播回调通知,详情请参见 实时监播。
二、事件类型参数
| 事件类型 | 字段取值说明 |
| 实时监播 | event_type = 328 |
三、监播事件回调参数说明
| 字段名称 | 类型 | 说明 |
| appid | int | 用户的 APPID |
| bizid | int | 用户的 BIZID |
| interface | string | 接口名,固定为 "general_callback" |
| event_type | int | 通用回调事件类型,固定为328 |
| event_name | string | 监播回调事件名称,目前支持断流、低帧率、格式异常检测、内容异常检测、智能语音识别、智能文字识别六种回调类型 |
| event_time | int | 回调 UTC 时间戳,单位ms |
| event_msg | string | 监播回调事件详情 |
| stream_id | string | 监播流 ID |
注意:说明:
注意:监播回调事件目前支持断流、低帧率、格式异常检测、智能语音识别、智能文字识别五种回调类型。其中格式异常检测事件内容详情请参考 格式异常检测事件类型说明,可根据回调信息中的 “event_name” 对照说明中的“类别”查找对应的异常说明及排查建议。
四、格式异常检测事件类型说明
| 类别 | 等级 | 数据异常信息 | 数据异常示意图 | 播放异常现象 | 可能原因及排查建议 |
| VideoResolutionChanged | Warning | 视频分辨率发生变化 | | 视频播放异常 | 通常是由于横竖屏切换后重新推流导致的,建议排查视频输入设备(例如摄像头)。 |
| AudioSampleRateChanged | Warning | 音频采样率变化 | | 音频播放异常 | 通常是推流侧重新设置了音频编码器参数,建议排查音频输入设备(例如麦克风)和推流软件设置。 |
| AudioChannelsChanged | Warning | 音频通道数变化 | | 音频播放异常 | 通常是由于推流侧重新设置了音频编码器参数,建议排查音频输入设备(例如麦克风)和推流软件设置。 |
| ParameterSetsChanged | Warning | 流参数集信息发生变化(例如 H265/H264 的 VPS/SPS/PPS 变化、AAC 的解码器信息变化等) | | 视频播放异常 | 通常是由于推流侧重新设置了音视频编码器参数,建议使用腾讯云云直播转码功能。 |
| DarOrSarInvalid | Warning | 视频的宽高比异常 | | 视频播放异常 | 通常是由于编码器内部错误导致的,建议使用腾讯云云直播转码功能。 |
| TimestampFallback | Fatal | DTS 时间戳回退 | | 视频播放卡顿或花屏 | 通常是由于编码器内部错误或容器封装导致的,建议使用腾讯云云直播转码功能。 |
| DtsJitter | Warning | DTS 抖动过大 | | 视频播放卡顿 | 通常是由于编码器内部错误或容器封装导致的,建议使用腾讯云云直播转码功能。 |
| PtsJitter | Warning | PTS 抖动过大 | | 视频播放卡顿 | 通常是由于编码器内部错误或容器封装导致的,建议使用腾讯云云直播转码功能。 |
| AACDurationDeviation | Warning | AAC 帧的时间戳间隔不合理AAC 帧时间戳间隔是1024/48KHz=21.3ms,如果帧间隔远小于或大于该值,则AAC 的帧时间戳分布不均匀 | | 音频播放卡顿 | 通常是由于编码器内部错误或容器封装导致的,建议使用腾讯云云直播转码功能。 |
| AudioDroppingFrames | Warning | 音频丢帧:对于 AAC 流,同 AACDurationDeviation 类似,当相邻两帧时间戳差值大于2倍理论帧间隔(例如48KHz下的21.3ms),此时可判定中间可能丢了1帧;对于其他流,超过1秒内没有收到音频帧则判定为丢帧,可能导致音频播放异常 | | 音频播放卡顿 | 通常是由于网络不稳定导致的,建议检查网络稳定性。 |
| VideoDroppingFrames | Warning | 视频丢帧(超过1秒内没有收到视频帧) | | 视频播放卡顿 | 通常是由于网络不稳定导致的,建议检查网络稳定性。 |
| AVTimestampInterleave | Warning | 音视频交织不合理 | | 播放音画不同步 | 通常是由于音视频交织时间戳不同步导致的,建议首先检查音视频源是否完整,然后检查容器封装是否异常。 |
| FpsJitter | Warning | 通过 PTS 计算得到的流帧率抖动过大 | | 音视频播放卡顿 | 通常是由于编码器性能不足或者网络抖动导致的,建议首先检查编码机器负载,然后检查网络稳定性。 |
| StreamOpenFailed | Fatal | 流打开失败 | | 视频无法播放 | 通常是由于推流网络异常、推流地址无效、推流鉴权失败等原因,建议排查推流软件设置。 |
| StreamParseFailed | Fatal | 流解析失败 | | 视频无法播放 | 通常是由于流数据损坏导致的,建议排查推流软件状态,建议检查网络稳定性。 |
| VideoFirstFrameNotIdr | Fatal | 首帧不是 IDR 帧 | | 视频无法播放 | 通常是由于编码异常或者数据传输异常导致的,建议首先排查编码后推流前的文件能否正常播放,然后排查推流传输的数据是否完整。 |
五、内容异常检测事件类型说明
| 类别 | 等级 | 数据异常信息 | 数据异常示意图 | 异常现象 | 异常原因及排查建议 |
| Jitter | warning | 可能会出现画面的持续性晃动 | | 抖动重影 | 检查是否为正常效果,否则可能是由于摄像头或云台不稳定,也可能是拍摄手法导致。 |
| Blur | warning | 画面中物体不清楚。 | | 模糊 | 检查是否为正常效果,否则可能是由于聚焦不准、镜头覆盖灰尘和水汽、被人为涂抹和遮挡等问题。 |
| LowLighting | warning | 画面昏暗,难以分辨细节 | | 低光照 | 检查是否为正常效果,否则可能是摄像头故障,或拍摄环境昏暗。 |
| HighLighting | warning | 图像发白,难以分辨细节 | | 过曝光 | 检查是否为正常效果,否则可能是摄像头故障,或拍摄环境光线过强。 |
| CrashScreen | error | 图像先出花屏,视频无法观看 | | 花屏 | 检查视频源数据是否损坏。 |
| BlackWhiteEdge | warning | 画面没有充满整个屏幕 | | 黑边,白边 黑屏、白屏 |
检查是否为正常效果,否则可能是编辑视频的分辨率和实际分辨率不一致导致的自动填充。 |
| Noise | warning | 画面种可能出现颗粒度噪声。 | | 噪点 | 检查是否为正常效果,否则可能是因为摄像头故障。 |
| Mosaic | warning | 画面不清晰,有马赛克遮挡 | | 马赛克 | 检查是否为正常效果,否则可能是编码器编码时出现问题,或者传输时数据丢失。 |
| QRCode | warning | 画面中存在二维码 | | 二维码 | 检查是否为正常效果。 |
六、回调消息示例
断流事件低帧率事件格式异常检测内容异常检测智能文字识别事件智能语音识别事件{ appid: 25100xxxx, bizid: 299xx, event_msg: "stream [ test1 ] is broken", event_name: "StreamBroken", event_time: 1678086930413, event_type: 328, interface: "general_callback", stream_id: "test1"}{ appid: 25100xxxx, bizid: 299xx, event_msg: "stream [ test1 ] frame rate is less than 10 fps", event_name: "StreamLowFramerate", event_time: 1678089053008, event_type: 328, interface: "general_callback", stream_id: "test1"}{ appid: 25100xxxx, bizid: 299xx, event_msg: "stream [ 11 ] format diagnose: Timestamp interleave is not rational. Video[min:57125ms max:58500ms] vs audio[min:57035ms max:57995ms]", event_name: "AVTimestampInterleave", event_time: 1678089018193, event_type: 328, interface: "general_callback", stream_id: "test1"}{
"appid": 125844xxxx,
"bizid": 498xx,
"event_msg": "stream [11 ] content quality inspection: {StartTimeOffset: 103.56, EndTimeOffset: 103.56}",
"event_name": "BlackWhiteEdge",
"event_time": 1713426117124,
"event_type": 328,
"interface": "general_callback",
"stream_id": "11"
}{ appid: 25100xxxx, bizid: 299xx, event_msg: "stream [ test1 ] callback message: {AreaCoordSet:[42,325,101,336], Text:测试测试}", event_name: "OcrFullText", event_time: 1678086955691, event_type: 328, interface: "general_callback", stream_id: "test1"}{ appid: 25100xxxx, bizid: 299xx, event_msg: "stream [ test1 ] callback message: {StartPtsTime:4.783, EndPtsTime:24.063, Text:测试测试}", event_name: "AsrFullText", event_time: 1678089018193, event_type: 328, interface: "general_callback", stream_id: "test1"}