欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

WebRTC開發(fā)實踐:為什么你需要SFU服務器

當你入門 WebRTC 之后,很快就會接觸到一個名詞,叫做:SFU,你可能很容易就在網上尋找到很多 SFU 的開源實現,并并興致勃勃地開始編譯、部署和測試這些服務器,但是可曾想過,為啥我們的 WebRTC 應用需要 SFU 服務器 ?

創(chuàng)新互聯2013年開創(chuàng)至今,是專業(yè)互聯網技術服務公司,擁有項目成都網站制作、成都網站設計網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元平安做網站,已為上家服務,為平安各地企業(yè)和個人服務,聯系電話:18982081108

1 WebRTC P2P 通話的網絡模型

WebRTC 開發(fā)實踐:為什么你需要 SFU 服務器

如圖是 WebRTC P2P 模式下的網絡拓撲結構,ClientA 和 ClientB 如果能夠順利建立 P2P 的連接,則可直接通過 P2P 互相交換數據。如果由于某些網絡環(huán)境原因,無法成功打通 P2P 連接的話,則可以通過一臺 TURN Server 來中轉數據給對方。

這個 TURN Server 是指支持 TURN 協(xié)議 的服務器,它扮演著一種網絡中繼的角色,支持把一個 Client 的數據包透明轉發(fā)到多個其他的 Client 客戶端。

在這種簡單的 P2P 通話場景下,其實這種模型基本夠用了,根本不需要架設什么 SFU 服務器。

下面我們再近一步,看看多人通話的場景:

WebRTC 開發(fā)實踐:為什么你需要 SFU 服務器

如圖所示,多人通話跟單人通話唯一的不同就是每個客戶端都需要跟其他兩個端都分別建立 P2P 連接,我在《WebRTC 開發(fā)實踐:從一對一通話到多人會議》也介紹過這個場景。與一對一通話一樣,如果兩個端能夠順利建立 P2P 的連接,則直接通過 P2P 互相交換數據;如果無法打通,則利用 Turn Server 來中轉數據。

我們把這種完全使用 P2P 方式的網絡拓撲結稱之為 Mesh 結構,下面我們談談它的優(yōu)劣點。

2 WebRTC Mesh 網絡拓撲結構的優(yōu)劣

優(yōu)點:

  • 邏輯簡單,容易實現

  • 服務端比較 “輕量”,TURN 服務器比較簡單,一定比例的 P2P 成功率可極大減輕服務端的壓力

缺點:

  • 每新增一個客戶端,所有的客戶端都需要新增一路數據上行,客戶端上行帶寬占用太大。因此,通話人數越多,效果越差

  • 無法在服務端對視頻進行額外處理,如:錄制存儲回放、實時轉碼、智能分析、多路合流、轉推直播等等

由此可以看到,mesh 結構的缺點影響還是比較大的,真正商業(yè)化的應用,是需要具備良好的通話質量、服務穩(wěn)定性和可擴展性的,因此,亟需一種新的網絡拓撲結構,能夠很好的規(guī)避 mesh 結構的這些短板。

3 什么是 SFU ?

SFU 的全稱是:Selective Forwarding Unit,是一種通過服務器來路由和轉發(fā) WebRTC 客戶端音視頻數據流的方法。

WebRTC 開發(fā)實踐:為什么你需要 SFU 服務器

如圖所示,SFU 服務器最核心的特點是把自己 “偽裝” 成了一個 WebRTC 的 Peer 客戶端,WebRTC 的其他客戶端其實并不知道自己通過 P2P 連接過去的是一臺真實的客戶端還是一臺服務器,我們通常把這種連接稱之為 P2S,即:Peer to Server。除了 “偽裝” 成一個 WebRTC 的 Peer 客戶端外,SFU 服務器還有一個最重要的能力就是具備 one-to-many 的能力,即可以將一個 Client 端的數據轉發(fā)到其他多個 Client 端。

這種網絡拓撲結構中,無論多少人同時進行視頻通話,每個 WebRTC 的客戶端只需要連接一個 SFU 服務器,上行一路數據即可,極大減少了多人視頻通話場景下 Mesh 模型給客戶端帶來的上行帶寬壓力。

