- WebRTC音視頻實時互動技術:原理、實戰與源碼分析
- 李超編著
- 1199字
- 2021-08-06 14:49:31
3.2.1 增加帶寬
在眾多的解決方案中,增加帶寬的方案無疑是解決音視頻實時通信服務質量的根本。如果用戶的帶寬足夠大、質量足夠好,甚至可以在200ms內傳輸2K分辨率的視頻的話,那之前所說的實時傳輸的矛盾就都不存在了。
但實際上,很少有用戶可以擁有如此好的帶寬。即使有,在多方實時通信(如音視頻會議、在線教育)時,單個用戶帶寬的增加對整個服務質量也起不到什么作用。因為多方通信屬于典型的“木桶效應”,通信服務質量的好壞是由網絡最差的那個用戶決定的,即木桶中最短的那塊板。因此,這里所說的增加帶寬,指的是所有用戶帶寬的增加,而不是個別用戶帶寬的改善。接下來了解一下增加帶寬的具體方法。
5G的落地肯定會使移動網絡產生質的飛越,同時也會解決實時音視頻通信中帶寬與服務質量的矛盾。但5G所起的作用短時間內還不太樂觀,因為即使5G落地了,讓所有用戶使用5G也是一個較長的過程:一方面,用戶升級到5G需要更換新手機;另一方面,5G要達到全國覆蓋也不是短時間內可以完成的。
除了等待5G提升網絡能力這種被動的方法外,還有一些變相增加帶寬的方案,分為客戶端方案和服務端方案。
在客戶端方案中,最典型的就是WebRTC支持的選路方案——它可以按優先級選擇最優質的網絡連接線路。該方法將在第6章中做介紹。
在服務端方案中,有三種可以間接提升帶寬的方法,分別是:提供更優質的接入服務,保證云端網絡的帶寬和質量,更合理的路由調度策略。下面以圖3.2為基礎,詳細介紹一下這幾種提升網絡帶寬的方法。

圖3.2 大規模實時流媒體服務框架圖
提供更優質的接入服務,指的是圖3.2中的?,也就是“最后一公里”問題。用戶在接入服務器時,如果可以提高用戶終端接入的網絡質量,就相當于提高了用戶的網絡帶寬。
目前國內存在多家網絡運營商,如聯通、電信、移動、長城寬帶、鐵通等,因此國內的網絡十分復雜。一般情況下,同類型運營商(如聯通)的用戶相互通信時,都不會遇到什么問題,但跨運營商(如聯通與電信)的用戶進行通信時,網絡質量就很難得到有效保障。
解決這一問題的一般辦法是,讓用戶連接同一地區、同一運營商的接入服務器,這樣就可以有效保障用戶與服務器之間的連接通道。如上海的電信用戶在接入時,一定要選擇一臺位于上海的、電信的、負載最低的服務器接入。
保證云端網絡的帶寬和質量,指的是圖3.2中的?,即數據進入云端后,云內部的網絡質量一定要好。因為云內部的帶寬大小和質量是可以控制的,所以提升這部分的網絡能力相對簡單一些。最簡單的辦法是,可以購買優質的BGP網絡作為云內部使用。但優質的BGP的費用也是比較高的。
更合理的路由調度策略,指的是圖3.2中的?。從圖中可以看到,如果A與B兩個用戶要進行實時音視頻通信,從A到B有很多路徑可以選擇,因此對于節點2如何選路是非常關鍵的。如果每個節點的選路(調度)都非常合理的話,那么A與B之間的通信質量就可以得到很好的保障。選路的基本原則是距離最近、網絡質量最好、服務器負載最小的線路是最優質的線路。