直播问题分析总结 -- 卡顿

直播的时候,有时会出现视频卡顿的现象,一般帧率低于10帧/秒
就会明显感觉到卡顿,都有哪些因素可能造成卡顿呢?
下面我进行了汇总梳理:

直播问题分析总结 -- 卡顿_第1张图片
视频直播卡顿 原因汇总

其中最常见的是: 流本身和网络的问题导致的

某次卡顿问题的分析和解决

从流媒体服务器获取的rtmp流,用Adobe Flash Player播放,存在频繁缓冲,即流畅一下,然后缓冲一下,类似一卡一卡的现象,如下:

直播问题分析总结 -- 卡顿_第2张图片
视频直播卡顿.gif

首先,怀疑是流本身的音视频不同步导致的。
用流分析工具进行分析,结果如下:
直播问题分析总结 -- 卡顿_第3张图片
分析视音频同步情况

跑了一段时间,发现视音频同步一直非常良好。
说明: 1. 数据一直在正常发送 不存在网络问题。 2. 视频音频的同步效果良好
用vlc播放时,发现视频流畅,但是音频一卡一卡的,查看统计信息:
直播问题分析总结 -- 卡顿_第4张图片
统计信息

发现 音频数据没有进行正常解码
这时候就怀疑音频的参数没有正常获取,分析后发现果然是。
音频的采样率是 16000,但是从源获取参数的时候没有正常获取到采样率,设置的默认的采样率 32000
也就是说rtmp流实际的音频流数据是 16k的,但是 rtmp流刚开始提供的音频参数( AAC Sequence header)中包含的采样率是 32k,参数不正确,导致解码时出现问题,继而导致出现一卡一卡的现象。

你可能感兴趣的:(直播问题分析总结 -- 卡顿)