[翻譯] 經過WebRTC技術實現點對點通訊

經過WebRTC技術實現點對點通訊

WebRTC是一個實驗性技術。
由於該技術的規格尚未穩定下來,在各瀏覽器中必須經過檢查屬性表的前綴來正確使用,例如:在Chrome中使用 webkitRTCPeerConnection,在Firefox中使用mozRTCPeerConnection,前綴不同。另外請注意,實驗性技術的語法和行爲有可能在瀏覽器將來的版本中改變。html


概述

WebRTC API被設計爲容許JS應用程序經過瀏覽器在用戶之間建立實時的音頻,視頻和/或數據信道鏈接,或與支持WebRTC協議的服務器通訊。它還利用navigator.mozGetUserMedia()函數方法來訪問麥克風和攝像頭數據(getUserMedia()函數已經在標準化媒體捕獲小組日程上)。html5

標準化進程

不斷變化的WebRTC規範主要來源是W3的WebRTCgetUserMedia 規範,以及在IETF的各類草案,主要是rtcweb工做組MMUSICrmcat和其餘幾個組。在Chrome和Firefox實現的WebRTC功能,大部分代碼是基於谷歌在webrtc.org上的開源。git

提示:若是在瀏覽器安裝了FlashBlock,當前版本的FlashBlock插件可能默認會攔截HTML5的video標籤組件;若是要在頁面上使用WebRTC的視頻功能,須要設置FlashBlock容許該video組件,或者在該頁面禁用FlashBlock工具。github

教程及實例

HTML5 Rocks 上有一個很是不錯的介紹WebRTC基本功能的教程。在webrtc-landing 上有一個基本的測試頁面的集合,用以支持發展webrtc的發展。web

你可使用Chrome在apprtc.appspot.com上作一個很簡單的P2P的通訊實驗,體驗WebRTC的點到點通訊技術。瀏覽器

有一篇駭客文章 更形象的描述了創建RTCPeerConnection過程當中發生了什麼(在這裏閱讀全部關於WebRTC的駭客文章):
演示WebRTC過程服務器

規範列表

<table> <tbody> <tr> <th>規範</th> <th>狀態</th> <th>說明</th> </tr> <tr> <td>WebRTC API</td> <td>在定義中</td> <td>&nbsp;</td> </tr> <tr> <td>getUserMedia API</td> <td>在定義中</td> <td><a href="http://dev.w3.org/2011/webrtc/editor/getusermedia.html" title="http://dev.w3.org/2011/webrtc/editor/getusermedia.html">http://dev.w3.org/2011/webrtc/editor/getusermedia.html</a></td> </tr> </tbody> </table>app

瀏覽器兼容

<table> <caption>PC桌面瀏覽器</caption> <table class="compat-table"> <tbody> <tr> <th>Feature</th> <th>Chrome</th> <th>Firefox (Gecko)</th> <th>Internet Explorer</th> <th>Opera</th> <th>Safari (WebKit)</th> </tr> <tr> <td>Basic support</td> <td>Yes<span class="inlineIndicator prefixBox prefixBoxInline" title="prefix">webkit</span></td> <td>Firefox 22</td> <td>Not&nbsp;supported</td> <td>Not&nbsp;supported</td> <td>Not&nbsp;supported</td> </tr> <tr> <td>DataChannels</td> <td>Will be in Chrome 29</td> <td>Firefox 22</td> <td>Not&nbsp;supported</td> <td>Not&nbsp;supported</td> <td>Not&nbsp;supported</td> </tr> </tbody> </table> </table> ide

<table> <caption>移動端瀏覽器</caption> <tbody> <tr> <th>Feature</th> <th>Android</th> <th>Firefox Mobile (Gecko)</th> <th>IE Phone</th> <th>Opera Mobile</th> <th>Safari Mobile</th> </tr> <tr> <td>Preliminary support</td> <td>Via Chrome (behind flag)</td> <td>Activated on Nightly and Aurora</td> <td>Not&nbsp;supported</td> <td>Not&nbsp;supported</td> <td>Not&nbsp;supported</td> </tr> <tr> <td>DataChannels</td> <td>Compatibility unknown; please update this.</td> <td>Activated on Nightly and Aurora</td> <td>Not&nbsp;supported</td> <td>Not&nbsp;supported</td> <td>Not&nbsp;supported</td> </tr> </tbody> </table>函數


原文 Peer-to-peer communications with WebRTC

相關文章
相關標籤/搜索