Webrtc音视频会议之Mesh/MCU/SFU三种架构

Webrtc音视频会议之Mesh/MCU/SFU三种架构

总览

基于Webrtc的音视频会议方案中最常用和最基础的架构模式是Mesh,MCU,SFU;目前市面上的各种音视频会议都脱离不开这三种模式,当然有的是基于这三种模式的变种,又或者是这三种模式按照一定的策略进行组合,但是根基还是Mesh/MCU/SFU三种架构;
所以我们有必要详细了解下这三种架构的思想,首先我们来看看Mesh/MCU/SFU三种架构的基础架构图;当然完整的生产架构肯定包含信令服务器等等,但我们在这里关注Webrtc音视视频会议架构本身;列出这三种架构的优缺点,通过这种对比让我们在音视频会议架构设计的时候能选择更合适的架构模式;并且让我们对这三种架构有一个更准确的认识同时为后续为什么我选择SFU架构的Janus项目来研究做准备

Mesh,MCU,SFU基本架构图:
在这里插入图片描述

Mesh架构

Mesh架构流量或带宽要求比较大,Mesh架构是利用Webrtc对等连接,在参与会议的各方之间开辟UDP通道,也就是两两进行P2P连接,把媒体流发给参与会议的各方,同时从参与会议的其它方获取媒体流,如上图四个参与方,总共8个连接,如果每个通道占用1M带宽,那每个端需要把自己的流发给其它三个端,也就是上行是3M带宽,同时从其它3个端获取流,也就是下行3M带宽,这样每个端上下行总共6M带宽;
Mesh架构对端的能力要求也是比较高,毕竟参与会议的各方的媒体流的编解码都是在端上面来处理的,图上面的4个参与会议方,那每个端的处理量就是4;结合上面可以看出Mesh一个端能承受的同时开视频的人员更少
Mesh架构不利于媒体的集中处理;例如媒体的录制,你如果不觉得带宽或者流量是问题,再从端上传一份媒体到存储服务器那又另当别论;又或者小哥哥小姐姐直播了一些不该直播的无法进行识别或处理了;再者集成我大讯飞的翻译咋办?不能没有我大讯飞的翻译啊,当然端上做也是可以的,但是毕竟端上算力是有限的;
但是Mesh实现起来技术难度是最小的,实现起来最简单;Mesh架构对服务器资源占用是最小的,只需要一个ICE服务器用来实现P2P穿越就行了,Mesh架构是真正的去中心化,对服务器资源占用是最小的,还有可以充分的利用了端上的算力,边缘计算的时代已经来了,节省不少成本;

MCU架构(MultiPoint Control Unit)

MCU架构对服务器端压力比较大,MCU架构需要一个中心化的MCU服务器,编码、转码、解码、混合都在服务器端做;
如上图MCU架构下的参会的4个端把自己的媒体流上缴到MCU服务器,然后MCU服务器对4个媒体流解码后进行合并,4个流合并成一个媒体流,再发给4个参会人员;因此服务器的压力特别大;所以单台服务器能承受的参会人员特别少,当然一些财大气粗的企业可以加服务器,加高级的GPU
MCU端上各种控制更加复杂 ,现在我和漂亮小姐姐聊天,小姐姐是我日思夜想的,我现在想把她的画面调大,这个实现起来就很麻烦了,因为下发的媒体流是合并的,也就是一个视频流;当然不是不可实现,通过信令服务器下发一个重新合屏的信令我们还是可以看到清晰的小姐姐的画面的;只是相对来讲实现更麻烦;
又比如我希望参会的小姐姐们看到群里最靓的我,那我对我自己上滤镜美白那可就麻烦了
MCU架构占用带宽最小,从前面的描述和从上图中我们可以看到4个参会人员每个人上交一份媒体流如果还是按照1M来算,那上行每个端1M,同时从服务器端获取一份混合过的媒体流还是按照1M算,那每个端上下行总共就是2M;结合上面所述MCU架构
一个端同时能承受更多的人开启视频

SFU架构(Selective Forwarding Unit)

SFU架构服务端压力相对较小,SFU架构看似和MCU一样都有一个中心化的服务器,但是SFU的服务器只负责转发媒体或者存储媒体;不直接做编码、转码、解码、混合这些算力要求较高的工作;SFU服务器接到RTP包后直接转发;
SFU架构占用带宽适中,例如上图,SUF架构参与会议的4个端每个端首先要把自己的流发给服务器,所以每个端上行1M带宽,同时从服务器获取转发过来的其它3个参会人员的媒体流也就是下行3M,这样每个端上下行加一起就是4M;所以它占用端上的带宽在Mesh架构和SFU之间;这种适中的带宽占用在即将到来的5G时代你可以想象!!!!
SFU架构对端和媒体流的控制更简单,还是上面的场景,我想仔细端详日思夜想的小姐姐将她的画面调大,只需要在端上直接放大就行了;另外整个会议中只让我成为最靓的仔,进行美颜啥的实现起来也不算是啥问题了,虽然对端的要求高,但是现在手机或者电脑算力过剩啊,边缘计算发挥到极致,哈哈……,为企业省钱;

总结

