新闻资讯
如何优化直播体验?
直播体验优化
做一个直播平台,用户体验的关键基本上就七个字、三个点就可以概括:“不卡、不掉、不延迟”,分别对应播放流畅、交互稳定、内容实时。具体到业务上,大概有这些方面:
-
首屏秒开
-
带宽成本优化
-
ROI优化
-
时延优化
下面分别介绍淘宝直播的做法。
首屏秒开优化
直播的首屏秒开指的是点击一个直播就能立即播放,目前业界也做得比较成熟,淘宝直播在其基础上对细节进行了分类,包括业务逻辑、网络、缓冲、渲染等优化:
-
并行处理:列表页、获取播放地址、房间状态、连接消息通道 整体时延超过3s
-
请求合并:房间状态、地址、主播信息层、点赞数量、观看人数、在线列表
-
传统DNS基于UDP,解析时间过长。使用HTTPDNS:预解析、防止域名劫持、精准调度(就近接入)、避免延迟
-
收流服务器主动推送 GOP 至边缘节点,边缘节点缓存 GOP,播放端则可以快速加载,减少回源延迟
-
根据TCP拥塞窗口做智能调度,当拥塞窗口过小说明丢包率过高,需要切换节点和故障排查
-
增加上行、下行带宽探测接口,当带宽不满足时降低视频质量,即降低码率
通过这些优化手段,能够做到95%的直播点击后在900ms以内能够播放。
带宽成本优化
带宽成本优化主要是对音视频解码进行优化。直播是一个很烧钱的事情,淘宝直播上线以后,带宽消耗非常巨大。降低成本的手段第一是窄带高清,降低整体码率的消耗,还有一个重要的是采用了H265编解码,在画质上,其带宽消耗要远远低于H264,但带来附加上的技术问题是首先后台要有转码,我们在端上的解码用H265来看,但在主播端是用H264的编码来传,通过云端的集群将H264转成H265,需要阿里云的集群转码能力才能实现,对于H265的解码进行定制化的方案,目前做到的效果要比自带解码器的效率提升30%以上。
ROI优化
ROI是指Region Of Interest,根据视频画面不同区域的重要程度分配相应的码率,基于人脸识别,需要实时的对视频流进行处理。其实现在业界直播有一些美颜、实时装饰技术,原理上大家都差不多,只是ROI技术优化的目的在于优化码率。。
时延优化
在做首屏秒开优化的时候,会预加载关键帧,但这个预加载会造成一定的时延,这时需要用算法进行决策加速、正常还是放慢播放,自动追帧丢帧,让主播和观众之间的时间差尽量小。
回复列表