WebRTC
外观

WebRTC,名稱源自網頁即時通訊(英語:Web Real-Time Communication)的縮寫,是一个支援網頁浏览器进行实时语音对话或视频对话的API。它于2011年6月1日开源并在Google、Mozilla、Opera支持下被納入万维网联盟的W3C推荐标准[1][2][3]。
歷史
2010年5月,Google以6820万美元收购VoIP软件开发商Global IP Solutions的GIPS引擎[4][5][6],並改為名为“WebRTC”。WebRTC使用GIPS引擎,实现了基于网页的视频会议,並支持722,PCM,ILBC,ISAC等编码,同時使用谷歌自家的VP8影片解碼器;同時支持RTP/SRTP传输等。
2012年1月,谷歌已經把這款軟體整合到Chrome瀏覽器中。同時FreeSWITCH專案宣稱支援iSAC audio codec[7]。
组成
- 影像引擎(VideoEngine)
- 音效引擎(VoiceEngine)
- 會議管理(Session Management)
- iSAC:音效壓縮
- VP8:Google自家的WebM项目的影片编解码器
- APIs(Native C++ API, Web API)
瀏覽器支持
当前支持情况
WebRTC在以下浏览器版本中开始支持。
- 桌上PC端
- Google Chrome 23
- Mozilla Firefox 22[8]
- Opera 18[9]
- Safari 11[10](仍处于开发者预览阶段)
- Android端
- Google Chrome 28(从版本29开始默认开启)
- Mozilla Firefox 24[11]
- Opera Mobile 12
- Google Chrome OS
- Firefox OS
- iOS
- Blackberry 10 内置瀏覽器
- Bowser[12]
支持历史细节
- Google Chrome:2012年1月,將WebRTC整合進Dev Channel,同年6月又完成Stable Channel的20版的整合(2012年7月,PeerConnection與MediaStream仍必須透過
chrome://flags page
來開啟)[13]。 - Mozilla Firefox:2012年初Mozilla整合WebRTC入Firefox Alpha,此一版本的Audio Mixing已完成於Media Stream[14]。
- 2012年4月,Mozilla展示Firefox中WebRTC的視訊對話[15]。
- 2013年6月,發佈22.0版本正式整合及支援WebRTC[16]。
- 2013年9月,發佈24.0版本,並宣佈Firefox for Android(行動版)正式整合及支援WebRTC[17]。
- Opera:2012年1月,Opera初步整合WebRTC。
- Internet Explorer:Microsoft開始開放API[18]。
- Ericsson:2012年11月,Ericsson Labs做出了全世界第一個可以支援WebRTC的手機浏览器[19]。
- SeaMonkey:2013年1月發佈的15.0版本初步整合WebRTC。
重要API
WebRTC原生APIs文件是基于WebRTC規格書[20]撰寫而成,這些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)接口表示一个在两个节点之间的双向的数据通道。
相關條目
參考資料
- ^ http://www.h-online.com/open/news/item/Google-open-source-WebRTC-for-open-video-audio-chat-1253848.html
- ^ https://sites.google.com/site/webrtc/home
- ^ https://sites.google.com/site/webrtc/blog/introducingwebrtc-anopenreal-timecommunicationsproject
- ^ https://sites.google.com/site/webrtc/license-rights
- ^ http://www.h-online.com/open/news/item/Google-open-source-WebRTC-for-open-video-audio-chat-1253848.html
- ^ https://sites.google.com/site/webrtc/faq
- ^ http://www.freeswitch.org/node/376
- ^ Firefox Notes - Desktop. Mozilla.org (2013-06-25). Retrieved on 2014-04-11.
- ^ Dev.Opera. My.opera.com. Retrieved on 2014-04-11.
- ^ Apple Releases Safari Technology Preview 11 With Bug Fixes and Feature Tweaks. [2017-06-10] (英语).
- ^ Firefox Notes - Desktop. Mozilla.org (2013-09-17). Retrieved on 2014-08-04.
- ^ http://www.openwebrtc.io/bowser/
- ^ http://blog.chromium.org/2012/01/real-time-communications-in-chrome.html
- ^ http://www.webmonkey.com/2012/01/mozilla-demos-mediastream-processing-audio-mixing-in-firefox/
- ^ http://www.h-online.com/open/news/item/Mozilla-shows-WebRTC-browser-based-video-calling-1517803.html
- ^ Mozilla Firefox 22.0 Release Notes. Mozilla.org. 2013-06-25 [2013-06-26].
- ^ 行動版 Firefox 24 已支援 WebRTC. Mozilla Taiwan. 2013-09-24 [2013-10-02].
- ^ http://html5labs.interoperabilitybridges.com/prototypes/media-capture-api-(2nd-updated)/media-capture-api-(2nd-update)/info
- ^ https://labs.ericsson.com/blog/bowser-the-world-s-first-webrtc-enabled-mobile-browser
- ^ http://www.iwebrtc.com/blog/webrtc1-0/
外部連結
- Is WebRTC ready yet? - 各家網頁瀏覽器對WebRTC支援程度