野火音视频之双流模式

音视频服务最大的费用负担就是带宽和流量了,特别是音视频带宽需求很大而带宽又特别贵的情况下,双流模式则是音视频服务省钱的终极大招。野火音视频高级版也支持双流模式,下面让我们看一下吧。

1. 双流模式的需求

野火音视频高级版是SFU架构,所有人都发视频流到服务,然后拉取其他所有人的视频流。随着参与者人数的增加,拉取的视频流也就越多,但矛盾就是手机的屏幕是固定很小的,拉取那么多视频流都显示在极小的画布上,造成极大的浪费,另外一方面受限于手机的带宽也不能支持太多路视频,而且服务器也需要承担很重的流量压力。因此国内主流的音视频服务供应商都提供双流模式,能够在不降低体验的情况下,极大的减少带宽占用和提高参与人数。

2. 双流模式

双流模式顾名思义就是提供两路视频流,一路标准视频流,清晰度比较高,占用带宽也比较高;另外一路微流,清晰度较低,占用带宽较低。在显示时标准流占据主要画面,微流占据小窗口。这样每个客户端只接收一路标注流,另外加上数路微流,流量会比普通模式降低很多。

以9人会议为例,野火默认标准流是100KB/s(有接口可以调整),微流固定是10KB/s。

在普通模式下,每个参与者发出1路标准流,所以每个参与者上行流量是100KB/s,服务总体上行流量为900KB/s。每个参与者接收8路标准流,所以每个参与者下行流量是800KB/s,服务总体下行流量为7400KB/s。

在双流模式下,每个参与者发出1路标准流、一路微流,所以每个参与者上行流量是100+10 = 110KB/s,服务总体上行流量为990KB/s。每个参与者接收1路标准流和7路微流,所以每个参与者下行流量是100 + 7*10 = 170KB/s,服务总体下行流量为1530KB/s。

因此可以看出在9人场景下,上行流量增加了10%,但下行流量减少了80%。

3. 双流模式的使用

双流模式是默认开启的。在移动端野火音视频SDK会自动处理双流模式,自动把大的View切换成标准流,小的View切换成微流,因此移动端不用做任何修改。在Web和PC端,有接口为每个用户设置标准流或微流,因此使用时需要UI层指定使用那个流。

这么做的一个逻辑就是手机屏幕比较小,一般都是一个焦点用户,其他用户都只显示小窗口。而PC或者Web端的屏幕比较大,可能跟移动端一样只有一个焦点用户其他小窗口,也有可能是等大小划分,等大小显示时就可以指定只拉取标准流。

当然我们也提供有接口可以关闭双流模式,这样就跟之前一样了。

除非是有特殊需求,建议使用双流模式,更省流量也更省手机消耗。

2018 © wildfirechat.net 京ICP备18060403号-1 all right reserved,powered by Gitbook该文件修订时间: 2021-08-04 22:22:03

results matching ""

    No results matching ""