前端

Jitsi Meet is an open-source (Apache) WebRTC JavaScript application that uses Jitsi Videobridge to provide high quality, secure and scalable video conferences. Jitsi Meet in action can be seen at here at the session #482 of the VoIP Users Conference.

The Jitsi Meet client runs in your browser, without installing anything else on your computer. You can try it out at https://meet.jit.si.

Jitsi Meet allows very efficient collaboration. Users can stream their desktop or only some windows. It also supports shared document editing with Etherpad.

jitsi/jitsi-meet

<aside> 💡 Jitsi Meet是一个开源(Apache)WebRTC JavaScript应用程序,它使用Jitsi Videobridge提供高质量,安全和可扩展的视频会议。 在这里,可以在VoIP用户大会的#482会议上看到Jitsi Meet的实际应用。 Jitsi Meet客户端在您的浏览器中运行,而无需在计算机上安装其他任何东西。 您可以在https://meet.jit.si上进行尝试。 Jitsi Meet可以实现非常有效的协作。 用户可以流式传输其桌面或仅某些窗口。 它还支持使用Etherpad进行共享文档编辑。

</aside>

后端

Jitsi Videobridge

Jitsi Videobridge是与WebRTC兼容的视频路由器或SFU,可用于构建高度可扩展的视频会议基础结构(即,每台服务器最多可召开数百个会议)。

jitsi/jitsi-videobridge

TutorABC 董海冰:Golang + WebRTC 搭建实时音视频云实践_Go中国-CSDN博客_go webrtc

国内后端主流资料

webrtc虽然是一项主要使用p2p的实时通讯技术,本应该是无中心化节点的,但是在一些大型多人通讯场景,如果都使用端对端直连,端上会遇到很带宽和性能的问题,所以就有了下图的三种架构。

一、Mesh架构

即:每个端都与其它端互连。以上图最左侧为例,5个浏览器,二二建立p2p连接,每个浏览器与其它4个建立连接,总共需要10个连接。如果每条连接占用1m带宽,则每个端上行需要4m,下行带宽也要4m,总共带宽消耗20m。而且除了带宽问题,每个浏览器上还要有音视频“编码/解码”,cpu使用率也是问题,一般这种架构只能支持4-6人左右,不过优点也很明显,没有中心节点,实现很简单。

二、MCU (MultiPoint Control Unit)

这是一种传统的中心化架构(上图中间部分),每个浏览器仅与中心的MCU服务器连接,MCU服务器负责所有的视频编码、转码、解码、混合等复杂逻辑,每个浏览器只要1个连接,整个应用仅消耗5个连接,带宽占用(包括上行、下行)共10m,浏览器端的压力要小很多,可以支持更多的人同时音视频通讯,比较适合多人视频会议。但是MCU服务器的压力较大,需要较高的配置。