若您配置了质检回调地址,在质检过程中,后台会将结果以 JSON 形式回调至您的回调地址。您可以通过回调内容,进行后续的处理操作。
本文主要介绍触发质检回调事件后,腾讯云云直播发送给用户的回调消息通知字段。
注意事项
质检事件参数说明
事件类型参数
事件类型 | 字段取值说明 |
质检回调 | event_type = 343 |
回调公共参数
字段名称 | 类型 | 说明 |
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 | 业务 ID。 |
appname | string | 推流 path 路径。 |
stream_id | string | 流 ID。 |
domain | string | 推流域名。 |
event_time | int64 | 请求发送时间,UNIX 时间戳(秒)。 |
transcode_template_id | int | 转码模板 ID。 |
watermark_template_id | int | 水印模板 ID。 |
score | float | 实际分数值。 |
function | string | 功能大类:QualityControl。 |
class | string | 质检异常类型。 |
质检异常类型
格式异常类型
类别 | 异常现象 | 异常原因 | 异常示意图 | 可能原因及排查建议 |
VideoResolutionChanged | 视频分辨率发生变化。 | 视频分辨率发生变化。 | ![]() | 通常是由于横竖屏切换后重新推流导致的,建议排查视频输入设备(例如摄像头)。 |
AudioSampleRateChanged | 音频播放异常。 | 音频采样率变化。 | ![]() | 通常是推流侧重新设置了音频编码器参数,建议排查音频输入设备(例如麦克风)和推流软件设置。 |
AudioChannelsChanged | 音频播放异常。 | 音频通道数变化。 | ![]() | 通常是由于推流侧重新设置了音频编码器参数,建议排查音频输入设备(例如麦克风)和推流软件设置。 |
ParameterSetsChanged | 视频播放异常。 | 例如 H265/H264 的 VPS/SPS/PPS 变化、AAC 的解码器信息变化等。 | ![]() | 通常是由于推流侧重新设置了音视频编码器参数,建议使用腾讯云云直播转码功能。 |
DarOrSarInvalid | 视频的宽高比异常。 | 视频的宽高比异常。 | ![]() | 通常是由于编码器内部错误导致的,建议使用腾讯云云直播转码功能。 |
TimestampFallback | 视频播放卡顿或花屏。 | DTS 时间戳回退。 | ![]() | 通常是由于编码器内部错误或容器封装导致的,建议使用腾讯云云直播转码功能。 |
DtsJitter | 视频播放卡顿。 | DTS 抖动过大。 | ![]() | 通常是由于编码器内部错误或容器封装导致的,建议使用腾讯云云直播转码功能。 |
PtsJitter | 视频播放卡顿。 | PTS 抖动过大。 | ![]() | 通常是由于编码器内部错误或容器封装导致的,建议使用腾讯云云直播转码功能。 |
AACDurationDeviation | 音频播放卡顿。 | AAC 帧的时间戳间隔不合理。 AAC 帧时间戳间隔是1024/48KHz=21.3ms,如果帧间隔远小于或大于该值,则AAC 的帧时间戳分布不均匀。 | ![]() | 通常是由于编码器内部错误或容器封装导致的,建议使用腾讯云云直播转码功能。 |
AudioDroppingFrames | 音频播放卡顿。 | 音频丢帧: 对于 AAC 流,同 AACDurationDeviation 类似,当相邻两帧时间戳差值大于2倍理论帧间隔(例如48KHz下的21.3ms),此时可判定中间可能丢了1帧。 对于其他流,超过1秒内没有收到音频帧则判定为丢帧,可能导致音频播放异常。 | ![]() | 通常是由于网络不稳定导致的,建议检查网络稳定性。 |
VideoDroppingFrames | 视频播放卡顿。 | 视频丢帧(超过1秒内没有收到视频帧)。 | ![]() | 通常是由于网络不稳定导致的,建议检查网络稳定性。 |
AVTimestampInterleave | 播放音画不同步。 | 音视频交织不合理。 | ![]() | 通常是由于音视频交织时间戳不同步导致的,建议首先检查音视频源是否完整,然后检查容器封装是否异常。 |
FpsJitter | 音视频播放卡顿。 | 通过 PTS 计算得到的流帧率抖动过大。 | - | 通常是由于编码器性能不足或者网络抖动导致的,建议首先检查编码机器负载,然后检查网络稳定性。 |
StreamOpenFailed | 视频无法播放。 | 流打开失败。 | ![]() | 通常是由于推流网络异常、推流地址无效、推流鉴权失败等原因,建议排查推流软件设置。 |
StreamParseFailed | 视频无法播放。 | 流解析失败。 | ![]() | 通常是由于流数据损坏导致的,建议排查推流软件状态,建议检查网络稳定性。 |
VideoFirstFrameNotIdr | 视频无法播放。 | 首帧不是 IDR 帧。 | ![]() | 通常是由于编码异常或者数据传输异常导致的,建议首先排查编码后推流前的文件能否正常播放,然后排查推流传输的数据是否完整。 |
内容异常类型
类别 | 异常现象 | 异常示例 | 异常原因及排查建议 |
Mosaic | 马赛克 | ![]() | 可能是编码器编码时出现问题,或者传输时数据丢失。 |
CrashScreen | 花屏 | ![]() | 检查视频源数据是否损坏。 |
Blur | 模糊 | ![]() | 可能是由于聚焦不准、镜头覆盖灰尘和水汽、被人为涂抹和遮挡等问题。 |
VideoNoise | 噪点 | ![]() | 可能是因为摄像头故障。 |
VideoJitter | 视频抖动 | ![]() | 可能是由于摄像头或云台不稳定,也可能是拍摄手法导致。 |
LowLight | 低光照 | ![]() | 可能是摄像头故障,或拍摄环境昏暗。 |
Overexposure | 过曝光 | ![]() | 可能是摄像头故障,或拍摄环境光线过强。 |
BlackWhiteEdge | 黑边、白边、黑屏、白屏 | ![]() | 可能是编辑视频的分辨率和实际分辨率不一致导致的自动填充。 |
SolidColorScreen | 纯色屏幕 | ![]() | 可能是视频出现遮挡或者错误。 |
QRCode/Barcode/AppletCode | 二维码/条形码/小程序码 | ![]() | 检查视频内容是否正常。 |
Silence | 音频静音 | - | 检查音频录制是否正常。 |
LowVoice | 音频音量过低 | - | 检查音频录制是否正常。 |
HighVoice | 音频爆音 | - | 检查音频录制是否正常。 |
回调消息示例
{"event_type": 343,"appid": 251006357,"appname": "live","stream_id": "0521ruxu002","domain": "ruxuzhang.record.elementtest.org","event_time": 1747818881,"event_type": 343,"score": 44.15314104741461,"transcode_template_id": 498388,"watermark_template_id": 498388,"function": "QualityControl","class": "Blur"}