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