文 / red5pro瀏覽器
原文連接:https://www.red5pro.com/blog/...服務器
實時流傳輸/直播是一個複雜的過程,涉及多種不一樣的方法和格式。這些組件中之一是用於媒體文件編碼和解碼的編解碼器。編解碼器還定義了編解碼器可用於執行流傳輸的工具的類型。網絡
爲了大大簡化過程;爲了使視頻經過互聯網傳輸,它必須首先使用麥克風和攝像頭捕獲音頻和視頻。而後,必須將原始數據壓縮(編碼)爲編解碼器,經過互聯網鏈接(使用傳輸協議)進行廣播,發送到某種服務器端解決方案(一般是CDN或Red5 Pro之類的基於雲的羣集),以及 隨後解壓縮(解碼)以供訂閱用戶最終觀看視頻。工具
當前有幾種不一樣的編解碼器正在使用,包括VP8/9,AVC(H.264),HEVC(H.265)和AV1。本篇文章將特別關注爲何AVC(H.264)是比創建HEVC(H.265)流媒體服務器解決方案更有效的低延遲流媒體直播選擇。性能
AVC與HEVC有何區別?編碼
HEVC(高效視頻編碼),也稱爲H.265,是視頻壓縮的最新國際標準。它是AVC(H.264)的後繼產品,前身是MPEG-4。HEVC標準由ISO/IEC MPEG(運動圖像專家組)和ITU-T VCEG(視頻編碼專家組)開發,於2013年首次發佈。spa
從邏輯上講,人們可能會認爲,因爲HEVC是最新開發的編解碼器,所以它將是最有效的。然而,現實卻更爲複雜。HEVC確實提供了壓縮效率方面的優點,但HEVC文件佔用的存儲空間至關因而ACV文件的一半。較小的文件大小意味着它須要較少的存儲空間,更重要的是,對應於流式傳輸時較少的帶寬消耗。這種先進的壓縮效率歸因於HEVC如何處理宏塊。HEVC還具備更好的可變塊大小分割,改進的塊分割和運動補償濾波器,樣本自適應偏移濾波以及更好的運動矢量預測和精度的功能。 x265小組的本頁說明對這些術語以及如何提升HEVC的效率進行了很好的闡述與解釋。插件
具備全部的這些優勢,爲何HEVC並非更好的實時流編解碼器?設計
1)更高的編碼速度視頻
這其中一個很大的緣由是延遲。儘管HEVC最終會產生較小的視頻,而且因爲要發送的數據較少,於是能夠更快地發送視頻,可是全部這些額外的壓縮(與AVC相比)存在乎味着執行實際壓縮將須要更長的時間。所以,它將使發送視頻的時間更長。發送可能不須要太多的帶寬,但須要花費更多時間進行實際壓縮,所用時間將最終超過了視頻流傳輸中節省的時間。
儘管這對咱們流媒體行業的從業員來講彷佛確實很明顯,可是也值得解釋爲何如此重要。延遲很重要,由於廣播公司和訂戶之間的任何形式的延遲都會使交互式實時流媒體體驗變得極差。任何類型的實時流應用程序都須要低等待時間才能擁有天然流。體育賽事和賽事廣播須要防止劇透或實時引發人羣反應,直播拍賣須要確保在正確的時間登記出價和社交平臺須要確保先後對話的暢通。
因爲HEVC具備更多的開銷,所以與編碼H.264相比可能致使延遲。
2)限制採用
爲了使用編解碼器,須要支持的硬件或軟件編碼器。 HEVC的採用率很低,這在很大程度上要歸因於專利許可。雖然AVC只有1個,但HEVC具備四個相關的專利池:HEVC Advance,MPEG LA,Velos Media和Technicolor。這使其變得更昂貴,從而阻礙了其被更普遍的採用。所以須要將其限制在特定的硬件編碼器和移動芯片組中。此外,在2013年,思科將其H.264實施開源,並將其做爲免費二進制下載發佈。這極大地推進了AVC的普遍應用。
儘管有可用的HEVC軟件編碼器,可是使用軟件編碼器會致使性能問題,由於它將消耗更多的CPU。實時流媒體已是一個佔用大量CPU的過程,所以增長自己已經很高的使用率將是成爲一個問題。所以,隨着等待時間潛在地增長,電池壽命將減小。
3)瀏覽器不支持
與AVC相反,大多數Internet瀏覽器不支持HEVC。僅Edge,Internet Explorer和Safari支持HEVC。即便這樣,運行瀏覽器的設備仍將須要支持HEVC硬件編碼。即便經過正確的實如今瀏覽器中支持HEVC,WebRTC仍沒法正常工做。
隨着移動設備和便攜式計算機普遍用於Internet瀏覽,沒法在Internet瀏覽器中觀看視頻嚴重地限制了用戶訪問內容的方式。支持各類設備是確保各類用戶能夠觀看他們喜歡的內容的惟一方法。
4)下降帶寬對於高分辨率更重要
更高的壓縮率和更小的文件大小的部分優點在於,它佔用的帶寬更少,這意味着用戶仍能夠以較低的互聯網速度流式傳輸高質量的視頻。但現實狀況是,固定寬帶鏈接的全球平均上傳速度爲42.63 Mbps,大多數地方的互聯網速度都足以支持AVC上的4K流傳輸。移動設備的平均速度要低得多,爲10.93 Mbps。即便如此,對於1080p而言,速度還遠遠不夠。
Boxcast的這張圖顯示,全球範圍內的平均鏈接速度絕對可以知足全部分辨率級別的上傳速度要求。
對於互聯網速度較慢的國家/地區的用戶,自適應比特率支持能夠調整比特率以提供最佳體驗,而轉碼能夠根據可用帶寬將廣播分爲多種質量以得到最佳體驗。在流式傳輸到具備2或3G鏈接的移動設備時,手掌大小的設備甚至不須要1080p分辨率便可看起來不錯。720P甚至480P仍將以高質量顯示。
可是,必須認可,較小的文件將爲公司節省帶寬成本。較小的文件意味着無需爲CDN或雲網絡上的更多數據流支付高昂的費用。固然, 雖然這不錯,但只有在真正高分辨率的狀況下(例如4K),數據消耗減半纔有很大的不一樣。
固然,不管規模如何,省錢無疑都是重要的事情。這將咱們帶入下一一箭雙鵰的階段:具備相同性能的更好壓縮。
5)LCEVC繞開了整個爭論
LCEVC(低複雜度加強視頻編碼)添加了一個額外的處理層,以利用MPEG或VP9和AV1等其餘現有和未來版本的壓縮版本將壓縮率提升40%。正如咱們在上一篇文章中介紹的那樣,LCEVC是一項前途廣闊的技術,由於它實質上使當前已經以一種或另外一種其餘形式被採用的協議自己變成了更有效的協議。
從如今的狀況看,內容提供商彷佛將可以使用支持LCEVC的基於軟件或硬件的編碼器以及Red5 Pro跨雲平臺,從而經過新一代的處理密集型設備促進實時流傳輸視頻格式。取決於所使用的核心編解碼器,這不只適用於4K,最終也適用於8K UHD,還適用於爲360度觀看,虛擬現實和其餘創新而設計的格式。
那是由於實際上任何設備均可以支持嵌入在服務提供商的應用程序播放器中或單獨下載到查看器設備的瘦LCEVC客戶端。此外,LCEVC經過隨附的HTML5 JavaScript實現支持免費的瀏覽器插件功能。這意味着普遍的實施應該至關簡單。
儘管如此,AV1有望取代H.264和H.265。是由於它背後的財團擁有全部主要參與者的資格,並且免版稅。如今使AV1退回的全部緣由是缺乏實時編碼器。一旦普遍可用,AV1(尤爲是與LCEVC配對時)將是將來前進的道路。
底線:H.264 / AVC效果更好
儘管HEVC確實在AVC方面進行了改進,可是這些改進不足以克服缺點。因爲較長的編碼時間致使更高的延遲,所以專利許可會限制採用,缺少瀏覽器支持以及大多數實時流的真實觀看分辨率,HEVC並不符合預期。整體而言,AVC流服務器比HEVC流服務器要有效得多。更重要的是,LCEVC準備迴避整個編解碼器問題,從而使全部問題都變爲無效。