SFU 服務器跟 TURN 服務器最大的不同是,TURN 服務器僅僅是為 WebRTC 客戶端提供的一種輔助的數據轉發(fā)通道,在 P2P 不通的時候進行透明的數據轉發(fā)。而 SFU 是 “懂業(yè)務” 的, 它跟 WebRTC 客戶端是平等的關系,甚至 “接管了” WebRTC 客戶端的數據轉發(fā)的申請和控制。

4 什么是 MCU ?

從上述 SFU 的定義可以看到,SFU 這種網絡拓撲模型,通過由 SFU Server 來實現 one-to-many ,減輕了多人視頻通話場景下每個客戶端的上行帶寬壓力,但是下行依然是多路流,隨著通話人數的增大,下行帶寬的壓力依然會成比例的增大,那能否讓下行也只剩一路流呢?—— 可以,通過在服務器端合流后再下發(fā)即可解決,如下圖所示:

WebRTC 開發(fā)實踐:為什么你需要 SFU 服務器

這種網絡拓撲結構,被稱之為 MCU,它的特點是,由 MCU Server 將各路客戶端上行的視頻流合成為一路,再轉發(fā)給其他客戶端。這種模型相比于 SFU 降低了多人視頻通話場景下客戶端的下行帶寬壓力,但是由于合流需要轉碼操作,對服務器端壓力比較大,而且下發(fā)給客戶端的流是固定的合流畫面,靈活性不是特別好。

5 為啥推薦選擇 SFU ?

綜上所述,純 mesh 方案無法適應多人視頻通話,也無法實現服務端的各種視頻處理需求,最先排除在商業(yè)應用之外。

SFU 相比于 MCU,服務器的壓力更?。冝D發(fā),無轉碼合流),靈活性更好(可選擇性開關任意一路數據的上下行等),受到更廣泛的歡迎和應用,常見的開源 SFU 服務器有:Licode,Janus,Jitsi,mediasoup,Medooze 等等,各有特點,大家可以去項目主頁了解更詳細的情況。

當然,也可以組合使用 SFU + MCU 的混合方案,以靈活應對不同場景的應用需要。

文章標題:WebRTC開發(fā)實踐:為什么你需要SFU服務器
文章轉載:http://www.aaarwkj.com/article42/iipoec.html

成都網站建設公司_創(chuàng)新互聯,為您提供外貿建站、全網營銷推廣、App開發(fā)、自適應網站網站收錄、移動網站建設

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

成都網頁設計公司
2021亚洲精品午夜精品国产| 婷婷综合伊人久久狠狠| 日本岛国大片在线视频| 天堂av中文字幕在线不卡| 久久青青草原一区二区| 在线观看视频网站一卡二卡| 国产精品国产不卡在线| 久久精品国产亚洲av波多| 亚洲夫妻性生活免费视频| 亚洲第六页亚洲第一页| 朝桐光日韩一区二区三区| 成人福利在线观看免费视频| 91国内外精品自在线播放| 欧美一区二区三区四区久久| 日韩不卡在线免费播放| 久草尤物视频在线观看| 婷婷五激情五月激情片| 剧情av一区二区在线| 一区二区三区在线观看淫| 97高清视频在线观看| 亚洲精品尤物福利视频| 欧美大片免费久久精品| 91深夜在线免费观看| 美女爽到高潮久久久| 在线看片国产精品自拍| 欧美日韩一级一区二区三区| 人妻猛烈进入中文字幕| 国产91高清免费视频| 日本加勒比不卡在线视频| 性欧美一区二区三区| 国产av一区二区三区高潮蜜| 极品人妻少妇精品一区二区| 国产精品黄色片在线观看| 成人粉嫩av一区二区白浆| 国产av剧情一区二区| 乱熟av一区二区三区| 成年人免费久久毛片| 夫妻性生活视频全过程| 一级片一区二区中文字幕| 国产有码视频一区二区三区| 欧美性色黄大片人与善|