過年不忘長知識!啥?瀏覽器也可以開視訊會議!

相信很多人都看過之前對於 WebRTC 的簡介,我們這次就稍為深入了解一下如何讓 Firefox 執行 WebRTC,以及 WebRTC 的運作流程。目前 Firefox Nightly 的版本已經有支援 WebRTC,想嘗鮮的朋友可以下載後到 about:config 將 media.peerconnection.enabled 設成 true,便可開始使用。接下來我們可以連到由 media 的同事所做的一個測試網頁,目前測試的項目有:

  • getUserMedia:這是跟 WebRTC 相關的另一個 spec,WebRTC 所需要的攝影機跟麥克風都是透過這個 API 取得
  • 在同一個瀏覽器裡面建立 peerConnection 連線及傳輸資料(包含文字和檔案)
  • 在不同的瀏覽器之間視訊會議

下面這張圖介紹了不同瀏覽器 (peer) 之間建立 WebRTC 連線的流程

過年不忘長知識!啥?瀏覽器也可以開視訊會議!

 

  1. 宣告一個 peerconnection 的物件,然後將本地端的攝影機/麥克風資訊加入此物件
  2. Peer1 透過 createOffer 將 SDP 告訴 Peer2
  3. Peer2 若要接受此一連線,必須回給 Peer1 answer
  4. 當前面這些資訊交換完畢之後,便透過 ICE (Interactive Connectivity Establishment) 來確認兩邊連線是否 OK
  5. 開始利用 RTP 傳輸影像跟聲音

當然最常被問到的問題便是,不同的 peer 要如何知道對方的存在?基本上這個交換資訊的方式並不在 WebRTC 的定義範圍內,因為考量到不同的 App 可能會有不同的需求,甚至要找到一個大家都同意的方式可能也相當困難,因此 W3C 便只定義了 peer 要連線所需要的資訊而已,例如上面的測試網頁就是透過 Http POST 來交換不同 peer 之間的 SDP。

另外,因為這個 spec 仍然還在發展中,所以這些細節都有可能會改變,這也是在 Mozilla 工作的樂趣之一,你可以關注著最新的 spec、參與 spec 的討論與實作,是不是很有趣呢?有興趣的話趕緊打開 104 加入 Mozilla 吧!

掌握最新 Firefox, Firefox OS 相關訊息

 

加入 Mozilla Taiwan 臉書粉絲團 

加入 Mozilla Taiwan  G+ 

瀏覽 Mozilla Taiwan 部落格 

官網 mozilla.com.tw