如何解决视频直播卡顿问题,让客户获取优质的直播体验,是直播的一大难题和探索方向。
就个人经验来说,当前造成直播卡顿有这5方面的原因:
1.硬件原因
硬件配置过低,相同环境下,硬件配置越高,直播效果越好,配置越低,效果相对来说较差。尤其是在处理高清高品质视频的时候,硬件配置造成的卡顿更加明显。
优化方法:
升级硬件、软件设备,提高兼容性和容错率;使用硬编硬解方案,充分利用GPU 加速;降低视频码率,选择流畅或者标清画质进行视频播放;增大播放器缓冲区,缓解因网络或解码不稳定引起的卡顿。
2.软件原因
软件处理问题,不同的软件,不同处理方式,效果肯定有差异。优化过的一般比没有优化的直播效果好。播放器软件(Player)的版本过低也会造成卡顿。
优化方法:
对软件进行优化,设置合理的码率,帧率,分辨率,关键帧间隔,音视频编码格式等参数;尽量遵循标准的视频编码方案,流媒体传输协议,对视频流进行采集,编码,解码,播放等操作。
3.视频编码原因
(1).音视频时间戳不同步
在直播中,当音视频时间戳不同时,会影响画面渲染,导致画面解析时出现问题,造成一卡一卡的现象,音视频时间戳非单调递增会导致播放器在解析画面时出现错乱的情况,前后画面衔接会出现不连续甚至花屏的现象。
(2).视频编码帧率设置过低(帧率即每秒的画面张数),根据人眼的视觉暂留原理,每秒的画面张数必须达到一定的数值,一般不小于18帧,才会不感到卡顿,人眼观看才是连续有效的。导致视频流的编码方式与传输服务器有不兼容的情况,部分音视频数据出现了解析错误甚至无法解析的情况,也会出现视频流播放卡顿的问题。
(3).视频编码码率过高,超过直播网络上行速度,也会造成卡顿。
优化方法:
音画不同步的问题,我们需要对推流器的源码进行研究,把读取到的每一针音频、视频的时间戳进行查阅、分析,然后通过程序干涉推流器或者流媒体服务器,矫正逻辑值,从而使音画同步。
4.网络原因
直播网络较差,无线、有线、3G、4G、5G等网络在网络较差时,也会造成卡顿。
优化方法:
无线网络:WIFI 连接的直播受距离、环境等使用因素的影响,需要让设备尽量靠近 WIFI 信号源,避免穿墙或金属物遮挡,保持信号强度,带宽6M以上,同时避免其他设备接入 WIFI 信号源抢占信号;
有线网络:直播场地有专门的网口使用,最好是专线网络,上下行带宽不少于4M;
3G、4G、5G网络:手机网络受到周围的环境影响大,需要在手机信号良好的地方,并且防止网络波动,在直播时最好选择4G卡。
对上行网络进行检测,判断主播的网络速度,对服务器的CDN推流端网络进行测速。选择最好的CDN结点线路,保证音视频数据的实时传输,推拉流稳定,高并发人数下的系统稳定性。
5.拉流端原因
拉流服务端播放软件性能,也会造成卡顿。
优化方法:
选择后台优化较好的直播软件进行播放。