認識和入門 WebRTC

WebRTC,名稱源自網頁即時通信(英語:Web Real-Time Communication)的縮寫,是一個支持網頁瀏覽器進行實時語音對話或視頻對話的API。它於2011年6月1日開源並在Google、Mozilla、Opera支持下被歸入萬維網聯盟的W3C推薦標準android

1、引言 最近有在關注Google IO 2016的同窗應該知道,google發佈了新的一款視頻聊天工具Duo(http://www.coolapk.com/apk/com.google.android.apps.tachyon),這款應用是基於 Google全新的QUIC和WebRTC協議開發的,也就是咱們今天這篇文章須要介紹的主角WebRTC。ios

2、它是什麼 正如導語所言WebRTC是一種視頻通話的一種標準,目的是經過瀏覽器提供簡單的JS就能夠達到實時通信的能力.除了Safari以外,主流的Chrome,Firefox,Opera已經在最新的瀏覽器中支持WebRTC好久了,Firefox更利用WebRTC製做了Hello應用,有興趣的同窗能夠在Firefox瀏覽器的右上角找到它,並快速的發起一個視頻會議。git

3、過程描述 只須要作到如下的十步,你就能夠完成一個簡單的WebRTC視頻應用了。github

progress

  1. 從本地的設備中獲取一個MediaStream 對象
  2. 從本地 MediaStream中獲取一個URL blob
  3. 使用得到的URL blob在本地設備中作預覽
  4. 建立一個RTCPeerConnectiond對象
  5. 將本地Stream添加到步驟4中建立的Connection對象中
  6. 發你的本地session 描述到遠程服務器.
  7. 接受遠程設備的遠程session 描述
  8. 處理你接受到的遠程session描述,並將遠程stream添加到你的RTCPeerConnectiond。
  9. 經過遠程的stream,獲取它的URL blob。
  10. 使用獲取到的URL blob去播放遠程設備的音頻和視頻。

至此10步,咱們就完成了一個簡單的1:1視頻的過程了.web

4、主要的API描述瀏覽器

WebRTC原生APIs文件是基於WebRTC規格書[1]撰寫而成,這些API可分紅Network Stream API、 RTCPeerConnection、Peer-to-peer Data API三類。服務器

###Network Stream API### MediaStream:MediaStream用來表示一個媒體數據流。 MediaStreamTrack在瀏覽器中表示一個媒體源。session

###RTCPeerConnection### RTCPeerConnection:一個RTCPeerConnection對象容許用戶在兩個瀏覽器之間直接通信。 RTCIceCandidate:表示一個ICE協議的候選者。 RTCIceServer:表示一個ICE Server。app

###Peer-to-peer Data API### DataChannel:數據通道(DataChannel)接口表示一個在兩個節點之間的雙向的數據通道。工具

5、學習的資源

針對於WebRTC的愛好學習者,本文羅列了一些學習的資源(乾貨)供你們參考。

  1. WebRTC Home
  2. WebRTC Android
  3. WebRTC iOS
  4. WebRTC G
  5. Muaz Kha 大神
  6. Github list

參考示例:

  1. AppRTC Github
  2. AppRTC DEMO
  3. Hublin Github
  4. Hublin DEMO
  5. AppStore 搜WebRTC ---> 一堆應用基於WebRTC

第三方接入服務:

  1. pubnub
  2. tokbox
  3. oovoo
  4. sinch

書籍(PPT)下載:

  1. WebRTC Tutorial
  2. WebRTC G PPT
  3. Real-time-communication-with-webrtc-peer-to-peer-in-the-browser
  4. WebRTCIEEE

##版權申明

版權歸原做者全部,這裏僅作收集整理,歡迎自由轉載-非商用-非衍生-保持署名和連接。

本文中內容將持續更新。

ps:本文做者系代碼牛(面對面的技術分享平臺)講師keepcleargas,正在進行基於WebRTC的學習和開發,有興趣的可關注 代碼牛 公衆號,獲取最新的WebRTC項目的最新博客信息.

相關文章
相關標籤/搜索