WebRTC现状及实现概要

1 引言

1.1 编写目的

本文讲述浏览器引入 WebRTC(Web Real-Time Communication) 技术的必要性、WebRTC现状及实现方法。
2011 年以前,浏览器之间要实现实时通信需要私有技术,这些技术大部分都是通过插件和客户端来安装使用。对于许多用户来说,插件的下载、安装和更新是一个复杂、繁琐和容易出错的操作。对于开发人员来说,插件的的调试、测试、部署、错误修复和维护同样很难,同时涉及到的一些技术是受版权保护的,整合也是很复杂的。另外,有时很难说服用户来安装插件。
 Google 在 2010 年收购了 GIPS(Global IP Solutions)公司获得 WebRTC 技术,在 2011 年,按 BSD 协议把 WebRTC 开源了,同年 w3c 启动 WebRTC 计划,使 WebRTC成为 HTML5 标准的一部分,目前该规范还在开发中。
Google 通过把 WebRTC 项目开源,希望浏览器厂商能够将该技术内建在浏览器中,从而使Web应用开发人员能够通过HTML标签和JavaScript API就实现Web音频、视频通信功能。Google 在其官网上列出了使用WebRTC技术的四个理由:
  1. 互联网成功的一个关键因素是一些核心技术如HTML、HTTP和TCP/IP是开放和免费实现的。目前,在浏览器通信领域还没有免费、高质量、完整的解决方案。WebRTC就是这样的技术。
  2. 该技术的使用已经超过了 8 年,集成了最佳的音频、视频引擎,并被部署到数以百万的终端中,同时这些技术 Google不收取任何费用。
  3. 该技术包含了使用STUN、ICE、TURN、RTP-over-TCP的关键NAT和防火墙穿透技术,并支持代理。
  4. 通过浏览器,WebRTC把通讯双方的信令状态直接映射到PeerConnection里面来抽象信令处理,这样 开发人员按不同的应用场景选择不同的会话协议,比如 SIP、XMPP/Jingle等等)。

1.2 定义

WebRTCWebRTC 是 Web Real-Time Communication 的缩写,它是一项在浏览器内部进行实时数据、视频和音频通信的技术,是 Google 2010年以6820万美元收购Global IP Solutions公司而获得一项技术。
MediaStreamTrack媒体数据源,一个媒体数据源构成一个 MediaStreamTrack,比如音频数据源和视频数据源,多个相互之间有关联的媒体数据源(比如有同步关系的音频视频媒体数据源)构成一个媒体流(MediaStream)。
MediaStream媒体流,一个媒体流包含 0 个到多个的媒体数据源,媒体流里面的数据源在呈现(render)必须同步。
MediaStream 通过 getUserMedia 获得。
DataChannel数据通道,两个 WebRTC 终端的连接建立后,它们可以通过这个数据通道传输任意类型的数据。
Peer通过 WebRTC 进行数据交互的节点或用户或终端,它通常是一个 Web App,它们之间的发现,连接的建立和断开通过 signalling(信令)控制。
PeerConnection表示一个 WebRTC 通讯连接对象,它维护与这个通讯连接相关的 MediaStream,处理通讯双方信令事件,完成通讯数据的传输。
Signalling信令,WebRTC 网络通过 Signalling 来发现各个 Peer,通过 Signalling 来控制各个 Peer 之间连接的建立和断开。
STUNSTUN(Session Traversal Utilities for NAT,NAT会话传输应用程序)是一种网络协议,它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端端口。这些信息被用来在两个同时处于NAT 路由器之后的主机之间建立UDP通信。该协议由RFC 5389定义。
ICE交互式连接建立(Interactive Connectivity Establishment),一种综合性的NAT穿越的技术。
ICE 是由IETF的MMUSIC工作组开发出来的一种framework,可整合各种NAT穿透技术,如STUN、TURN、RSIP(Realm Specific IP,特定域IP)等。该framework可以让SIP的客户端利用各种NAT穿透方式打穿远程的防火墙。
TURNTURN(Traversal Using Relay NAT),是一种资料传输协议(data-transfer protocol)。通过中继服务器,穿透 NAT 或防火墙使两个 TCP 或 UPD 客户端建立连接。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值