为什么直播播放卡顿
一般直播测试或者直播接入过程中,经常会遇到直播卡顿的问题,直播卡顿造成的原因大部分是网络不好造成的,网络不好不仅仅存在于观众播放端,也有可能是出现在主播推流端,首先需要了解一点:上行推流卡顿,播放必定卡。
一 卡顿排查步骤
1 本地测试播放
首先获取到直播流在七牛的播放地址,rtmp hls flv 三种任意一种,然后放到 网页播放器 中进行播放测试,最好可以三种地址都试一下,以便排除个别协议问题造成的卡顿
2 查询推流端
一般来说,如果造成卡顿,三种播放地址是都会卡的,这个时候需要先从根源查起,先看下推流端的情况,具体的查询步骤如下:
① 登录 https://portal.qiniu.com/hub 进入直播空间
② 在直播空间中找到对应的直播流
③ 这边可以看到具体的推流历史记录
根据推流历史信息,这边可以看到具体的音频视频和码率截图,可以初步判断出主播上行的推流质量,这三条曲线抖动严重,可以让主播测试一下上行网络带宽情况,在线带宽测试 ,一般上行带宽最好稳定在 10M 以上,这样的带宽可以支撑主播的稳定推流。如果带宽不够高,最好是可以保证带宽独享,在同一个 wifi 下,不要用大量的带宽占用行为出现,比如下载。主播如果测试网络正常的情况下,可以让主播在命令行模式下ping一下对应的推流域名看看具体访问到的节点。
3 查询播放端
这个在看到推流历史信息统计图,是平稳顺畅的时候,直播还是卡顿,很有可能就是本地的网络不好,网络不好的比对值是直播的码率,假如推流是 1M 的码率,那么观看端至少是 8M 以上的带宽才能够支持这个直播流。测试方法同上 在线带宽测试
4 卡顿还有一种原因是在七牛的直播云上
这种是需要在前两种测试过后,发现都正常 ok,那么提交工单或者拨打400-808-9176到七牛,让技术支持查一下卡顿原因,需要提供的信息如下
① 提供一下具体的播放地址
② 本地 ping 一下播放的域名,会返回节点信息,这个节点就是七牛直播云的节点,也是你访问到的节点
③ 简单描述下推流方式,比如说:七牛 sdk 推流、obs 推流、特殊编码器推流等等
附:手机端ping测试可以使用手机测试工具本地IP/DNS检测工具DNS检测
二 卡顿解决方式
1 切换网络
测试出来是网络带宽不够,或者不稳定导致的直播卡顿,建议换一个 wifi,或者从 wifi 切换到 4G
2 推流端重发数据
推流端重新推流一次,一般操作是重启应用
3 更换节点推流
这种方式一般是为了排除是否是推流到的某个边缘节点的问题导致,可以从另一个网络或者其他区域的主机上 ping 推流域名,然后拿到节点,进行 host 绑定,然后推流。