假设在一个多个用户参与的视频直播系统中,大部分用户的网络都是非常好,但是只有一两个用户用的是3G,4G上网,网络质量不太好。这种情况下对于发布方应该如何处理呢?一种比较容易想到的方案就是降低发布方的视频码流,这样不管网络好还是网络不好的用户都可以流畅观看视频了,这种方案有个致命缺陷,大部分网络好的用户被少数几个网络差的用户给拖累了。
如上图所示,发布方只能发布低于0.5M的码流了,白白浪费的其它
用户的10M带宽。
哪有没有什么方案能照顾到网络好的用户和网络差的用户呢?当然是有的,还不只一种,我们现在先来介绍其中的一种,联播(Simulcast)技术。顾名思义,联播就是发布方同时发布几路不同码流的视频到服务器(SFU)上来,SFU根据接收方的网络状态转发相应的码流给接收用户,上面这种情况如果用联播技术来解决的话,可以给出以下架构图:
上图中发布方同时发布9M视频码流和0.4M的视频码流