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