通過WebRTC技術實現點對點通信

jopen 10年前發布 | 46K 次閱讀 電話/通訊/IM聊天 webRTC

WebRTC是一個實驗性技術。 因為這種技術的規格還沒有穩定下來,在各種瀏覽器中必須通過檢查屬性表的前綴來正確使用,例如:在Chrome中使用 webkitRTCPeerConnection,在Firefox中使用mozRTCPeerConnection,前綴不一樣)。另外請注意,實驗技 術的語法和行為有可能在瀏覽器未來的版本中改變。

通過WebRTC技術實現點對點通信

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

概述

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

標準化進程

不斷變化的WebRTC規范主要來源是W3的WebRTCgetUserMedia 規范,以及在IETF的各種草案,主要是rtcweb工作組MMUSICrmcat和其他幾個組。在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過程

規范列表

規范 狀態 說明
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

原文 Peer-to-peer communications with WebRTC

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!