解碼、預(yù)處理、視頻編碼,共同構(gòu)成了視頻轉(zhuǎn)碼的流程。而其中最為關(guān)鍵的,當(dāng)屬視頻編解碼技術(shù),無(wú)論是轉(zhuǎn)碼耗時(shí),還是最終輸出視頻的碼率和畫(huà)質(zhì),都與此息息相關(guān)。
不同的轉(zhuǎn)碼形式有不同的特點(diǎn)和適用場(chǎng)景,不止軟件轉(zhuǎn)碼,七牛云現(xiàn)已支持GPU硬件視頻轉(zhuǎn)碼,為您提供更多選擇。
一、GPU轉(zhuǎn)碼vs CPU轉(zhuǎn)碼
我們通常所說(shuō)的視頻轉(zhuǎn)碼,一般基于ffmpeg/x264/x265這樣的開(kāi)源視頻編解碼軟件進(jìn)行,過(guò)程中需要占用大量CPU資源進(jìn)行計(jì)算,轉(zhuǎn)碼的壓縮性能較好,但是需要更長(zhǎng)的時(shí)間。
而GPU轉(zhuǎn)碼則是利用硬件的計(jì)算單元或?qū)iT(mén)電路集成的視頻編解碼器進(jìn)行轉(zhuǎn)碼,常見(jiàn)的如GPU中Nvidia的Nvenc/Nvdec編解碼器、Intel的QSV、MacOS的VideoToolbox等。以Nvidia的GPU硬件轉(zhuǎn)碼為例,相比于CPU軟件轉(zhuǎn)碼,雖畫(huà)質(zhì)稍有下降,但是卻有著更快的轉(zhuǎn)碼速度。
二、為什么要選擇GPU轉(zhuǎn)碼?
GPU轉(zhuǎn)碼的特性,用一個(gè)字來(lái)概括,就是「快」。盡管在視頻的壓縮性能和相關(guān)轉(zhuǎn)碼功能上,相比CPU軟件轉(zhuǎn)碼有所損失,但是由于其使用專門(mén)電路進(jìn)行計(jì)算,從而獲得了更快的編解碼速度,在編碼上體現(xiàn)得尤為明顯。通過(guò)下圖的對(duì)比可以看出,在輸入輸出不改變分辨率的情況下,GPU轉(zhuǎn)碼的速度比CPU轉(zhuǎn)碼要快2至3倍。這意味著1分鐘時(shí)長(zhǎng)的視頻,CPU轉(zhuǎn)碼以1倍速轉(zhuǎn)碼需要1分鐘左右,而通過(guò)GPU硬件轉(zhuǎn)碼,20到30秒即可完成。
更為重要的是,GPU轉(zhuǎn)碼和CPU轉(zhuǎn)碼,不是答案唯一的單選題。由于GPU轉(zhuǎn)碼所占用的CPU資源更少,采用CPU+GPU的異構(gòu)組合成為可能,通過(guò)這樣的使用方式,可充分利用CPU和GPU的計(jì)算資源,提供更多路的轉(zhuǎn)碼服務(wù)。
三、什么樣的場(chǎng)景適合GPU轉(zhuǎn)碼?
隨著直播電商、在線教育等場(chǎng)景的出現(xiàn),直播不僅是觀眾單向的收看,流暢的互動(dòng)已成為其中的重要一環(huán),對(duì)交互的實(shí)時(shí)性提出了新要求。而在云剪輯等內(nèi)容創(chuàng)作場(chǎng)景中,用戶對(duì)生成視頻的時(shí)間相對(duì)敏感,縮短轉(zhuǎn)碼速度也能極大提升用戶的體驗(yàn)。
在這樣對(duì)實(shí)時(shí)性要求比較高的場(chǎng)景中,GPU轉(zhuǎn)碼速度快的特點(diǎn)可以得到最大發(fā)揮,幫助音視頻內(nèi)容快速推向用戶。
GPU轉(zhuǎn)碼和CPU轉(zhuǎn)碼,沒(méi)有絕對(duì)的高下之分,各有所長(zhǎng)的情況下,根據(jù)自身業(yè)務(wù)特點(diǎn),選擇更匹配需求場(chǎng)景的方式,才能找到最優(yōu)解。七牛云GPU轉(zhuǎn)碼現(xiàn)已在行業(yè)客戶中成功落地,也歡迎更多用戶按需選擇,獲得最佳方案。