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