论文部分内容阅读
随着互联网技术和通信技术的飞速发展,各种各样的视频会议系统随之出现。传统的视频会议系统需要安装客户端、开发成本高、后期维护繁琐、操作不便,已经不能满足人们对高质量、高效率的视频会议系统的要求。本文利用WebRTC技术给浏览器拓展了实时音视频通信的功能,设计并实现了一款基于WebRTC的视频会议系统,课题来源于实习公司的项目,主要工作如下:(1)在研究WebRTC的总体框架之后,对其工作原理进行了重点分析,包括音视频数据的采集、音视频数据的传输、音视频数据的处理、通信的建立、信令的交互、NAT穿越等。(2)设计并实现了基于WebRTC的视频会议系统。具体延伸到每一个模块内部的设计与实现,主要包括客户端登录模块、音视频展示模块、音视频传输模块、即时消息模块、用户列表模块、房间服务器搭建、信令服务器搭建、防火墙打洞服务器搭建、信令服务器对特殊信令的响应、信令服务器对一般信令的响应、噪声的处理、带宽自适应等。(3)拓展WebRTC的兼容性。针对WebRTC不兼容iOS操作系统的问题,本文用Objective-C语言对WebRTC的底层C++实现源码进行封装,整合出一个基于iOS的WebRTC编译框架。在WebRTC编译框架的基础上,设计了一款iOS视频会议系统客户端。(4)先利用谷歌浏览器自带的Develop Tools对视频会议过程中WebRTC各模块网络数据的使用情况进行监控,通过分析音视频信号的发送和接收情况探讨不同的网络环境给系统视频质量带来的影响。再对比分析视频会议过程中谷歌浏览器、火狐浏览器、Opera浏览器、瞩目客户端的CPU使用率情况。测试数据表明,该视频会议系统视频画面流畅、兼容性强、稳定性高。在相同运行环境下,该系统的CPU使用率较其它同类软件少6%左右。