如果你是一個(gè)常看視頻的人,應(yīng)該會(huì)被各種平臺(tái)的小把戲欺騙到:明明設(shè)置了好幾個(gè)清晰度,點(diǎn)開(kāi)視頻看卻都是一樣的糊;為了減輕等待緩沖時(shí)的枯燥,跳出很多吸睛小廣告留住你;設(shè)置好多個(gè)線路版本,讓你在想要放棄加載時(shí)仍抱著希望試試下一個(gè)(但依舊失敗)。
先別急著罵罵咧咧,湊近看著視頻平臺(tái)內(nèi)部到底在干啥——原來(lái)此時(shí)計(jì)算中心正在加足火力工作,解碼視頻、加載資源、和其他業(yè)務(wù)爭(zhēng)搶帶寬,完全忙不過(guò)來(lái)。
算力的世界丨giphy
(資料圖片僅供參考)
看視頻和使用其他網(wǎng)絡(luò)服務(wù)一樣,基礎(chǔ)都是處理數(shù)據(jù),這需要計(jì)算機(jī)最根本的能力——算力的支持。不過(guò)與文字或音頻數(shù)據(jù)相比,視頻數(shù)據(jù)的數(shù)據(jù)量更大,對(duì)壓縮質(zhì)量的要求更高,也更注重傳輸?shù)乃俣龋吘拐l(shuí)都不想看到又糊又卡的視頻。
這苦了計(jì)算中心。計(jì)算機(jī)的算力由處理器提供,英特爾的 x86 處理器、英偉達(dá)的通用 GPU,都是經(jīng)典的處理器,加上儲(chǔ)存、內(nèi)存、網(wǎng)絡(luò)等組件后,構(gòu)成可用于各種計(jì)算任務(wù)的通用計(jì)算平臺(tái)。從計(jì)算機(jī)誕生那天開(kāi)始,通用計(jì)算平臺(tái)無(wú)差別地為各種數(shù)據(jù)處理提供計(jì)算支持。在網(wǎng)絡(luò)服務(wù)發(fā)展還處于初期的階段,這樣的通用設(shè)置尚能應(yīng)付各種需求,但在網(wǎng)絡(luò)服務(wù)已高度細(xì)分發(fā)展的今天,事情早大變樣。
我們正活在一個(gè)視頻數(shù)據(jù)暴增的時(shí)代。根據(jù) Sandvine 最新發(fā)布的《2023全球互聯(lián)網(wǎng)現(xiàn)象報(bào)告》,2022 年全球娛樂(lè)與非娛樂(lè)視頻數(shù)據(jù)占到全體數(shù)據(jù)流量的 70%,艾瑞咨詢的數(shù)據(jù)也顯示,TOP 100 的 App 中,搭載了點(diǎn)播、直播、實(shí)時(shí)通信三個(gè)最主流音視頻功能的比例達(dá)到 69%。
不僅視頻數(shù)據(jù)量暴增,邊視頻邊連麥、邊看電影邊發(fā)彈幕,或是邊看直播邊購(gòu)物,功能的擴(kuò)展也在增加視頻數(shù)據(jù)的復(fù)雜程度。
如果把通用計(jì)算平臺(tái)比做廚房里的灶,為所有的烹飪行為(數(shù)據(jù)處理)提供火力,視頻數(shù)據(jù)的暴增則會(huì)導(dǎo)致“灶”不夠用。視頻行業(yè)的通識(shí)里,視頻數(shù)據(jù)正以每年增長(zhǎng) 75% 的速度膨脹,而根據(jù)摩爾定律,芯片卻還是 18-24 個(gè)月才升級(jí)一次性能——食材越堆越多,需要用更大的火候增加處理效率,灶卻久久不升級(jí),這怎么夠用。
此外,不同特性的數(shù)據(jù)就像不同的食材,需要專門的火候才能處理得更好。但通用計(jì)算平臺(tái)這口灶為所有的烹飪而設(shè)計(jì),很難對(duì)視頻數(shù)據(jù)進(jìn)行最符合其需求的處理。如同字節(jié)跳動(dòng)視頻架構(gòu)負(fù)責(zé)人、火山引擎視頻云架構(gòu)技術(shù)總監(jiān)王悅的介紹,現(xiàn)在市面上通用的視頻計(jì)算方案,就很少考慮過(guò)“加特效”這個(gè)在今天越來(lái)越常見(jiàn)的需求,于是原本炫酷的特效,經(jīng)過(guò)無(wú)差別的計(jì)算方案處理后,呈現(xiàn)到用戶面前卻變得模糊,馬賽克嚴(yán)重。
而這又導(dǎo)致另一個(gè)讓視頻從業(yè)者頭疼的問(wèn)題——今天的用戶越來(lái)越“挑剔”,1G 到 5G、360P 到 4K、從耳機(jī)能聽(tīng)個(gè)響就行,到空間音頻加杜比音效都滿足不了愛(ài)好者的耳朵……技術(shù)的發(fā)展讓用戶“由奢入簡(jiǎn)難”。模糊、延時(shí)、卡幀,這些視頻播放時(shí)的瑕疵,都會(huì)輕易影響用戶的觀感。
加載中......令人崩潰丨giphy
王悅提供了一組業(yè)內(nèi)觀察數(shù)據(jù):“云游戲業(yè)務(wù)下,延時(shí)超過(guò) 100 毫秒用戶就很難玩下去;實(shí)時(shí)通信延時(shí)超過(guò) 0.5 秒,用戶就能感受到不順暢;直播延時(shí) 2-3 秒,用戶的打賞或各個(gè)業(yè)務(wù)指標(biāo)就會(huì)受到很大影響。”
嗯,現(xiàn)在知道為什么視頻平臺(tái)要耍那么多小把戲了吧。
通用不行,讓異構(gòu)上
既然通用的“灶”難以滿足不同食材的需求,那為食材專門設(shè)計(jì)灶呢?
上世紀(jì) 80 年代,GPU(圖形處理器)出現(xiàn),與 CPU 相比,GPU 更擅長(zhǎng)處理圖像,人們也開(kāi)始探索更多樣的處理器方向。而隨著這些年算力需求的不斷提升,集合多個(gè)不同計(jì)算單元的異構(gòu)計(jì)算平臺(tái)受到關(guān)注。與通用平臺(tái)相比,異構(gòu)計(jì)算平臺(tái)能集合多個(gè)高性能處理器,并讓不同的處理器執(zhí)行其擅長(zhǎng)的任務(wù),性能更好,靈活性更高。
那專門處理視頻數(shù)據(jù)的異構(gòu)計(jì)算平臺(tái)應(yīng)該如何組合,火山引擎視頻云是這樣探索的:
首先是火山引擎自研的視頻編解碼芯片。這是一款 ASIC(專用應(yīng)用集成電路)芯片,特點(diǎn)是可以依據(jù)不同產(chǎn)品的需求而專門設(shè)計(jì)和制造,并在使用時(shí)只執(zhí)行預(yù)設(shè)好的固定功能。它是目前各種計(jì)算單元的選擇中,能將低成本和高性能發(fā)揮到最佳的選擇。火山引擎為視頻轉(zhuǎn)碼加速場(chǎng)景專門設(shè)計(jì)的視頻編解碼芯片,重點(diǎn)關(guān)注其在壓縮效率、計(jì)算密度、延時(shí)和成本上的表現(xiàn)。目前該芯片服務(wù)器一臺(tái)的轉(zhuǎn)碼能力,就相當(dāng)于百臺(tái)CPU服務(wù)器的算力,能對(duì)幾乎全量的點(diǎn)播/直播視頻進(jìn)行高質(zhì)量轉(zhuǎn)碼。
ASIC 之外,則是搭配 FPGA 編碼器。FPGA 是一種可編程的半定制化電路,它的計(jì)算密度(單位面積內(nèi)晶體管的數(shù)量)和吞吐(單位時(shí)間內(nèi)芯片能夠處理的數(shù)據(jù)量)比 ASIC 稍遜,但它可擦寫(xiě),在使用時(shí)更為靈活。火山引擎的這款 FPGA 編碼器同樣主力支持轉(zhuǎn)碼、直播等應(yīng)用場(chǎng)景,整體編碼性能比行業(yè)標(biāo)準(zhǔn)編碼器提升 30%。
而為了應(yīng)對(duì)更豐富的視頻業(yè)務(wù)場(chǎng)景,火山引擎視頻云還搭載了高密度 ARM 陣列服務(wù)器。ARM 是 Advanced RISC Machine 的縮寫(xiě),是一種精簡(jiǎn)指令集計(jì)算機(jī)架構(gòu),常見(jiàn)于手機(jī),平板電腦等小型設(shè)備中。它的功耗低、成本低、但同樣可以根據(jù)不同的應(yīng)用進(jìn)行定制,是一個(gè)性價(jià)比較高的選擇。經(jīng)過(guò)火山引擎的設(shè)計(jì),這款 ARM 陣列服務(wù)器相比通用的 x86 架構(gòu),成本可以節(jié)省至少 40%,同時(shí)因?yàn)閷?shí)現(xiàn)了儲(chǔ)存和計(jì)算的分離,也為數(shù)據(jù)的安全提供了更高保障,適合云游戲、云手機(jī)、云測(cè)試等業(yè)務(wù)場(chǎng)景。
大火的 GPU 也在此異構(gòu)計(jì)算平臺(tái)中占據(jù)一席之地,它由大量并行處理單元組成,可以使用多個(gè)處理器來(lái)執(zhí)行一個(gè)任務(wù),適合需要大量計(jì)算的任務(wù)。因此相較其他三個(gè)組件,它更能滿足深度學(xué)習(xí)、視頻畫(huà)質(zhì)檢測(cè)與剖析、質(zhì)量增強(qiáng)處理、XR 云端烘托等需求。那些未來(lái)的視頻場(chǎng)景,比如數(shù)字人、VR、AR 等,就主要靠它。
可以看出,異構(gòu)計(jì)算平臺(tái)是一個(gè)搭配了各種火力的灶臺(tái)中心,為不同的食材提供最適合的火力。在綜合的視頻業(yè)務(wù)中,各計(jì)算單元也可以各司其職,讓效率和效果最大化。王悅表示,對(duì)服務(wù)提供商而言,這套計(jì)算方案在部分場(chǎng)景下的 TCO(總體擁有成本)成本可以下降 90%,用戶也能在幾乎全量的視頻服務(wù)中獲得高質(zhì)量體驗(yàn)。
芯片為啥非得自己造
按需組裝異構(gòu)計(jì)算平臺(tái)還不是最終的做法,更進(jìn)一步的做法是,連芯片都自己做。
火山引擎視頻云中,視頻編解碼芯片、FPGA 編碼器、高密度 ARM 陣列服務(wù)器均為團(tuán)隊(duì)自研。特別是視頻編解碼芯片,“它的確是能把高質(zhì)量和低成本做到極致的方案”,王悅說(shuō),但目前市面上的選擇,在密度、成本、能力上并不能完全滿足團(tuán)隊(duì)需求。特別是火山引擎基于抖音集團(tuán),在視頻場(chǎng)景處理和算法上的積累,有著比第三方芯片設(shè)計(jì)更豐富的經(jīng)驗(yàn),于是,“只有自己做才能將優(yōu)勢(shì)做到極致”。
這當(dāng)然不容易。算法是最難的部分,如何將壓縮率做到極致,“需要一點(diǎn)點(diǎn)摳”,而自研芯片所需的固定投入、人才儲(chǔ)備,都不是小數(shù)目。這幾乎是一個(gè)不容許失敗,否則損失巨大的項(xiàng)目。
火山引擎團(tuán)隊(duì)選擇一步步來(lái),先從風(fēng)險(xiǎn)較小的自研 FPGA 編碼器入手,驗(yàn)證成功后,再往下自研 ASIC 芯片,一步步構(gòu)建整個(gè)計(jì)算平臺(tái)。整個(gè)研發(fā)過(guò)程花去火山引擎將近四年的時(shí)間,但好在效果不錯(cuò)。先行研發(fā)的 FPGA 編碼器連續(xù)兩年獲評(píng) MSU 最佳 FPGA 編碼器,自研編解碼芯片的壓縮效率比行業(yè)主流硬件編碼器提升30%,而高密度 ARM 陣列服務(wù)器也比同類產(chǎn)品在成本上節(jié)省40%。
自研的另一個(gè)好處,是能對(duì)不斷增加的行業(yè)需求做出及時(shí)響應(yīng)。如前文提到,視頻處理需求已不局限于視頻行業(yè),各行各業(yè)都在自己的業(yè)務(wù)背景下對(duì)視頻提出要求。
視像新生丨火山引擎
火山引擎視頻云,則依托自研的異構(gòu)算力平臺(tái),提供集視頻直播、視頻點(diǎn)播&智能處理、實(shí)時(shí)音視頻、圖片處理、企業(yè)直播、云游戲、云手機(jī)、慢直播等一站式音視頻產(chǎn)品服務(wù),針對(duì)金融、傳媒、汽車、云游戲等行業(yè)沉淀了一系列的行業(yè)場(chǎng)景化方案。團(tuán)隊(duì)也準(zhǔn)備著隨時(shí)精進(jìn)底層技術(shù),以保持對(duì)視頻發(fā)展新需求的回應(yīng)。
*廣告*
果殼商業(yè)科技傳播部出品
責(zé)任編輯:Rex_23