1. 什麼是WebRTC?
WebRTC,Web Real_time Communication網頁實時通訊的縮寫,一個支持網頁瀏覽器進行實時語音通話或視頻聊天的技術。
WebRTC提供了實時音視頻的核心技術,包括音視頻的採集,編解碼,網絡傳輸,顯示等功能,還支持跨平臺,windows,linux,mac,android。
2. 概述
經過WebRTC端到端的通訊一般被人誤解,WebRTC並非真正意味着不須要服務器來協商和連接通話。只意味着在多數狀況下,直接在瀏覽器之間進行通訊。
3.WebRTC正常工做所需的後端服務器
3.1信令服務器
對於鏈接瀏覽器之間的對話來講,最重要的就是某種中介器—一個瞭解雙方通話端點的服務器,即信令服務器,負責協商會話,並且多是最接近WebRTC服務器的東西了。
一般這個服務器也會經過會話發送相關數據,信令服務器能夠實施像SIP或XMPP的標準化協議或私有協議。有時信令內容也會做爲Web服務器的一部分來操做網頁。
3.2TURN和STUN服務器
當通話兩端端點都監測到對方的時候,他們會嘗試在其之間直接創建鏈接——有時候有用,有時無用。
當沒有用時,是由於在通訊通道上的網絡地址轉換或防火牆機制,要麼掩蓋了瀏覽器的地址,將其從私人IP地址轉換到了公共地址,要麼會認爲這個會話是不安全的,以致於他們會阻止流入的數據流而且不容許通話的進行。
爲了克服上述問題,WebRTC使用了STUN和TURN,他們是要求服務器構件來協助協商媒體傳輸的協議,並且有時將全部的媒體都中繼給TURN服務器。
3.3媒體服務器
在協商信令以及聯通媒體以後,咱們可能還想要在服務端處理媒體,這種功能是須要有的,由於這樣用戶就能夠實施一個有着大量參與者的會話,而且記錄存檔會話,或者會話到其餘類型的網絡協議的網關。在這些狀況中咱們就會用到後端的媒體服務器。
4.小結
綜上所述,上面每種服務器均可以認爲是WebRTC服務器或者與WebRTC服務器相關。在多數狀況下一般是將信令服務器視爲WebRTC服務器。linux