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