展望2018:WebRTC和下一代編解碼器
文 / 網宿CDN事業部
策劃 / LiveVideoStack
WebRTC讓音視頻通信開發變得簡單
WebRTC的主要優勢在於提供了一整套完備的音視頻通信方案,使得音視頻通信開發變得簡單。
WebRTC提供了完整的端到端處理方案。包括了採集、回聲消除、雜訊抑制、自動增益控制、編碼等近端處理,以及自適應抖動緩衝區、丟包隱藏、解碼、播放等遠端處理。其中編解碼器包含免費高效的OPUS、VP8/9等,音頻自適應抖動/丟包隱藏則可以在較高延遲/丟包率下依然保持良好的通話水平。
當然,這個完整的方案並不完美,比如沒有伺服器實現,比如回聲消除在安卓系統上效果不一。做伺服器實現時除了信令外,做合流的話還需要處理丟包情況,否則會出現音頻斷續等問題。總的來說,WebRTC為音視頻通信開發者提供了開發簡單的入門框架,然而要實現較好的效果,開發者需要做的額外工作並不少。
AV1未來機會巨大
所謂下一代編碼器,主要就是H.266/FVC和AV1了。關於這個大家應該是有共識的,即AV1是(專利)免費、開源的,而H.266按慣例則是要收取不菲的專利費的,因此性能差別不是非常大的情況下,毫無疑問大家會擁抱AV1(AV1對比H.265的目標碼率節省是30%)。另外考慮到目前移動端流量的高佔比以及高複雜度的編解碼導致軟體實現困難,硬體編解碼器的重要性不言而喻,H.265的巨大掣肘之一就是硬體支持不佳。
由於專利費等影響,預期H.266也不能擺脫這個難題。AV1則在標準制定過程中始終將硬體實現考慮進來,並且聯合硬體廠商制定並推動AV1的硬體產品化。然而硬體開發的周期預計將以年為單位,再加上終端產品的換代周期以及生態開發的時間,AV1需要數年後才有可能大面積應用。
長遠來看,AV1的機會非常大,而目前來說,H.264/5的主導地位不會改變。
專有編解碼器並不適合CDN
我們評估了許多硬體轉碼方案,包括FPGA、ASIC以及GPU。大規模轉碼對轉碼系統的要求很苛刻。
首先從性能上來說,由於硬體實現的諸多限制(比如B幀、參考幀數目、運動矢量搜素範圍等),大部分硬體編碼器(尤其是FPGA/ASIC)的編碼效率(即固定碼率下的畫質)達不到甚至遠差於軟體編碼器,這種情況下我們作為CDN廠商無法應用,不可能在帶寬不變的情況下降低客戶的畫質。此外還往往限制指定的解析度幀率才可以轉。
其次是成本,大規模轉碼由於有機房的限電問題,對單位功耗的轉碼能力敏感,而GPU的功耗其實不算低,導致了其對比軟編的編碼速度提升幅度受限。
最後是集成,ASIC/FPGA大多沒有完備的第三方(比如FFmpeg)集成實現,需要額外的開發時間以及成本。GPU雖然相對完善些,但依然需要一定的適配工作,包括性能/平台定製化開發以及如何進行精準的負載檢測等。
以上這些限制導致了硬體轉碼方案目前還不能完全取代軟體轉碼,只能在一些符合要求的特定場景下應用。
LiveVideoStack 2018年春季招聘
LiveVideoStack是專註在音視頻、多媒體開發的技術社區,通過傳播最新技術探索與應用實踐,幫助技術人員成長,解決企業應用場景中的技術難題。如果你有意為音視頻、多媒體開發領域發展做出貢獻,歡迎成為LiveVideoStack的一員。我們正在招募商務助理,高級編輯,策劃編輯,課程經理。
TAG:LiveVideoStack |