12月13-14日,LiveVideoStackCon音视频技术大会在深圳举办。在解决方案专场,即构科技解决方案架构师张靖雨发表了《不同场景下如何实现最优用户体验》的主题演讲。
她首先从整体上介绍了即构在保障用户体验方面的思路,并通过三个具体的应用场景详细介绍即构是如何保障不同场景下用户的最优体验。
由于内容比较丰富,我们将分成上下两篇分来进行分享,本文为下篇内容。
“音视频+互动白板”带来的体验优化
今年是在线教育比较火的一年,而在线教育客户对音视频质量非常关注。现场如果有做教育的朋友应该会知道,目前市场上除了即构,几乎没有任何一家供应商能够把白板的传输和音视频的传输同步起来。
这里的难点在于,实时音视频走流媒体协议,有传输延时,但白板走信令通道,信令通道比流媒体通道的延时低。在跨区域跨国的课堂场景中,学生在外上课,经历基站切换,网络断开又恢复了,然后白板内容和老师说的话就完全对不上。
针对弱网/断网网络恢复场景,即构将两个通道打通和对齐,实现音视频和白板内容的同步。
通道的对齐,大家可能都会想到用时间戳:在实时音视频里面打上时间戳,白板信令里也打上时间戳,每次播放的时候把两个时间戳对齐了才播放。
这是一种方法,但有一个问题:时间戳的粒度选多长?
如果粒度选的太大,在短暂的中断之后,要等播放到时间戳才能对齐,延时大。如果粒度选的太小,那么实时传输的数据量会增加,甚至时间戳也会丢包。
在这种情况下,即构做了多重策略。
第一,以大粒度去打时间戳
但这个时间戳是以白板或者是文件共享中的动作为节点,比如画了一个新的图形,写了一个新的字,从落笔到抬笔算一个动作,我们会以这种时间节点进度来打时间戳。
第二,白板节点信息与流媒体混编
实时音视频流媒体传输,允许将非媒体信息通过一个虚拟的帧插入媒体流信息中。在实时音视频的流传输过程中,即构通过媒体次要信息的接口,将白板的关键节点混编到流信息里。
网络正常时,通过时间戳对齐进行播放;网络异常时,通过解析视频流里的媒体信息和白板的信令对齐。
“音视频+白板”方案,还有一个大家比较关心的点是录制和回放。此前,白板和音视频的回放都是从回放开始的时间做好对齐,然后再播放渲染。
即构可以将白板和音视频对齐后再回放,那么不管出现暂停,快进或是网络突然中断,白板内容和音视频内容会始终保持同步的回放播放。
“音视频+5G”下的体验优化
即将到来的2020年将是5G大规模应用的一年, 5G大带宽、低延时、海量互联的三大特性,将为我们带来更多的新应用场景和新的诉求。
比如大带宽下的4K高清课堂;低延时的自动驾驶、远程手术,多人线上K歌合唱、线上在线乐队等等场景。
即构将根据5G网络的特性,从端,网,云及底层引擎优化多方面,对应调整云端架构,实现新应用场景的快速落地。
端
5G下的新场景会带来更多样化的客户端,未来可能会出现云手机、云端桌面、云端电脑。
此外还有服务器,未来可能把嵌入式Linux的服务器压缩在盒子里,用嵌入式有限的资源设备去传输8K/4K高清视频。一些特殊设备,带推流的麦克风,带直接推拉流的摄像头,以及在医疗行业,还要打通医疗设备、手术操作设备的系统。
即构对每一款新设备都会进行严格的测试,目前我们累计测试的客户端类型已经超过了15000种。
网
在网这部分,即构坚持:Anytime、Anywhere、Anyresource。即构现在已经覆盖了500多BGP的节点,但5G下将面临的一个问题是:以前我们所面对的基站都是宏基站,功率大,覆盖范围广,而5G下是无数的微基站、皮基站,我们的架构要怎么优化?
首先,网端尽量下沉到边缘节点
用户与边缘节点的距离越长,会造成更多的延时。而下沉边缘节点就意味着节点数量的增加,节点选型的难度加大,并且下沉边缘节点后,还要做不一样的传输、调度。
其次,优化每个边缘节点的算力
4G网络下一条1080P30帧的高清视频流,码率只有5M,一台4核8G的服务器能够同时推600条流;但5G下一条4K30帧的视频流,码率会达到30M,在5G单条流带宽资源增长6倍的情况下,我们需要让每一台四核8G的服务器还能同时处理200~300条5G的流,才能实现成本与性能的平衡。
云
在云端,针对每一个不同的业务形态,我们通过网络切片和CU转控分离来保证每一个场景的业务形态,都能获得最优资源,实现最好的效果。
5G在网络上带来最大的一个变化,是进行网络切片。以4K直播为例,之前的方案中,观众观看直播大部分都会走CDN,而CDN的延时在3~10秒,主播和观众打赏互动之间会有明显的延时。
现在越来越多的直播客户,希望即构提供的方案能支持4K直播,但不想走实时网络,因为成本太高,也不想走CDN,因为CDN太慢。
因此,即构推出5G下的中延时方案,它快于CDN传输,但又不是实时的效果,它的延时在1秒左右。中延时方案以3-10秒延时的成本,实现1秒延时的效果,在不增加成本的基础上提供更好的用户体验。
除了网络切片,云端另一个优化是CU分离,控制面和用户面完全分离,将边缘节点下沉,最大化的靠近用户面。
优化底层引擎
除了端、网、云的改造,在5G网络下,我们还要对整个编码逻辑进行优化。
大家想象一下,当大量流数据已经能够在50毫秒内进行传输,但因为编解码关键帧的间隔,也就是GOP中的I帧间隔还是2秒,会导致什么情况?
会导致虽然流数据到了,但是2秒的关键帧间隔让播放器无法立刻显示下一帧画面,用户体验到的还是2秒的延时。
4G网络下,2秒的关键帧间隔是最实时最快效果最好的值,但在5G下,我们可以把关键帧间隔调到1.8秒,并且预缓存一个GOP,这个GOP只存储上一帧的关键帧数据。
当流数据到达,我们就能先从缓存的GOP中调取上一个关键帧数据,成为首帧。用户的体验立刻升级了:一打开就能马上看到画面,实现5G下的首帧秒开。
在5G即将到来之际,即构将继续打磨产品和技术,为用户提供5G新场景下的更优体验。
谢谢大家!