欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 通讯论文 > 基于浏览器的音视频通讯系统实现

基于浏览器的音视频通讯系统实现

日期:2023-01-24 阅读量:0 所属栏目:通讯论文


  WebRTC因其开放的标准、简单易扩展、同运营商网络的互联互通、与其他技术结合等特性,本文旨在通过对W3C WebRTC标准的跟踪和业界WebRTC开源项目的系统分析,梳理出WebRTC应用所涉及的关键技术。

 

  WebRTC(Web Real-Time Communication)Web上的实时通信,泛指基于网页的实时通信业务,如电话、视频会议、即时消息等。WebRTC项目的主要目的是让Web开发者不用其他的软件就能够便利的开发出实时的,基于浏览器的多媒体应用,Web开发者也无需对多媒体的数字信号处理过程过多在意,只需简单的JavascriptHTML5技术即可即可实现。WebRTC基于标准的WHATWG协议,给予了视频会议的核心技术,包括音视频的采集、编解码、网络传输、显示等功能,并且还支持跨平台:windowslinuxmacandroid

 

  1.业界WebRTC原型概况

 

  1.1业界WebRTC

 

  (1)官方demo

 

  没有用任何封装库,信令机制使用了XHRGoogle App Engine Channel API,可实现浏览器间的视频音频通信。

 

  (2)爱立信实验室开发的WebRTC demo

 

  这是第一个基于浏览器的WebRTC视频通信demo,爱立信为此还开发了一个基于WebKit的浏览器用于支持WebRTC,叫做Bowser browser(当时市场上可能还没有支持WebRTC的浏览器)

 

  (3)华为WebRTC

 

  华为WebRTC网络并不仅仅着眼于WebRTC用户系统,而是秉持CAAS(Communication as a Service)的核心理念,开发使用简单,作为其WebRTC能力开放网关地关键足点。

 

  1.2业务流程分析

 

  (1)Participations UA返回成功将其加入会议室roomName的消息,ParticipationUA收到消息后添加本地的视频流到指定位。

 

  (2)Host UA广播Participations UA加入到会议室roomName的通知,广播消息中包含Participations UA的标识。

 

  (3)Host UA在收到Signaling Server广播Participations UA加入到会议室roomName的通知后,会着手进行两个方面的工作。

 

  (4)发起与Participation UA的媒体协商:首先获取并保存本地的媒体面信息offer,并途经Signaling Server路由转发给ParticipationsUAParticipations UA收到offer后,保存Host UA的媒体面信息并据此创建协商媒体信息answer,最后将answer途经Signaling Server路由转发给Host UA

 基于浏览器的音视频通讯系统实现

  至此,Host UAParticipations UA之间已可以进行端到端的视频通话。

 

  2.多方视频会议系统设计与实现

 

  2.1 设计方案

 

  WebRTC标准Javascript接口由浏览器提供,客户端与服务端双向通信采用WebSocket(客户端由浏览器提供支持,服务端由tomcat提供支持)jain-sip采用Mobicents开源的JavaScript库来提供SIP栈的支持。WebRTC封装库建立在WebRTCjain-sip的基础上,它利用jain-sip提供的SIP栈功能组装SIP请求并经过浏览器提供的WebSocket传输给服务端。

 

  WebRTC封装库的主要功能如下:屏蔽不同浏览器厂商在WebRTC标准接口实现上的差异(包括接口命名差异和方法调用差异);将客户端与服务端之间双向通信连接建立机制以及通信的细节,做到向上层Web应用开发者透明;在端到多端的媒体协商以及防火墙穿越机制上,做到向开发者透明。

 

  2.2 关键技术

 

  2.2.1 SIP信令交互技术

 

  在W3C WebRTC标准中,对客户端与服务端之间的信令没有具体的标准。SIP以其简易、灵巧和可伸展等特性,得到越来越多的关注和赞同,已成为下一代Web通信事实上的规范。正是基于这样一种特点,本项目开发以SIP为核心的WebRTC视频通信系统。为完成客户端与服务端SIP信令交互,本系统在客户端侧使用其对JAIN-SIP标准的参考实现来提供SIP栈服务,服务端侧利用SIP Servlet API来处理客户端侧请求或进行路由分发,客户端与服务端之间的双向通信采用了WebSocket协议。在本系统中,服务端实际上就是充当个背靠背代理的角色。

 

  2.2.2 多方媒体协商技术

 

  多方媒体协商与防火墙穿越协议机制是实现WebRTC多方视频会议的关键所在。在具体的实现策略上,WebRTC封装库将多方的协商过程分解成多个端到端的协商过程,可通过后入会者发起来实现。这里简要描述一下后入会者协商的过程:

 

  (1)第一方与第二方情形下,由一对PeerConnection对象来完成offer/answer的协商。主动协商的一方PeerConnection利用接口createOffer获取到本方的媒体面相关信息后,将该信息通过信令服务器传送到对端。对端的PeerConnection对象保存该信息,并利用接口createAnswer获取当地的媒体面信息,并将其通过信令服务器回传给主动协议的一方。这样,两方之间的协商完成。

 

  (2)当第三方加入会议时,应用程序会创建两个PeerConnection对象,一个用来与第一方进行协商,另一个用于与第二方进行协商。第二方和第三方在收到第一方对应的PeerConnection对象发送过来的offer信息后,将分别创建一个新的PeerConnection对象来负责与之交互,并按照1)所述的方法完成与第三方的媒体协商过程。

 

  2.2.3 NAT/防火墙穿越技术

 

  这种技术是把内部网络(简称为内网)私有IP地址转变为外网公共IP地址,它使得局域范围内的多台主机利用同一个公共IP地址就可以连接到外网。一方面,NAT技术可以在很大程度上缓解了公网IP地址紧缺的问题,并有效减少了内网主机受外部系统攻击的可能性。另一方面,对于WebRTCWeb音视频通信而言,NAT的应用会致使其在跨局域网的环境中失效。这是因为,位于局域网的主机无法在公网上进行路由,进而无法完成不同局域网内部主机相互之间的P2P通信。

 

  3.多方视频会议系统性能测试与分析

 

  3.1环境搭建

 

  3.1.1下载安装jdk

 

  进入oracle官网downloads专区,选择下载版本,双击运行即可安装。

 

  3.1.2配置jdk环境变量

 

  在控制面板系统和安全系统高级系统设置环境变量系统变量中新建环境变量JAVA_HOME并设置成下面的格式,找到PathCLASSPATH分别设置成如下所示的格式。JAVA_HOME

 

  C\Program Files\Java\jdk1.6.0_13

 

  Path

 

  %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT Server\110\Tools\Binn\;E\Project\opencv\build\x86\vc11\bin;%JAVA_HOME%\bin;

 

  CLASSPATH

 

  %JAVA_HOME%\lib\;%JAVA_HOME%\lib\;

 

  3.2 核心流程

 

  在服务端侧,处理创建会议加入会议的逻辑实际上也是作为两个分支集成在同一个大的处理逻辑当中(SIP Servlet里面的doSubscribe),为了区别两者不同的请求,我们事先约定按照客户端SUBSCRIBE请求头部里面的Expires的整型值来确定:当请求中的Expires3600时,是创建会议的请求,当请求中的Expires值为1800时,是加入会议。

 

  用户加入会议成功后,服务端返回的信息,显示本地视频流用的是HTML5getUserMedia接口。当然,获取到这个媒体流Stream后,还需要借助HTML5 URL接口将其转换成url,然后再添加到HTML5

 

  作者:宋瑞 来源:大陆桥视野·20163

本文链接:http://www.qk112.com/lwfw/jsjlw/txlw/261025.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学