一、背景
视频会议系统是一种现代化的办公系统,它可以使不同会场的实时现场场景和语音互连起来,同时向与会者提供分享听觉和视觉的空间,使各与会方有"面对面"交谈的感觉。随着社会的发展,视频会议的应用越来越广泛,同时对其视频音频质量、数据共享、灵活性以及易用性、可靠性和易管理性的要求也越来越严格。由于视频会议允许用户在可视的情况下交换信息,因而它几乎能够应用于任何情况下,提高通信的质量和效率。无论是用于传达产品介绍、销售活动、员工培训、管理信息还是增强分散地的协作计划,视频会议都日益成为一种能带来竞争优势的实用工具。
为满足客户需求,实现视频会议的功能,拓展公司应用控件的丰富度,去调研目前存在的主流视频会议方案。
二、目标
寻找一款稳定可靠、功能丰富、易于使用、具有良好扩展性的视频会议软件。
三、需求
功能性:包括音视频聊天、会议录制、屏幕共享、互动功能等。
易用性:用户界面的友好程度、使用的便捷性。
安全性:有良好的安全性和隐私保护措施,以保护会议内容和参与者的信息安全。
可扩展性:具有良好的可扩展性和集成性,便于与其他系统集成。
性能:企业级应用,并发数高。
QoS:低延迟、抖动处理、降低丢包率。
四、概述
对比目前市场上主流的六款视频会议系统:Jitsi Meet、BigBlueButton、Galene、Nettu-Meet、Element-Call、OpenMeetings等,从功能性、易用性、安全性、可扩展性等多个维度进行考量,旨在为企业提供一套合适的技术选型方案。
1.Jitsi Meet
Jitsi Meet是一套开放源代码项目,使用户能够部署安全、可伸缩和易于使用的具有先进视频质量和功能的视频会议平台,支持所有普通浏览器和移动设备。技术架构采用了分布式架构,结合了 Java、WebRTC 和其他相关技术,以实现高效、稳定和可扩展的视频会议功能。这种架构使得 Jitsi Meet 可以在不同的环境中部署和运行,并且能够支持大量用户同时进行视频会议。允许开发人员很容易地将其集成到现有的应用程序中,无论是基于Web的还是本地的移动应用程序。
特点
- 基于WebRTC技术栈,提供跨平台、跨浏览器的实时音视频通信能力,确保流畅、稳定的通信体验。
- 利用Jitsi Videobridge作为核心组件,有效处理多路视频流的混合与分发,显著降低服务器带宽消耗。
- 支持端到端加密技术,确保会议内容的安全性与隐私性。
- 支持高并发和大规模部署,能够满足各种规模的会议需求。
- 提供Docker容器化部署方案,简化系统安装、配置与管理流程。
- 整体比较易用,界面简洁。
- 具有较好的扩展性,可以与其他项目进行集成和定制。
- 社区活跃度高,资料丰富。
- 支持大量的并发会议和终端用户,适合企业级应用
- 适用于在线教育、研讨会及医疗咨询等多场景。
劣势
部署维护有一定技术要求,可通过docker部署解决。
界面
预览地址:https://meet.jit.si/
2.BigBlueButton
BigBlueButton 是一个开源虚拟教室,旨在帮助教师教学和学习者学习。支持实时共享音频、视频、白板、聊天和屏幕。教师可以通过投票、表情符号、多用户白板、共享笔记和分组讨论室来吸引远程学生。在课程期间,BigBlueButton 会生成分析数据,主持人可以在学习分析仪表板中查看这些数据。演示者可以录制和播放内容,以便稍后与其他人分享。
特点
- 基于Nginx与Tomcat技术栈,支持RTMP与RTMPT流媒体传输协议,保障音视频内容的稳定传输。
- 整合Red5流媒体服务器,实现音视频内容的高效转换与播放。
- 支持PDF资料的Flash格式转换,便于在线教学资料的展示与分享。
- 操作相对直观,但需要一定的学习和适应过程。
- 扩展性不错,尤其在教育等特定领域有较多的扩展和定制可能性。
- 特别适用于远程教育、在线课程及企业培训等场景。
缺点
部署环境要求高,部署最低要求如下:
运行 Linux 内核 5.x 的 Ubuntu 20.04 64 位操作系统
已安装最新版本的 docker
16 GB 内存
8个CPU核心,单线程性能高
界面
预览地址:https://demo.bigbluebutton.org
3.Galene
Galène是一款视频会议服务器,易于部署,需要适中的服务器资源。它最初是为讲座、会议和学生辅导而设计的,但也适用于传统会议。
特点
- 作为高性能的视频会议服务器,采用先进的音视频编解码技术与网络处理算法。
- 支持大量并发会议与终端用户接入,满足企业级视频会议需求。
- 提供直观易用的用户界面。
- 支持多种设备与平台。
- 可能在易用性上不是特别突出,需要一定的技术背景来部署和使用。
- 支持大量的并发会议和终端用户,适合企业级应用
- 适用于企业级视频会议、在线教育及大型研讨会等场景。
劣势
功能简单,知名度相对较低,是不如其他方案广泛被认知和使用。
界面
4.Nettu-meet
Nettu Meet 是一个开源的视频会议系统,专为辅导老师设计。它具有实时音频和视频共享功能,允许用户在共享的白板上进行协作,包括绘制图形、上传文件和发送聊天消息。这个应用程序适用于各种在线学习环境,使教师和学生能够在远程环境中进行互动和有效的辅导。
特点
- 基于WebRTC技术栈,提供安全、可靠的视频会议解决方案。
- 利用Node.js与React.js构建服务器端与用户界面,确保系统的高性能与可扩展性。
- 易用性较好,专注于简洁和高效的会议体验。
- 特别适用于需要高度隐私保护的企业内部会议、在线教育及远程协作等场景。
劣势
年久失修,已经是三年前的东西了。、
界面
无
5.Element Call
Element Call 是一个创新的开源项目,它利用先进的WebRTC技术和Matrix通信协议,为你提供了一种可自托管的、安全的多人视频通话解决方案。这个项目源自LiveKit的开放源代码WebRTC工具包,旨在为用户提供流畅、可靠的实时音视频交流体验。
特点
- 基于WebRTC与Matrix通信协议,提供可自托管的、安全的多人视频通话解决方案。
- 结合高清稳定的音视频通话技术与Matrix协议的安全特性,保障通信内容的安全性与私密性。
- 提供易于部署与配置的解决方案,支持多语言用户界面。
- 易用性通常较好,与 Element 生态系统紧密结合。
- 适用于在线会议、远程协作、教育研讨会及个人多人视频聊天等多场景。
劣势
功能简单,仅有音视频。
界面
6.OpenMeetings
Openmeetings提供视频会议、即时消息、白板、协作文档编辑和其他群件工具。
特点
- 支持实时音视频通信、电子白板互动及文档共享功能。
- 利用Red5流媒体服务器,实现音频视频内容的流畅播放。
- 经过适当的配置和熟悉后,易用性尚可,但可能不是最简洁直观的。
- 适用于企业会议、在线教育及远程协作等多场景。
劣势
随着Flash的淘汰,该方案可能面临兼容性问题。
界面
无
五、分析对比
1. 功能对比
弄个表格太麻烦了
2. 流行度对比
3. 性能对比
4. 优缺点对比
六、风险
各项目的集成,均需要一些成本,如学习其SDK进行适配。
毕竟是开源项目,一些特定情况下的bug可能需要修改源码,修复周期比较长。
由于开源特性,需持续关注安全更新和漏洞修复,持续优化组件。
七、结论
经过对各个方案的技术分析与比较,综合考虑系统的功能特性、易用性、安全性及可扩展性等因素,可以看出jitsi Meet更加满足我们的需求,集成后可移植复用性强,为后续此类项目开发奠定基础,因此Jitsi Meet可在项目中使用。
八、备注
WebRTC(Web Real-Time Communications)是一项实时通讯技术,允许网络应用或站点在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流、音频流或其他任意数据的传输。 WebRTC的核心组件包括音频和视频的捕获、传输以及数据通信,它通过使用安全实时传输协议(Secure Real-time Transport Protocol, SRTP)对RTP数据进行加密,提供消息认证和完整性以及重播攻击保护,确保通信的安全性。
QoS(Quality of Service,服务质量)指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制, 是用来解决网络延迟和阻塞等问题的一种技术。QoS的保证对于容量有限的网络来说是十分重要的,特别是对于流多媒体应用,例如VoIP和IPTV等,因为这些应用常常需要固定的传输率,对延时也比较敏感。
九、写在最后
调研过程中,总结的一些资料,有什么想法、意见建议或者新的项目都欢迎来互动。