互联网时代要求更个性化的体验(美颜,更个性化的控制等等),更大的容积率(也就是更多的用户同时在线);总的来说SFU架构更适合互联网时代;ZOOM会议和腾讯会议这两个比较出名的互联网会议系统都是SFU架构;所以跟风一波后续深入的研究SFU架构;
虽然SUF架构对端的算力要求比较高,更多的计算放到了端上,不过在视频会议或者直播的场景下面,跟多的是一个大画面,其它若干个小画面,而且通过交互控制,例如:同时只显示若干个小画面,滚动的时候动态的再获取其它的参会人员的视频生成小画面;
SFU只负责转发流,所以更高的并发,同时它逻辑简单,更容易的构建高负载架构

引用文章请标明出处,否则可以保留一切追究责任的权利
技术交流:
qq:408365330
微信:egojit

  • 6
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
【内容描述】 全套视频会议平台,并包含类似qq的点对点即时通讯系统,视频语音,电子白板,远程控制等强大功能。可提供全部源代码。详细功能描述如下: 视频会议特性:多点输入输出,每个客户端最大可支持4通道输入(音视频同步)。每个输入通道可以被其他客户端选择性的接收。每个客户端最大可支持4个屏幕输出,可以将多个输出屏幕组合成电视墙来使用。视频会议系统同即时通讯系统高度集成。通过即时通讯系统,可以很方便的邀请好友加入到视频会议中。 云台支持:支持各类主流云台,可以远程控制云台运动。 虚拟会议中心:单个服务器支持多个虚拟视频会议。所有的会议都可以进行,彼此之间相互独立互不干扰。 会议模式和权限控制:视频会议系统拥有多种会议模式和多级权限控制,使得会议控制更加安全可靠。参加会议的用户有三种身份:主持人、与会者和旁听者。主持人拥有全部的操作权限,同时负责会议的管理工作。与会者拥有指定操作的权限,该指定权限可以预先设置,也可以由主持人随时动态调整。旁听者没有任何操作权限。与会者可以请求发言,一旦成为发言者,该与会者即拥有全部的操作权限。会议模式包含自由发言模式和受控模式。在受控模式下,与会者的发言请求需要主持人的批准;在自由发言模式下,与会者的发言请求不需要主持人的批准而立刻被允许。会议允许多个用户拥有主持人身份,他们可以同时协同操作,使得会议的管理工作更加容易。 高质量的视音频,系统支持多种类型的视频和音频输入。视频输入设备支持标准的Windows摄像头和专业的视频采集卡。系统支持多种视频大小和编码方式。视频尺寸支持从160X120到720X576。视频编码支持XVID和H264。系统支持多种音频编码方式,最高音质可与CD相媲美。音频和视频参数可以随时动态调整。主持人用户还可以远程调整其他用户的视音频参数,以帮助对系统不熟悉的用户。屏幕和应用程序共享实时共享文件、图片、网页、多媒体文件甚至整个桌面。轻松解决了会议中不同用户身处不同的地方的合作性困难,大大增强了视频会议系统的可用性,并确保其达到最佳的交互效果。 电子白板*使用矢量位图的格式,您可以保存、导入、粘贴位图或文本文件。提供多种的二维绘图模型:线、矩形、三角形、圆形、椭圆等,提供多种三维模型:圆锥、圆柱及立方体等。仅仅通过鼠标操作,你就可以任意缩放、旋转其中的任何图形模型。白板操作即时被传送到所有会议用户,所有会议用户的白板将同步显示相同内容。系统支持电子白板的录制和回放。 会议字幕*会议字幕将在所有会议用户的屏幕下方滚动显示。 文字聊天*系统支持所有会议用户之间的文字聊天。*系统支持两个会议用户之间私下的文字聊天,不会对会议其他用户产生干扰。 丰富的显示模板*系统支持多种显示模板选择。*系统图像支持任意拖放。*系统独有画中画显示功能,可以重点突出被选择的视频图像。 录像和回放*系统支持将会议的全部音频、视频以及数据操作录制在一个文件中,回放的时候可以真实再现当时会议场景。*系统支持在会议中回放预先录制的文件。 高效的传输算法*通过独立自主研发的传输算法,系统可以适应从56K拨号上网到光纤等各类IP网络。传输以保证实时性为最高目标,在保证实时性的前提下尽量获取最大传输带宽,这样可以最大程度的保障会议的效果。良好的扩展性*为满足大系统的容量要求,视频会议支持多MCU级联实现。 即时通讯主要特性: 音视频*可以根据网络带宽情况调整音视频参数,以获得最佳效果。*可以远程调整其他用户的视音频参数,以帮助对系统不熟悉的用户。 电子白板*使用矢量位图的格式,您可以保存、导入、粘贴位图或文本文件。提供多种的二维绘图模型:线、矩形、三角形、圆形、椭圆等,提供多种三维模型:圆锥、圆柱及立方体等。仅仅通过鼠标操作,你就可以任意缩放、旋转其中的任何图形模型。白板操作即时被传送到所有会议用户,所有会议用户的白板将同步显示相同内容。系统支持电子白板的录制和回放。多方视频*你可以邀请多个用户加入到同一个视频对话中来组建一个快速的小型视频会议。屏幕和应用程序共享*实时共享文件、图片、网页、多媒体文件甚至整个桌面。轻松解决了会议中不同用户身处不同的地方的合作性困难。文件传输*你可以传输任何文件至任意用户。 网络文件柜*你可以上传文件至服务器并且可以被授权用户下载。发布公告*你可以对你所属部门的全体用户发布公告通知。与视频会议相集成*与视频会议系统相集成。通过即时通讯系统,你可以邀请其他用户加入到视频会议中来。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值