论文部分内容阅读
WebRTC (Web Real-Time Communications)是一项Web用户间的实时通信技术,它为浏览器提供了音视频通信、数据传输、桌面分享等能力,目前Chrome、 Firefox等浏览器都支持此项技术。作为一种新兴的HTML技术,WebRTC以其较低的开发成本,较高的用户体验,以及标准化程度高等优势备受关注。随着用户终端的处理能力和网络带宽的提高,单一的文字消息已经难以满足用户的需求,而传统的基于Web的多媒体解决方案都存在着一些问题。WebRTC技术的出现弥补了这些不足,丰富了Web应用的功能,使其更具活力。本文针对多方多媒体通信系统进行设计和实现,基于VWebRTC技术及其提供的数据通道,实现了Web用户间的音视频通信和文件传输。在服务器端,使用WebSocket技术实现了对消息的实时推送,完成了WebRTC信令路由和会话控制的功能。在设计上,通过将Web服务与WebSocket服务相分离以及动态的负载均衡策略,增强服务器端的扩展性。在客户端,基于JSEP等协议,直接同浏览器的API进行交互,完成了WebRTC连接的建立、音视频流的获取及展示和文件的分块传输。在多方音视频通信的应用场景中,用户通过多条WebRTC连接,建立一个音视频流的完全图,不再需要服务器端进行混流的工作。在点对多点的文件传输场景中,通过加入分发策略,降低了整体的传输时延。系统以P2P的方式完成文件传输,最大程度的保障了传输的安全性。本文首先介绍了WebRTC技术及其相关协议,分析了系统的应用场景和功能需求。接着,从服务器和客户端两方面详细地描述了系统的设计与实现。最后对系统进行部署,并从功能和性能两方面进行测试,验证了多方多媒体通信系统的正确性和实用性。