论文部分内容阅读
目前视频语音实时通信应用的实现方式可以分为两种,一种是网页版实时通讯应用,一种是客户端版实时通讯应用。对于网页版实时通讯应用,通信双方首先要在浏览器中安装诸如Adobe Flash、Microsoft Sliverlight等插件,除去安装和更新的不便,开发者也需要针对插件进行开发,需要考虑不同厂商的浏览器以及不同的操作系统,非常繁琐。对于客户端版的实时通讯应用,开发软件时也需要考虑不同的平台,并且开发出的软件,相互之间一般不能相互通信,比如:QQ和MSN用户之间不能直接进行通信,通信的双方需要下载安装同一款软件。并且客户端方式的实时通讯应用采用的一般是私有协议。2011年之后,随着WebRTC (Web Real-Time Communication)基于Web的网络实时通讯技术的出现,情况发生了改变。开发者无需下载任何插件,便能够基于浏览器(Chrome、FireFox等)开发出丰富的多媒体应用,并且不需要关注音视频的采集、编解码等数字信号处理过程,需要做的仅仅是编写简单的Javascript程序。基于该技术全部开放、不收费、品质好,属于在浏览器通讯范畴内的完备的解决方案,可以预见在不远的将来必定会对传统的OTT(Over the top)、电信运营商带来不小的影响。本文详细论述了WebRTC技术的现状、系统框架,并详细介绍了Web API的演变、使用和应用场景,力图让对WebRTC技术感兴趣的读者,能够在最短的时间内了解这项技术,并能够迅速上手开发出不同的Web APP,丰富用户的应用体验。除此之外,本文依据提供的WebRTC API开发出了基于该技术的网页视频会议应用。该应用以Win7为平台,搭建Node.js服务器。服务器端为用户提供登录界面,管理用户的登记退出记录及视频通信时的信令协商。客户端选用Chrome浏览器。客户端在浏览器的地址输入框中输入Node.js服务器地址,点击回车键,获得编写的登陆界面,输入姓名后,点击登录,即可进入视频会议系统。同时会显示一个记录用户登录及退出时间的页面,用于动态地显示加入视频会议的用户及退出视频会议的用户,便于用户查看视频会议过程中的用户变化情况。本文也对比测试了WebRTC技术中的RTCDataChannel传输文本信息和WebSocket协议传输文本信息的网络时延,比较这两种新技术在数据传输方面,哪种技术更适合于在端到端间进行传输。