基於WEBRTC的免外掛點到點視訊分享
阿新 • • 發佈:2018-12-31
WebRTC
WebRTC 是基於瀏覽器的實時通訊協議(Real-Time Communications),通過WebRTC,可以在瀏覽器中直接進行點到點視訊聊天和資料通訊。WebRTC目前尚在協議開發中,但是已經在Chrome stable版和Firefox’s Nightly中實現,並且 能夠互相通訊了。通過WebRTC,瀏覽器將不僅限於和伺服器通行,它將能夠直接在瀏覽器間傳輸資料。通過 STUN 協議,即使有防火牆也沒問題。
但是,WebRTC作為釋出不到一年的協議,還存在非常多的問題:
- 文件少
- 協議繁瑣,實現與W3C標準有出入
- 實現不完全,Chrome下的DateChannel不支援可靠傳輸,只能傳text,還有長度限制
- 瀏覽器依賴
但是相信隨著標準慢慢完善,支援的實現變多,這樣點到點的通訊方式一定能給Web帶來更多的可能。
入門建議:參照 W3C標準 文件,對比 https://apprtc.appspot.com/ 實現自行嘗試(apprtc是封裝最淺的實現版本)。另外需要指出的是,HTML5 Rocks 的文件是錯誤的。
WebRTC-video
這是一個用WebRTC的DataChannel特性實現的,免外掛,基於瀏覽器P2P檔案/視訊分享DEMO。
只要開啟瀏覽器就能使用,每個訪問者都是分享節點:
- 免外掛,僅依賴瀏覽器隨時隨地地檔案分享
- HTML5視訊邊下邊播
- Peer-to-Peer通訊,像BitTorrent一樣在多使用者間加速分享,傳輸
- 支援額外的HTTP,WebSocket節點,保證內容隨時可用,並能保持P2P加速的特性
- 通訊資料量統計,等等。。。
注:
- 視訊邊下邊播需要MP4、webm、ogg格式
- HTTP節點需要CORS來源允許
- WebSocket節點,檔案置於
project_path/data/
下,檔名只能包含英文和數字,通過ws://host:port/file/filename
新增
因為WebRTC協議還非常不完善,這個專案更多的是demo性質的,但是這個demo展現了WEB+P2P的更多可能。