官术网_书友最值得收藏!

3.2.2 減少數據量

當網絡帶寬一定的情況下,為了解決實時通信的矛盾,我們必須通過減少數據量來解決這一矛盾。要知道,減少音視頻數據量一定是以犧牲音視頻服務質量為代價的,但這就是一種平衡。

通過減少數據量來保障音視頻的實時性有哪些方法呢?這里總結了5種方法,分別是采用更好的壓縮算法、SVC技術、Simulcast技術、動態碼率、甩幀或減少業務。接下來就詳細討論一下這幾種方法。

·采用更好的壓縮算法。這比較好理解,H265、AVI是最近幾年才推出的編解碼器,它的壓縮率要比現在流行的H264高得多。在一些測試中,H265比H264提高了25%的壓縮率,而AVI在veryslow模式下壓縮率比H264提高了40%左右,這是相當可觀的。但從實時性方面看,目前無論是H265還是AVI,其編碼速度都與H264有不小的差距,要達到商用級別還需要一段時間??上驳氖牵珹VI已經進入Chrome的測試版中,相信其后的發展速度會超出人們的預期。

·SVC技術,是減少傳輸數據量非常好的一種方法。其基本原理是將視頻按時間、空間及質量分成多層編碼,然后將它們裝在一路流中發給服務端。服務端收到后,再根據每個用戶的帶寬情況選擇不同的層下發。其好處是,可以讓不同網絡狀況的用戶都得到較好的服務質量。但它也有缺點:一是上行碼流不但沒減少反而增加了,所以需要上行用戶配置很好的帶寬;二是由于SVC實現復雜,又沒有硬件支持,所以終端解碼時對CPU消耗很大。

·Simulcast技術。Simulcast與SVC技術類似,不過它的實現要比SVC簡單得多(見圖3.3)。其基本原理是,將視頻編碼出多種不同分辨率的多路碼流,然后上傳給服務端。服務端收到碼流后,根據每個用戶不同的帶寬情況,選擇其中一路最合適的碼流下發給用戶。它與SVC技術相比有以下幾點不同:一是Simulcast上傳的每一路流可以單獨解碼,而SVC做不到;二是由于Simulcast的每一路都可以單獨解碼,所以它的解碼復雜度與普通解碼的是一樣的;三是由于Simulcast上傳的是多路單獨的流,所以上傳碼率要比SVC多很多。

圖3.3 SVC與Simulcast比較圖

·動態碼率,也是一種減少數據的方法。當網絡帶寬評估出用戶帶寬不夠時,會通過編譯器讓其減小輸出碼率;當評估出帶寬增大時,又會增加輸出碼率。這就是動態碼率。如果你發現在網絡抖動比較大時,某個音視頻產品的圖像一會兒清晰,一會兒模糊,那多半是因為其采用了動態碼率的策略。

·甩幀或減少業務。除了上面介紹的那些方法外,還有一種不太友好的方法,就是甩幀或關閉某些不重要的業務來減少數據量。當然,這種方法是在用戶帶寬嚴重不足的情況下才使用的,只有到了萬不得已的時候才會使用這種策略。

以上就是通過減少數據量解決音視頻與網絡之間矛盾的方法,在上面的幾種方法中,用得最多的是Simulcast和動態碼率。

主站蜘蛛池模板: 乌拉特后旗| 清徐县| 迁西县| 西藏| 广宁县| 武威市| 荥阳市| 子长县| 大厂| 遂昌县| 渝中区| 米林县| 宁河县| 新绛县| 明水县| 东平县| 锡林郭勒盟| 诏安县| 灵山县| 佛冈县| 容城县| 滦南县| 旺苍县| 利辛县| 休宁县| 布尔津县| 加查县| 彝良县| 桂林市| 肥西县| 沙坪坝区| 湘阴县| 绥德县| 贵州省| 涡阳县| 调兵山市| 南汇区| 个旧市| 法库县| 治县。| 长阳|