MCU 技术在视频会议领域出现得非常早,目前技术也非常成熟,主要用在硬件视频会议领域 。不过我们今天讨论的是软件 MCU,它与硬件 MCU 的模型是一致的,只不过一个是通过硬件实现的,另一个是通过软件实现的罢了 。MCU 方案的模型是一个星形结构,如下图所示:
文章插图
MCU 方案架构图
我们来假设一个条件,B1 与 B2 同时共享音视频流,它们首先将流推送给 MCU 服务器,MCU 服务器收到两路流后,分别将两路流进行解码,之后将解码后的两路流进行混流,然后再编码,编码后的流数据再分发给 B3 和 B4 。
对于 B1 来说,因为它是其中的一个共享者,所以 MCU 给它推的是没有混合它的共享流的媒体流,在这个例子中就是直接推 B2 的流给它 。同理,对于 B2 来说 MCU 给它发的是 B1 的共享流 。但如果有更多的人共享音视频流,那情况就更加复杂 。
MCU 主要的处理逻辑如下图所示:
文章插图
MCU 处理逻辑图
这个处理过程如下所示:
- 接收共享端发送的音视频流 。
- 将接收到的音视频流进行解码 。
- 对于视频流,要进行重新布局,混合处理 。
- 对于音频流,要进行混音、重采样处理 。
- 将混合后的音视频进行重新编码 。
- 发送给接收客户端 。
- 技术非常成熟,在硬件视频会议中应用非常广泛 。
- 作为音视频网关,通过解码、再编码可以屏蔽不同编解码设备的差异化,满足更多客户的集成需求,提升用户体验和产品竞争力 。
- 将多路视频混合成一路,所有参与人看到的是相同的画面,客户体验非常好 。
- 重新解码、编码、混流,需要大量的运算,对 CPU 资源的消耗很大 。
- 重新解码、编码、混流还会带来延迟 。
- 由于机器资源耗费很大,所以 MCU 所提供的容量有限,一般十几路视频就是上限了 。
文章插图
SFU 方案架构图
在上图中,B1、B2、B3、B4 分别代表 4 个浏览器,每一个浏览器都会共享一路流发给 SFU,SFU 会将每一路流转发给共享者之外的 3 个浏览器 。
下面这张图是从 SFU 服务器的角度展示的功能示意图:
文章插图
SFU 功能示意图
相比 MCU,SFU 在结构上显得简单很多,只是接收流然后转发给其他人 。然而,这个简单结构也给音视频传输带来了很多便利 。比如,SFU 可以根据终端下行网络状况做一些流控,可以根据当前带宽情况、网络延时情况,选择性地丢弃一些媒体数据,保证通信的连续性 。
目前许多 SFU 实现都支持 SVC 模式和 Simulcast 模式,用于适配 WiFi、4G 等不同网络状况,以及 Phone、Pad、PC 等不同终端设备 。
SFU 的优势有哪些呢?可总结为如下:
- 由于是数据包直接转发,不需要编码、解码,对 CPU 资源消耗很小 。
- 直接转发也极大地降低了延迟,提高了实时性 。
- 带来了很大的灵活性,能够更好地适应不同的网络状况和终端类型 。
- 由于是数据包直接转发,参与人观看多路视频的时候可能会出现不同步;相同的视频流,不同的参与人看到的画面也可能不一致 。
- 参与人同时观看多路视频,在多路视频窗口显示、渲染等会带来很多麻烦,尤其对多人实时通信进行录制,多路流也会带来很多回放的困难 。总之,整体在通用性、一致性方面比较差 。
推荐阅读
- 燃气灶是不是越贵就越好?很多人都误会了,懂的人往往看这几方面
- 如何给老音响增加音源
- 一 一醉不老丹的功效与作用
- 每天早上空腹练瑜伽好吗?
- 你为什么会爱上茶,为什么这么多人坚持喝黑茶
- 跑步的呼吸节奏
- 全面的了解高尔夫球杆
- 山地车运动特点
- 开淘宝店需要多少费用 网上开淘宝店需要多少费用
- 日间行车灯到底有什么用?很多人都不清楚,一次性给你讲清楚