WebRTC是一个支持网络浏览器进行实时语音对话或视频对话的软件架构。它于2011年6月1日开源并在Google、Mozilla、Opera支持下被包括进万维网联盟的W3C推荐标准。[1][2][3]
2010年Google以6820万美元收购VoIP软件开发商Global IP Solutions的GIPS引擎[4][5][6][7],并改为名为“WebRTC”。WebRTC 使用GIPS引擎,实现了基于网页的视频会议,并支持722,PCM,ILBC,ISAC等编码,同时使用谷歌自家的VP8视讯编解码;同时支持RTP/SRTP传输等。
2012年谷歌已经把这款软件整合到Chrome浏览器中。同时 FreeSWITCH 专案宣称[8]支援 iSAC audio codec.目录 [隐藏]
1 组成
2 实作
2.1 浏览器
3 重要API
3.1 Network Stream API
3.2 RTCPeerConnection
3.3 Peer-to-peer Data API
4 注释
组成 [编辑]
视讯引擎(VideoEngine)
音频引擎(VoiceEngine)
会议管理(Session Management)
iSAC:音频压缩
VP8:Google自家的WebM项目的视频编解码器
APIs(Native C++ API, Web API)实作 [编辑]浏览器 [编辑]
Opera:2012年1月Opera初步整合WebRTC。
Google Chrome:2012年1月将 WebRTC 整合进 dev channel, 同年6月又完成stable channel 的20版的整合 (2012年7月, PeerConnection 与 MediaStream 仍必须透过 chrome://flags page 来开启)[9]。
Mozilla Firefox:2012年初Mozilla整合WebRTC入Firefox alpha,此一版本的 audio mixing 已完成于 media stream[10]
In April 2012 Mozilla released a demo of WebRTC video calling that ran inside the Firefox browser[11]。
Internet Explorer:Microsoft 开始开放 API[12]。
Ericsson:2012年11月Ericsson Labs 做出了全世界第一个可以支援WebRTC的手机浏览器[13]。
SeaMonkey:2013年1月发布的15.0版本初步整合WebRTC。重要API [编辑]
WebRTC 原生 APIs文件是基于 WebRTC 规格书[14]撰写而成, 这些API可分成Network Stream API、 RTCPeerConnection、Peer-to-peer Data API三类。Network Stream API [编辑]
MediaStream:MediaStream用来表示一个媒体数据流。
MediaStreamTrack在浏览器中表示一个媒体源。RTCPeerConnection [编辑]
RTCPeerConnection: 一个RTCPeerConnection对象允许用户在两个浏览器之间直接通讯。
RTCIceCandidate :表示一个ICE协议的候选者。
RTCIceServer:表示一个ICE Server。Peer-to-peer Data API [编辑]
DataChannel:数据通道( DataChannel)接口表示一个在两个节点之间的双向的数据通道 。