通过上面的分析和比较,我相信你已经对这三种多对多音视频通信架构有了一个非常清晰的认知了 。综合它们各自的优劣情况,我们可以得出,SFU 是三种架构方案中优势最明显而劣势又相对较少的一种架构方案 。
无论是从灵活性上,还是音视频的服务质量、负载情况等方面上,相较其他两种方案,SFU 都有明显的优势,因此这种方案也被大多数厂商广泛采用 。
另外,在上面介绍 SFU 方案时,我们还提到了视频的 Simulcast 模式和 SVC 模式,下面我就这两个知识点再向你做一下讲解,来看一下这两种视频的处理模式对 SFU 架构来说都带来了哪些好处 。
1. Simulcast 模式所谓Simulcast 模式就是指视频的共享者可以同时向 SFU 发送多路不同分辨率的视频流(一般为三路,如 1080P、720P、360P) 。而 SFU 可以将接收到的三路流根据各终端的情况而选择其中某一路发送出去 。例如,由于 PC 端网络特别好,给 PC 端发送 1080P 分辨率的视频;而移动网络较差,就给 Phone 发送 360P 分辨率的视频 。
Simulcast 模式对移动端的终端类型非常有用,它可以灵活而又智能地适应不同的网络环境 。下图就是 Simulcast 模式的示意图:

文章插图
Simulcast 模式示意图
2. SVC 模式SVC 是可伸缩的视频编码模式 。与 Simulcast 模式的同时传多路流不同,SVC 模式是在视频编码时做“手脚” 。
它在视频编码时将视频分成多层——核心层、中间层和扩展层 。上层依赖于底层,而且越上层越清晰,越底层越模糊 。在带宽不好的情况下,可以只传输底层,即核心层,在带宽充足的情况下,可以将三层全部传输过去 。
如下图所示,PC1 共享的是一路视频流,编码使用 SVC 分为三层发送给 SFU 。SFU 根据接收端的情况,发现 PC2 网络状况不错,于是将 0、1、2 三层都发给 PC2;发现 Phone 网络不好,则只将 0 层发给 Phone 。这样就可以适应不同的网络环境和终端类型了 。

文章插图
SVC 模式示意图
小结本文我向你介绍了三种多方通信的架构,分别是 Mesh、MCU 和 SFU 。
整体来看,由于各方面限制,Mesh 架构在真实的应用场景中几乎没有人使用,一般刚学习 WebRTC 的同学才会考虑使用这种架构来实现多方通信 。
MCU 架构是非常成熟的技术,在硬件视频会议中应用非常广泛 。像很多做音视频会议的公司之前都会购买一套 MCU 设备,这样一套设备价格不菲,最低都要 50 万,但随着互联网的发展以及音视频技术越来越成熟,硬件 MCU 已经逐步被淘汰 。
当然现在也还有公司在使用软 MCU,比较有名的项目是 FreeSWITCH,但正如我们前面所分析的那样,由于 MCU 要进行解码、混流、重新编码的操作,这些操作对 CPU 消耗是巨大的 。如果用硬件 MCU 还好,但软 MCU 这个劣势就很明显了,所以真正使用软 MCU 架构方案的公司也不多 。
SFU 是最近几年流行的新架构,目前 WebRTC 多方通信媒体服务器都是 SFU 架构 。从上面的介绍中你也可以了解到 SFU 这种架构非常灵活,性能也非常高,再配上视频的 Simulcast 模式或 SVC 模式,则使它更加如虎添翼,因此各个公司目前基本上都使用该方案 。
思考时间今天我留给你的思考题是:在 SFU 方案中,该如何将多路音视频流录制下来并进行回放呢?
欢迎在留言区与我分享你的想法,也欢迎你在留言区记录你的思考过程 。感谢阅读,如果你觉得这篇文章对你有帮助的话,也欢迎把它分享给更多的朋友 。
【多人音视频实时通讯是怎样的架构?】
推荐阅读
- 燃气灶是不是越贵就越好?很多人都误会了,懂的人往往看这几方面
- 如何给老音响增加音源
- 一 一醉不老丹的功效与作用
- 每天早上空腹练瑜伽好吗?
- 你为什么会爱上茶,为什么这么多人坚持喝黑茶
- 跑步的呼吸节奏
- 全面的了解高尔夫球杆
- 山地车运动特点
- 开淘宝店需要多少费用 网上开淘宝店需要多少费用
- 日间行车灯到底有什么用?很多人都不清楚,一次性给你讲清楚
