基于WebRTC的跨平台视频会议系统的设计与实现
发布时间:2020-03-13 21:33
【摘要】:摘要:在当今这个信息技术飞速发展的时代,信息交流的需求越来越频繁,人们对更实时,更生动的交流效果的追求从未停止。从早期的用于处理突发事件的基于专线的电话会议,电视会议,到后来的用于商务办公的为大型企业定制的视频会议系统。视频会议系统利用多媒体和网络技术的支持,使得相隔万里的人们可以有效地处理,反馈信息,一起协同工作,解决问题。 最近的几年,随着移动互联网迅猛发展,各种移动设备层出不穷,无线通信技术完成了从GSM到CDMA,再到LTE的更新换代,不断增长的带宽已经可以满足实时音视频通信的需求,因此实现一个能在各类软硬件平台上通用的视频会议系统正在变得越来越重要。在移动互联网时代,应用程序的跨平台特性是必须的,由于各种设备的操作系统软件平台不具有一致性,传统的为每个平台都订制一个基于Client/Server的视频会议系统软件的设计方案已经失去了可行性。随着HTML5标准的出现,浏览器可以做越来越多的事情,采用Brower/Server设计方式成为当今移动互联网应用设计的主流选择。但是想把浏览器作为真正的音视频实时通信平台,还需要把本地媒体采集、音视频编解码、信号处理,实时传输控制,拥塞控制等复杂的技术集成到其中。在以前,这方面的技术一直是空白,随着美国Google公司通过收购得到并开源的WebRTC技术,这些空白被填补了,浏览器脱离了对各类插件(例如传统的Flash插件)的依赖,成为了一个强大的音视频实时通信应用平台。普通开发者不用再关心复杂的音视频编解码,传输控制等复杂的底层技术,利用HTML5和WebRTC提供的简单的适用于多种浏览器的JavaScript接口,再辅以HTML和CSS,普通开发者也可以构建功能强大的Web音视频通信客户端应用,满足视频会议系统对客户端的需求。 视频会议系统的控制部分主要由本地媒体控制层和服务器信令控制层组成,WebRTC实现了对本地媒体的控制,完成了对音视频信号的采集和编码等工作。接下的工作便是将这些数据传输到另一个客户端,这时就需要一个服务器来对各个客户端进行调度,发送和响应信令。传统的视频会议系统信令控制层采用基于硬件专线的MCU (Multipoint Control Unit)组网方式,显然不符合移动互联网组网灵活的要求。本文利用Node.js平台和WebSocket技术,在由IP地址和端口号组成的套接字上完成对信令的监听和反馈,可以在软件层上实现对客户端的接入,离开,发送数据,请求数据等动作的控制和响应,完成信令服务器的工作,满足视频会议系统对服务器端的需求。 为了将客户端实现功能所需要的页面代码进行推送,还需要搭建一个普通的web服务器,本文利用了常见的Apache服务器来实现这一部分。 本文构建了一个基于WebSocket和WebRTC的视频会议系统,并在GitHub对项目进行了开源。通过对模型和框架不断的改进,这个视频会议系统具有简单易用,可靠稳定,高效跨平台的特点。图15幅,参考文献27篇。
【图文】:
展示本地视频流的视频容器视频部分采用设置
【图文】:
展示本地视频流的视频容器视频部分采用设置
本文链接:https://www.wllwen.com/kejilunwen/wltx/2586828.html