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

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://aaarwkj.com/article42/iipoec.html

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

廣告

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

成都網頁設計公司
亚洲成av人片一区二久久精品| 精品国产不卡在线观看| 手机蜜臀av在线播放| 日韩一二三区免费不卡视频| 日本亚洲欧美男人的天堂| 亚洲中文字幕女同系列av专区| 中文字幕日韩一区二区| 国产亚洲精品麻豆一区二区| 亚洲三级黄片免费播放| 夜夜嗨精品免费视频播放| 啄木乌欧美一区二区三| 免费草b视频在线观看| 成人中文字幕av电影| 麻豆人妻少妇精品系列| 欧美三级特黄在线播放| 黄色亚洲日本欧美在线观看| 中文乱幕亚洲无套内射| 成人免费毛片内射视频| 日本加勒比在线播放一区| 宅男视频在线观看视频| 亚洲av色国产精品色午含羞草| 国产精品午夜福利天堂| 国产精品女同久久久久久| 国产强烈高潮粗暴对白| 麻豆蜜桃精品视频在线观看| 欧美日韩精品亚洲成人精品| 亚洲欧美激情专区在线| 日韩欧美啪啪一区二区| 欧美乱与老熟妇视频观看| 人妻内射一区二区在线视| 一本在线不卡中文字幕| 欧美激情网页一区三区| 精品一区中文字幕少妇人妻| 黄色av链接在线观看| 久久精品免费激情视频| 清纯唯美亚洲自拍第一页| 91九色在线porny| 亚洲女同成人在线观看| 亚洲国产精品区一区二区| 日韩黄片一区二区三区| 加勒比中文字幕日本道|