We present the software architecture and implementation of our web-based multiparty video conference application. It does not use a media server. For call signaling, it either piggybacks on existing push notifications via a lightweight notification server, or utilizes email messages to further remove that server dependency. For conference control and data storage, it creates a peer-to-peer network of the clients participating in the call. Our prototype client web app can be installed as a browser extension, or a progressive web app on desktop and mobile. It uses WebRTC data channels and media streams for the control and media paths in implementing a full featured video conferencing with audio, video, text and screen sharing. The challenges faced and the techniques used in creating our lightweight or serverless system are useful to other low-end WebRTC applications that intend to save cost on server maintenance or paid subscriptions for multiparty video calls.
翻译:本文介绍了我们基于网页的多方视频会议应用的软件架构与实现。该系统不使用媒体服务器。在呼叫信令方面,它既可通过轻量级通知服务器搭载于现有推送通知之上,亦可利用电子邮件消息进一步消除对该服务器的依赖。针对会议控制与数据存储,系统为参与通话的客户端建立对等网络。我们的原型客户端网页应用可安装为浏览器扩展程序,或在桌面端与移动端作为渐进式网页应用运行。该系统采用WebRTC数据通道与媒体流分别作为控制路径与媒体路径,实现了具备音频、视频、文字及屏幕共享功能的完整视频会议方案。我们在构建轻量化或无服务器系统过程中面临的挑战及采用的技术,对其他旨在节省多方视频通话服务器维护成本或付费订阅费用的低端WebRTC应用具有参考价值。