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伺服器。