延迟丢包问题是直播源代码经常遇到的问题,这一问题的存在影响了用户的观看体验,但却一直没有解决,知道今日我们也只能是尽量减少延迟问题,而非直接的消除延迟。延迟出现问题受网速、推流传输速度、播放设备等多方面影响,为了降低延迟的影响,一般直播源代码会采用使用CDN的方式来加速传输。
一、CDN的加速处理
受到运营商不同的影响,跨地区的直播传输很容易出现延迟增加的问题,网络运营商并不能直接保证直播的传输质量,直播视频经常面临延迟大、丢包率高的特点,通过CDN的节点分布来实现物理距离的缩短,尽可能降低因网络变动带来的传输问题。
二、针对CDN的优化方案
既然选择使用CDN来解决直播源代码延迟丢包带来的影响,那就围绕着CDN创建解决方案,针对CDN的优化方案有:
1、优化网络架构,直播源代码使用实时传输协议,实现CDN网络的部分升级
2、建立全链路低延迟监控,实时对网络链路进行监控,提供针对性的优化方案,保证直播的顺利传输
3、在传输网络实现优化,服务端节点中缓存当前GOP,配合移动播放设备优化视频的开屏时间
三、除CDN优化外的其他优化方式
1、如果只是想要降低延迟,可以选择在视频中插入更多的关键帧,这能加速用户播放端的解码,但也会增加直播源代码视频的总体体积,需要消耗更多的空间储存和更快的网速传输,这种做法的缺点也很明显,对于网络状况不好的用户,会造成更大的网络延迟积累。
2、使用不同的视频压缩格式,现在直播源代码支持的主流视频压缩格式为mp4,能够降低码率编码全帧率视频
3、增加缓存,CDN的缓存服务器可以为此提供帮助,增加首次缓存的视频量,在用户初次访问时就不会出现等待时间太久的问题
针对延迟问题,我们要做的还是要尽可能降低延迟,由于不可控性太多,无法保证直播源代码完全没有延迟,优化可能出现延迟的地方来达到保证延迟在用户能接受的范围内。
声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任