现在视频直播已经成为大家生活或娱乐的一种方式了,我们在观看视频直播时,经常会遇到视频直播卡顿,频繁出现缓冲标志或直播画面一卡一卡的情况,这种情况特别影响观看的体验。我们大多数人可能都会认为直播中视频出现卡顿只是因为网速太差的原因,其实不全然。今天就为大家解析一下,造成直播视频卡顿的常见的原因:
(图片转载自网络,侵删)
一、设备
此处设备主要是指用户端的软硬件配置。在直播的传输过程中,会对视频进行编解码,高清视频往往会给硬件带来解码压力,由于解码造成的卡顿尤为明显。如果手机/电脑硬件配置低,或播放软件版本过低 ,编解码的速度就会降低,就可能造成视频播放卡顿的情况。
解决方案:
1.提高直播软件的兼容性和容错率,升级硬件和软件设备,或设置多种清晰度供用户自行调整;
2.使用硬编硬解方案,充分利用GPU 加速,降低视频码率,选择流畅或者标清画质进行视频播放;
3.增大播放器缓冲区,缓解因网络或解码不稳定引起的卡顿。
(图片转载自网络,侵删)
二、视频流
音视频时间戳不同步
在直播中,音视频流在进行编码后会有固定的时间戳,经网络传输到达用户端后,视频帧会按照时间戳排序成像,如果时间戳不同步,会影响画面渲染,导致画面解析时出现错乱,前后画面衔接会出现不连续甚至花屏的现象。
解决方案:
我们可对推流器的源码进行研究,把读取到的每一帧音频、视频的时间戳进行查阅、分析,然后通过程序干涉推流器或者流媒体服务器,矫正逻辑值,使音画同步。
视频流参数配置问题
根据人眼的视觉暂留原理,美妙的画面张数必须达到一定的数值,人眼的观看才是连续有效地。如果视频的帧率(帧率即美妙的画面张数)设置过低,或视频流的编码方式与传输服务器有不兼容的情况,部分音视频数据出现了解析错误甚至无法解析的情况,也会出现视频流播放卡顿的问题。
解决方案:
1.设置合理的码率,帧率,分辨率,关键帧间隔,音视频编码格式等参数;
2.尽量遵循标准的视频编码方案,流媒体传输协议,对视频流进行采集,编码,播放等操作。
(图片转载自网络,侵删)
三、网络环境
如果主播端网络环境较差时,会导致推流端上行不稳定,如果是观众播放端的网络存在波动问题,需要定位一下是大面积的观众卡顿还是局部观众卡顿。
解决方案:
1.使用 speedtest 进行测速,判断终端的网络速度;
2.用户 ping 播放域名,查看解析到的服务器节点,判断自身IP 到服务器之间是否有延迟过大或者丢包的情况出现。
(图片转载自网络,侵删)
四、服务器
现在很多直播平台大多选择CDN厂商进行直播底层业务支撑,当直播观看人数并发较大时,就会给服务器负载造成压力,带宽数据量大,传输缓慢,就会导致卡顿。
解决方案:
联系 CDN 厂商进行线路排查,选择更适合的服务线路;也可以通过播放器打点上报,统计所有客户端的整体卡顿率情况,分地区做一些线路和资源的调整和优化。
以上几种情况是直播平台中常见的视频卡顿的原因,希望通过今天的分享能够帮助大家更好地优化自己的直播系统方案。