通過WebRTC技術實現點對點通信
WebRTC是一個實驗性技術。 因為這種技術的規格還沒有穩定下來,在各種瀏覽器中必須通過檢查屬性表的前綴來正確使用,例如:在Chrome中使用 webkitRTCPeerConnection,在Firefox中使用mozRTCPeerConnection,前綴不一樣)。另外請注意,實驗技 術的語法和行為有可能在瀏覽器未來的版本中改變。
通過WebRTC技術實現點對點通信
WebRTC是一個實驗性技術。
因為該技術的規格還沒有穩定下來,在各瀏覽器中必須通過檢查屬性表的前綴來正確使用,例如:在 Chrome中使用 webkitRTCPeerConnection,在Firefox中使用mozRTCPeerConnection,前綴不一樣。另外請注意,實驗性技 術的語法和行為有可能在瀏覽器未來的版本中改變。
概述
WebRTC API被設計為允許JS應用程序通過瀏覽器在用戶之間創建實時的音頻,視頻和/或數據信道連接,或與支持WebRTC協議的服務器通信。它還利用 navigator.mozGetUserMedia()函數方法來訪問麥克風和攝像頭數據(getUserMedia()函數已經在標準化媒體捕獲小組 日程上)。
標準化進程
不斷變化的WebRTC規范主要來源是W3的WebRTC 和getUserMedia 規范,以及在IETF的各種草案,主要是rtcweb工作組,MMUSIC,rmcat和其他幾個組。在Chrome和Firefox實現的WebRTC功能,大部分代碼是基于谷歌在webrtc.org上的開源。
提示:如果在瀏覽器安裝了FlashBlock,當前版本的FlashBlock插件可能默認會攔截HTML5的video標簽組件;如果要在頁 面上使用WebRTC的視頻功能,需要設置FlashBlock允許該video組件,或者在該頁面禁用FlashBlock工具。
教程及實例
在HTML5 Rocks 上有一個非常不錯的介紹WebRTC基本功能的教程。在webrtc-landing 上有一個基本的測試頁面的集合,用以支持發展webrtc的發展。
你可以使用Chrome在apprtc.appspot.com上做一個很簡單的P2P的通信實驗,體驗WebRTC的點到點通信技術。
有一篇駭客文章 更形象的描述了建立RTCPeerConnection過程中發生了什么(在這里閱讀所有關于WebRTC的駭客文章):
規范列表
規范 | 狀態 | 說明 |
---|---|---|
WebRTC API | 在定義中 | |
getUserMedia API | 在定義中 | http://dev.w3.org/2011/webrtc/editor/getusermedia.html |
瀏覽器兼容
PC桌面瀏覽器Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | Yeswebkit | Firefox 22 | Not supported | Not supported | Not supported |
DataChannels | Will be in Chrome 29 | Firefox 22 | Not supported | Not supported | Not supported |
Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Preliminary support | Via Chrome (behind flag) | Activated on Nightly and Aurora | Not supported | Not supported | Not supported |
DataChannels | Compatibility unknown; please update this. | Activated on Nightly and Aurora | Not supported | Not supported | Not supported |