论文部分内容阅读
随着互联网的不断创新,人们希望能够使用更方便简单的方式,通过音视频会议来加强彼此间的交流,而基于浏览器实现的音视频会议系统,具有实现跨平台,免安装,方便接入的优势,正好满足这一需求。同时,由于各式各样的技术层出不穷,尤其是Google开源的WebRTC项目,使得基于浏览器的多人会议系统的实现得以实施,所以WebRTC技术逐渐得到越来越多的关注和研究。自从WebRTC技术开源以来,一方面由W3C和IETF负责其标准工作的制定和发展,另一方面由WebRTC联盟主导其技术层次的升级更新。近年来,WebRTC技术一直处于上升趋势,如国外的YouTube应用,Chrome、Mozilla、Opera、Edge、Safari等浏览器厂商,国内的运营商、设备商、互联网等公司,都在积极对WebRTC技术进行研究和优化。无论是根据WebRTC框架内的模块展开核心算法研究,还是基于WebRTC实现音视频应用,近年来针对WebRTC展开的研究也在逐渐增多。本文围绕WebRTC进行研究分析,主要工作内容如下:首先,本文根据WebRTC框架,介绍了其音频引擎、视频引擎、传输模块三大部分,其中音频引擎包含编解码器、NetEQ、回声消除和噪声抑制等,而回声是会议系统一直以来无法彻底解决的问题。通过对回声消除算法现状的研究,对WebRTC中的自适应回声消除算法进行分析,重点对其核心部分自适应滤波器算法展开研究,分别讨论LMS算法、NLMS算法和块LMS算法的原理。通过研究归纳其回声消除算法原理,在固定步长的NLMS算法的基础上,结合文献提出改进的变步长NLMS算法,并通过仿真实验进行验证。其次,本文通过对WebRTC发展现状进行研究,根据WebRTC所提供的音视频会议系统技术展开讨论,分析与WebRTC相关的信令、NAT穿越技术。根据项目需求,设计基于socket.io的会话管理机制,并实现基于WebRTC的多人音视频会议系统,在此基础上,实现即时消息通信,并通过扩展插件完成屏幕共享的功能。通过对系统进行测试和分析,表明在多人音视频通信过程中系统功能正常,音视频效果良好,基本满足参会人员的交流和使用需求。