论文部分内容阅读
随着互联网技术的飞速发展和浏览器功能的日益增强,各种音/视频通信应用不断涌现。传统的音/视频通信应用需要安装插件或者把应用做成客户端的形式才能提供实时音/视频通信能力,因为互联网的音频、视频通信服务技术一般都是私有技术。WebRTC (Web Real-Time Communication)是一种开源的软件架构,直接在浏览器中集成了媒体采集、媒体编解码、媒体信号处理、码率控制、传输控制、差错控制等功能,为浏览器内部实时音/视频通信奠定了基础。同时,HTML5增加了新标签(audio/video/canvas)支持网页中直接播放多媒体和绘制图像。基于以上技术,Web开发者可以直接在浏览器中创建视频或语音聊天应用,音/视频通信业务将有庞大的市场需求。本文旨在利用Web应用的一致性屏蔽通信终端的差异性,开发一个可以在任何集成了WebRTC技术的浏览器上运行的Web应用,用户只需通过网络就可以使用相同的界面进行实时通信,提高了用户体验,降低了软件开发、运行和维护的成本。本文首先围绕背景展开介绍了WebRTC的架构和特征,研究了RTCWeb的关键技术;然后,分析了系统的功能需求和非功能需求。基于浏览器提供的WebRTC JavaScript API,利用RTCWeb关键技术和主流的Web开发工具,本文设计并实现了WebRTC系统的WEB前端子系统。本系统使用HTML5WebSocket协议定义了一个全双工的通信信道,通过调用Web Socket API完成通道的建立、消息的发送和接收;使用XMPP协议栈完成与即时消息相关的功能;基于ROAP协议栈完成与多媒体通信相关的交互功能。WEB前端UI界面和业务逻辑使用主流的JavaWeb开发技术(Java/JSP/JavaScript/Struts2/JPA)实现,完成了好友列表和通讯录功能;通过HTML5标签和WebRTC JavaScript API实现Web实时音频、视频通信功能。本系统支持好友列表和通讯录,支持即时消息和状态呈现,支持在集成了WebRTC的浏览器内部实时音频/视频会话。最后,本系统经过严格测试,达到了预期的效果。