WebRTC - 協議



即時資料通訊意味著使用者裝置之間具有快速的連線速度。常見的連線會獲取影片或音訊幀,並以每秒 30 到 60 次的速度將其傳輸到另一個使用者的裝置,以達到良好的質量。因此,重要的是要理解,傳送最新的資料幀比確保每個幀都到達另一端更為關鍵。這就是為什麼 WebRTC 應用程式可能會丟失某些幀以保持良好的連線速度。

您幾乎可以在當今任何影片播放應用程式中看到這種效果。影片遊戲和影片流應用程式可以承受丟失一些影片幀,因為我們的思維會嘗試填充這些空白,因為我們總是會想象我們正在觀看的內容。如果我們希望我們的應用程式在一秒鐘內播放 50 幀,而我們錯過了第 15、25 和 38 幀,大多數情況下,使用者甚至不會注意到。

UDP Model

這就是為什麼 WebRTC 應用程式使用 UDP(使用者資料報協議)作為傳輸協議。當今大多數 Web 應用程式都是使用 TCP(傳輸控制協議)構建的,因為它保證了:

  • 傳送的任何資料都會被標記為已接收

  • 任何未到達另一端的資料都會被重新發送,並且其他資料的傳送將被暫時終止

  • 任何資料在另一端都不會出現重複

您可以瞭解為什麼 TCP 是當今大多數 Web 應用程式的絕佳選擇。如果您正在請求一個 HTML 頁面,那麼按正確的順序獲取所有資料是有意義的。但是這項技術並不適用於所有用例。例如,如果我們以多人遊戲為例,使用者將只能看到幾秒鐘前發生的事情,而不會看到更多內容,這可能會導致資料丟失時出現很大的瓶頸。

TCP Model

音訊和影片 WebRTC 連線並非旨在最可靠,而是旨在成為兩個使用者裝置之間最快的連線。因此,我們可以承受丟失幀,這意味著 UDP 是音訊和影片流應用程式的最佳選擇。

UDP 的設計初衷就是作為一種不太可靠的傳輸層。您無法確定:

  • 資料的順序
  • 資料的投遞狀態
  • 每個資料包的狀態

如今,WebRTC 以儘可能快的速度傳送媒體資料包。在涉及大型企業網路時,WebRTC 可能是一個複雜的話題。它們的防火牆可能會阻止其間的 UDP 流量。已經做了大量工作來使 UDP 能夠正常地為廣大使用者服務。

當今大多數網際網路流量都是基於 TCP 和 UDP 建立的,而不僅僅是網頁。您可以在平板電腦、移動裝置、智慧電視等裝置中找到它們。因此,瞭解這些技術如何工作非常重要。

webrtc_environment.htm
廣告
© . All rights reserved.