随着直播业务的大众化,直播过程中的技术也面临着越来越多的寻衅。而延时影响用户体验的一个十分紧张的因素。 直播过程中的延时是指从主播端收罗,到观众端播放之间的时间差,重要来源于网络传输中的延时、网络抖动、网络丢包等等环境,短则1s-2s, 长则15以上,严厉时可导致用户无法观看,以是解决直播延时问题一直是技术亟待解决的痛点。 我们知道PCDN是以P2P技术为底子,通过发掘利用边沿网络海量碎片化闲置资源而构建的内容分发网络,它具有低成本、高品格的特点,十分实用于视频直播这一业务场景。针对直播中延时的环境,PCDN也进行了一系列优化,近期上线了flash无延时直播方案,下面我们未来先容下无延时直播方案的技术原理和实现。 首先,我们来看看无延时传输策略是怎样的?第一,切片巨细是影响延时的直接因素,无延时直播的切片小,制止了因为切片过大的原因出现播放延时,同时P2P传输不会分包,提高传输服从。 第二,无延时直播接纳订阅/推送模式,订阅子流,推送模式进行分享调度,满足直播的实时要求。 第三,当订阅/推送模式在peer退出时出现切片空洞,则利用快速补片的方式包管数据连续性和播放流通度。 PCDN flash无延时直播团体服务架构1、主播通过rtmp协议将直播流推送到阿里CDN 2、切片服务通过rtmp协议从阿里CDN拉取直播流并进行切片 3、阿里CDN再通过http协议拉取切片流,终极通过websocket协议分发到PCDN网络 那么无延时直播和有延时直播的区别是什么?第一,切片范例不同 有延时直播切片按照时间切片,切片时长可设置,基本是在1s或500ms; 无延时直播切片按照巨细切片,默认是1KB。 第二,分发范例 有延时直播,按照点播文件分发,每个切片都是单独的文件; 无延时直播,按照流式分发,与CDN L2节点维持长连接,通过http协议流式传输。 第三,CDN L1节点与终端传输协议不同 有延时直播是http协议,不支持持久连接 无延时直播是websocket协议,支持持久连接 我们可以看出,无延时直播方案是从直播流实时处理惩罚和传输分发等层面分别进行了优化,从而实现了流通的直播用户体验。 PCDN flash无延时直播具有几大优势:第一,可以支持大直播场景(紧张赛事、大型活动、在线教育),服务端可以支撑上百万的同时在线量。 第二,P2P智能调度,可以从上百万的peer中选择与当前peer连通性最好的一批peer,确保更精准、更快速的数据传输。 第三, 支持热点自觉现,仅为热点直播提供P2P服务,最大水平提拔P2P服从,资助用户节省成本。 第四,指标表现优秀:均匀延时小于 1s , 和CDN相比无延时,直播流通率> 99%,同时P2P分享率可达30%-60%。 感兴趣的用户,可以在官网申请书利用,通过播放器加载SDK,SDK提供出LiveStream类,该类继续自flash.net.NetStream,播放器可利用NetStream类调用play函数播放对应的直播流,实现flash无延时直播。 来源:https://www.toutiao.com/article/6503849538388754958 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |