论文部分内容阅读
随着计算机网络技术高速的发展,人们对多媒体信息通信的要求上升到了另一种标准-实时性。音视频聊天、视频会议等网络多媒体实时交流,可以满足人们跨越空间限制面对面交流的需求。当前主要有网页版和客户端版两种实现方式,对于网页版的实时通讯应用,通信双方首先要在浏览器中安装诸如Adobe Flash、Microsoft Sliverlight等插件,除去安装和更新的不便,开发者不仅需要对插件开发,也需要对不同浏览器和操作系统开发不同版本。对于客户端版的实时通讯应用,开发软件时也需要考虑不同的平台,并且开发出的软件,相互之间一般不能相互通信,比如:QQ和MSN用户之间不能直接进行通信,通信的双方需要下载安装同一款软件,并且客户端方式的实时通讯应用采用的一般是私有协议。WebRTC(Web Real-Time Communication)基于Web的网络实时通讯技术的出现,情况发生了改变。开发者无需下载任何插件,便能够基于浏览器开发出丰富的多媒体应用,并且不需要关注音视频的采集、编解码等数字信号处理过程,需要做的仅仅是编写简单的Javascript程序。本文对WebRTC框架及WebRTC API进行了相关研究,特别对其中的MediaStream、RTCPeerConnection、RTCDataChannel等接口技术做了详细介绍。利用这些通信技术,本文阐述了如何获取本地无损的音视频流,以及如何实时地展示到页面上。在建立点到点的通信通道过程中,有效地扩大通道的吞吐能力,并且降低通道的延时时间,该通道可以有效地用于传输大量音频、视频数据。本文实现了一个音频、视频聊天系统,并部署在Node.js开发平台上,同时使用基于WebRTC和WebSocket技术,建立一个不依赖插件的在浏览器网页上运行的聊天室。该聊天室可以支持传输文本消息、文件分享、音频数据和视频数据等功能,可以满足在线教育、视频娱乐、企业办公等需求。