搜索
您的当前位置:首页正文

WebRTC技术初探

来源:爱够旅游网
・WebRTC技术集成了最佳的音频、视频引擎,并被 部署到数以百万级的终端中.经过了超过8年的磨 练。Google不会从该技术中收取费用。 ・包含了使用STUN[STUN】、ICE[ICE]、TURN,URN]、 RTP.over.TCP的关键NAT (network address translation)和防火墙穿越技术,并支持代理。 ・构建在浏览器中.通过提供直接映射到Peer Connection的信号状态机抽象信号处理。Web开发 人员可以选择适合应用场景的协议(如SIP、XMPP/ Jingle等)。 Google放弃价值不菲的知识产权.意图是令浏览器厂 商将该技术直接内嵌到浏览器中,从而将浏览器打造成普 适的实时通信平台。这对广大的网络应用开发者深人了解 与实时通信相关的音频、视频处理技术.对今后开发新型 面向P2P的实时通信Web App,无疑是极大的促进。 2 WebRTC技术的发展现状 Google积极地参与IETF和W3C工作组的活动,定义 和实现了一套JavaScript的实时通信接口标准。W3C的草 案最初由Google发起,并在WHATWG中进行前期的讨 论;2011年5月webRTC工作组成立之后,则由Cisco、 Mozilla、Voxeo、Ericsson共同完善。工作组的目标是制定 WebRTC客户端侧API。维护的主要文档包括两部分: WebRTC规范fWebRTC1以及Get User Media接口规范 【getusermedia],目前仍然处于草案阶段。WebRTC规范的最 新版更新到1.0,规范主要定义了两组API:Stream API与 Peer Connection API.如图1所示.Get User Media已经从 原有Stream API中独立出来。Get User Media接口规范原 本属于WebRTC规范,最近被分离出来成为独立的文档, 交由Media Capture TF维护。 IETF的WebRTC标准称为acWeb标准。从名称上 看.其涵盖的范围比W3C的标准更广,主要面向基于Web 图1 W3C定义的WebRTC浏览器接口调用 电信科学 2o 2 零葡 氢 浏览器的P2P交互式富通信应用,除音/视频通信之外,还 包括远程协作与网络游戏等实时交互式应用,IETF维护 的文档内容包括数据通道、JSEP、RTP的使用方式、安全架 构等;从总体上看,IETF更关心WebRTC的总体通信架 构,而不仅仅是音/视频流媒体或JavaScript API。 企业界方面。Google正在与其他浏览器厂商紧密合作,如 Mozilla和Opera等,以期尽快在浏览器中集成WebRTC技术 供Web社区使用。Mozilla Firefox、Opera等浏览器厂商已宣 布在未来的版本中支持WebRTC技术,微软也在考虑是否 在IE10中提供类似功能。截至目前,只有Goolge Chrome Dev 19(Canary) ̄全支持W3C规范中定义的所有接口。 Opera在2012年2月29日推出的Opera Mobile 12 中。支持WebRTC媒体控制的部分功能,如Get User Media,但仍不支持Peer Connection接口。Firefox的 WebRTC实现——Rainbow也在积极实施中,目前也主要 针对媒体控制部分。爱立信实验室与思科系统也给出了各 自的WebRTC实现,其基本思路是在开源的WebKit基础 上进行扩展,实现WebRTC接口,其目的可能是将来支持 其私有协议的WebRTC应用。 目前已经有许多基于WebRTC的新应用演示在网上 出现。这些应用分别展现了WebRTC技术在基于SIP的 VolP电话、增强现实、图像分割、人脸识别等方面的应用, 对于浏览器用户是一种全新的体验。可以预见,通过对 Web浏览器的增强,未来的Web App将更加强大,应用也 更加丰富多彩。 3 WebRTC的总体架构 WebRTC的本质是将实时通信应用所需要的音/视频 捕获及处理模块、网络传输及会话控制等协议集成到Web 浏览器中,从而屏蔽底层硬件实现或操作系统之间的差 异。图2给出了基于WebRTC开源项目的WebRTC架构 的一种实现。第三方Web App开发者可以通过浏览器提 供Web API调用音/视频实时通信能力,相关接口函数需 符合W3C组织的WebRTC接口规范。WebRTC开源项目 向浏览器厂商提供相关功能的C++API以及代码实现,如 音/视频捕获、音/视频处理引擎、网络传输协议、会话控制 协议.从而极大地减小项目开发的成本和风险。其中,音 频、视频处理引擎以及网络传输协议等模块是WebRTC架 构新增的,以下将做进一步介绍。 音频处理引擎是从声卡到网络侧音频媒体处理链的 视频应用层面的功能.给点对点的视频双方提供了数据上 的安全保证,可以防止Web上视频数据的泄漏。视频图像 处理针对每一帧图像进行处理 包括明暗度检测、颜色增 4 WebRTC对电信运营商的影响 不难看出,Google希望将WebRTC打造成一个统一的 强、降噪处理等功能,用来提升视频质量。 3_2网络传输及会话控制协议 WebRTC技术在浏览器内部集成了一系列的网络传 通信平台,借助Web浏览器的广大受众面,大规模推广其 基于互联网的音/视频通信业务的设想。随着众浏览器厂 商倒向WebRTC阵营,其他潜在市场竞争者也蠢蠢欲动, 如微软抢在Google之前斥巨资收购了VoIP领域的“领头 输及会话控制相关协议。传输及会话控制的实现重用了 libjingle项目的部分代码,其性能已经在过去的应用中得 羊”Skype公司。未来的操作系统也有可能直接集成VoIP 到验证,如Gmail的Video Chat.主要组成部分包括:R rP/ 功能。分析人士已经在猜测谁会是下一个行动者。也许是 SRTP协议栈、STUN/TURN/ICE等用于NAT透传的方法。 AT&T。对以实时通信业务为主要收入来源的各大电信运 其对会话层仅提供抽象逻辑描述。开发者需要根据场景进 营商而言,WebRTC引起的市场变化不可小觑,这其中必 行具体实现。 然是机遇与挑战并存。 会话控制的实现目前有两种方式:一种是直接在浏览 WebRTC作为基于浏览器的实时音/视频通信技术,对 器中集成协议栈;另一种是使用JavaScript编写协议栈。前 面向web的富通信的产品形态和业务模式产生了重要影 者的优势在于可以直接利用现有协议栈实现.如C++源代 响。由于运营商掌握着带宽资源,这些变化虽不足以挑战 码或链接库等,程序运行效率比较高;缺点是灵活度较低, 运营商的主导地位,但无疑会对现有的实时音/视频通信 无法支持私有协议,如果浏览器集成多种协议栈会变得臃 业务运营模式造成冲击。另一方面,基于Web的富通信可 肿。因此,目前有部分实现采用基于JavaScript的协议栈,如 满足移动互联网业务的跨终端平台需求,提升用户体验, 基于JavaScript的SIP协议栈或者JSEP(JavaScript session 降低开发成本。如果利用得当,也可以扩展运营商的通信 establishment protoca1)。JavaScript使得WebRTC具有强大的 能力及其应用范围。为应对互联网的挑战,运营商有必要 扩展能力。这种方式对于个人开发者而言特别具有吸引力, 加速研究现状下包括WebRTC技术在内的富通信关键技 在协议逻辑并不复杂且系统轻载的情况下,是较容易实现的。 术.探索体现电信网络优势的新型富通信产品。运营商需 从已有的实现来看,爱立信实验室选择后一种方式, 要结合IMS网络建设,探讨基于WebRTC的互联网/移动 而思科更倾向于前者。思科给出了基于Chrome以及 互联网多媒体实时通信的可行性和技术框架,以使得互联 Firefox的两种实现。在Chrome实现中,SIP协议栈直接嵌 网业务与现网业务相互促进、协同发展。 人浏览器,并提供Web API进行直接控制;在Firefox实现 部分企业研究机构已经在考虑WebRTC技术与电信 中。呼叫控制API与底层的SIP协议栈被集成在一个 网络的互通方式。如图3所示,爱立信实验室给出了一种 Firefox插件中。这种实现不提供对SIP协议栈的直接控 实现WebRTC与IMS网络进行互通的方案。该方案的核 制.Web开发者只能通过JavaScript API调用呼叫控制功 心是采用WebRTC.IMS网关实现对控制信令的转换以及 能。从IETF会议讨论的情况来看,一种共识是在现阶段仍 媒体流的中继。互通的主要困难在于WebRTC所采用的 不适宜讨论WebRTC应当采用何种协议栈,同时支持多种 音,视频媒体流标准仍不被运营商普遍支持,需要媒体网 协议的实现方式对于WebRTC的推广是有好处的。 关进行转换,这将导致巨大的计算开销。未来随着信令协 PC软终端 Web应用 WebRTC IMS网关 IMS网络 S1P CSCF SIP 基于JavaScrip的 ——’ SIP协议栈 [  .PSTN网关 CS —— RTP RTP 图3 WebRTC与IMS网络的互通 磷究与鬻.畿 议栈及Peer Connection接口的不断完善,是否会出现直连 开发进度。另外.由于现阶段主要解决的是技术实现问题, 方案仍未可知。 WebRTC的私隐保护及网络安全机制仍未被充分讨论,其 5 结束语 最终完善仍有待时日。 总体而言.WebRTC技术在短时间内已经取得了较大 尽管得到了众多浏览器与标准化组织的大力支持, 进步,但发展仍面临许多困难,WebRTC是否会像Google WebRTC发展迅速,但这并不意味着其今后的道路将会一 所期待的那样成为统一的实时通信解决方案仍有待考察。 帆风顺。 产业界需要思考如何携手合作。为WebRTC选择一条较为 首先。Google执意令WebRTC绕过现有专利技术的做 平坦的发展道路,这将是未来促成其成功的关键。 法可能过于激进。这除了导致与现有系统兼容性差之外, 也可能招致知识产权风险。例如,VP8的许多细节与 参考文献 H.264过分相似,使人很难相信其不会招惹任何专利纠 l Adam Bergkvist,Daniel C Burnett,Cullen Jennings,et a1. 纷。已经有专利组织考虑采取法律行动。部分观点认为,采 WebRTC 1.O:Real—Time Communication Between Browsers. W3C Editor's Draft.2012 用VP8或者H.264都存在较大的知识产权风险,因此希 2 Daniel C Burnett,Anant Narayanan.Get User Media:Getting 望采用一些较为折中的方案。如H.263等:但支持者则坚 Access to Local Devices That Call Gcnerate Multimedia Streams. 定地认为,VP8已经得到充分的测试,也获得了足够的软 W3C Editor's Draft.2011 硬件厂商的支持,无需考虑其他编码方式。这些争论给 3 Ubeai J,Jennings C.JavaScfipt Session Establishment Protocol WebRTC的发展带来了不明朗因素。 (JSEP),2012 另一方面,各标准化组织需要根据先期各厂商的实践 4 Andersen S,Dufic A Telio,Astrom H,et a1.Global IP Sound, Internet LoW Bit Rate Codec(iLBC),Intemet RFC3951,2Oo4 经验不断修正其指引。现行WebRTC API相关指引仍处于 5 Rosenberg J,Mahy R,Matthews P,et nf.Session Traversal 经常修改、极不稳定的状态,由此产生的多个实现版本并 Utilities for NAT(STUN).Internet RFC5389,2008 存以及不同实现间的兼容性问题日益突出。目前,对多个 6 Mahy P,Matthews P,Rosenberg J.Traversal Using Relays 程序库的修改正同步展开,对WebKit等开源软件库的修 around NAT fTURN):Relay Extensions to Session Traversal 改必须获得整个开源社区的认可,如函数名的定义、代码 Utilities ofr NAT(STUN).Internet RFC5766.201 l 7 Rosenberg J.Interactive Connectivity Establishment(ICE):a 风格应该与原有代码保持一致等。各浏览器厂商需要进行 Protocol for Network Address Translator fNAT)Traversal f0r 大量协调工作。这在一定程度上会拖延各WebRTC项目的 Offer/Answer Protocols.Intemet RFC5245.2OlO A Preliminary Exploration of Arising WebRTC Technology Qu Zhenhua,Li Huiyun,Zhang Haitao,Long Xianjun (Guangdong Research Institute of China Telecom Co.,Ltd.,Guangzhou 5 10630,China) Abstract The traditional way to acquire RTC ability is to install a software client or a browser plug—in.This may take an user some tedious steps and prevent the popularization of RTC applications.WebRTC is an arising new technology affiliated to the HTML5 standard which intends to provide pervasive access to RTC ability from an arbitrary browser.It works by integrating a fully functional audio/video RTC architecture into browsers.With this new technology,web application developers can implement powerful browser-based audio/video RTC applications by simply invoking a few JavaScript API.Currently,WebRTC is still at its early stage of development.This paper will give a preliminary exploration to WebRTC by addressing its background,current status,technical architecture,and the probable influence to the telecoms.It carl give the reader a portrait of the development roadmap of WebRTC. Key words WebRTC,HTML5,real time communication,multimedia communication (收稿日期:2012—07—01) 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top