GUSTAVO GARCIA在同一測(cè)試環(huán)境下,測(cè)試得出不同編碼器的CPU使用結(jié)果。
在WebRTC中,公認(rèn)為優(yōu)秀的和最受歡迎的編解碼器是VP8和H.264,但這兩個(gè)編解碼器并不是我們唯一的選擇。VP9已經(jīng)可用了一段時(shí)間,并且一些大型的也服務(wù)正在使用它,例如最近Chrome就增加了對(duì)于AV1支持。
在比較編解碼器時(shí),需要考慮一些有趣的因素,例如互操作性和許可,但最重要的因素可能是編解碼器在壓縮方面的性能如何,以及編解碼器在cpu和內(nèi)存使用方面的便宜程度。
壓縮率通常是我們首先要考慮的事情,并且存在著許多可用于此的比較,但是如果我們希望能夠?qū)⒕幗獯a器用于實(shí)時(shí)用例,則資源消耗同樣重要。
鑒于AV1在Chrome Canary版本中可用,我決定運(yùn)行一些測(cè)試來評(píng)估WebRTC生態(tài)系統(tǒng)中4種可用編解碼器的CPU使用情況。該測(cè)試的目的是將整個(gè)視頻管道與這4個(gè)編解碼器進(jìn)行比較,而不僅僅是單獨(dú)比較編解碼器。
測(cè)試環(huán)境
這些測(cè)試是通過一個(gè)簡(jiǎn)單的網(wǎng)頁完成的,該網(wǎng)頁在2個(gè)PeerConnections之間建立了連接(一個(gè)發(fā)送和另一個(gè)接收)。如果您想自己運(yùn)行測(cè)試,請(qǐng)參見測(cè)試頁面:
https://jsfiddle.net/tvo7czxs/
使用該頁面進(jìn)行的測(cè)試改變了3個(gè)變量:
編解碼器:VP8、VP9、H264、AV1
分辨率:高清、VGA、QVGA
比特率:200Kbps、800Kbps、2Mbps
如果您查看測(cè)試頁面,很容易就可以更改這3個(gè)參數(shù),以便在其他配置或其他設(shè)備中運(yùn)行測(cè)試。
使用的Chrome版本是本周從git同步的最新版本(1/2/21),測(cè)試在MacBook Pro(2.4 GHz 8核 Intel Core i9)中進(jìn)行。
為了檢查CPU的使用率,我在等待30秒后,就在系統(tǒng)活動(dòng)監(jiān)視器中查看了Chrome進(jìn)程平均消耗的CPU,以便為WebRTC內(nèi)帶寬估計(jì)和分辨率/幀速率自適應(yīng)的穩(wěn)定提供時(shí)間。當(dāng)下面的結(jié)果是100%時(shí),表示該機(jī)器有1個(gè)完整核。
沒什么花哨的,但希望這可以足夠容易使大家理解。
在那種環(huán)境中,我運(yùn)行了幾次36個(gè)參數(shù)組合,將結(jié)果取平均值,并在以下各節(jié)中進(jìn)行了總結(jié):
QVGA測(cè)試結(jié)果
對(duì)于QVGA分辨率這一方面來說,結(jié)果是符合預(yù)期的,其中VP9比VP8需要更多的CPU,而AV1則需要的CPU幾乎是VP8的2倍。H.264是一種需要較少的CPU使用量,因?yàn)樗鼮榇耸褂昧擞布铀佟?/p>
% of CPU usage with different codecs
QVGA200kbps800kbps2Mbps
VP8182228
VP9202833
H.264101415
AV1364650
VGA測(cè)試結(jié)果
對(duì)于VGA,結(jié)果并沒有很大差異,但是在低比特率時(shí),只有VP9才能保持分辨率,而當(dāng)將比特率限制提高到2 Mbps時(shí),AV1使用了1個(gè)以上的內(nèi)核。H.264在200Kbps時(shí)的質(zhì)量真的很差,而且?guī)俾屎艿停枞埠苊黠@,由于在這種情況下,Chrome瀏覽器的適應(yīng)性顯然不能非常好的工作。
HD(1280x720)測(cè)試結(jié)果
HD的結(jié)果與VGA的結(jié)果相似,但AV1無法對(duì)原始分辨率進(jìn)行編碼,在所有比特率的測(cè)試中縮小了分辨率。H.264在低比特率下的表現(xiàn)也很不盡人意,并且VP8和VP9成本之間的差異比VGA高得多。
(另外,高清分辨率的AV1經(jīng)常會(huì)因?yàn)镸ac相關(guān)代碼的內(nèi)存問題而崩潰,但也許這個(gè)bug在你讀這篇文章的時(shí)候已經(jīng)修復(fù)了)
編碼 VS 解碼成本
我又進(jìn)行了一次測(cè)試,以在編碼(發(fā)送方)和解碼(接收方)之間劃分成本。該測(cè)試是針對(duì)VGA以800 Kbps進(jìn)行的,而測(cè)試結(jié)果正是下一個(gè)正在考慮的四個(gè)編解碼器的結(jié)果。
結(jié)果差別不大,但與編碼相比,VP9和AV1X的解碼相對(duì)便宜。
僅將解碼成本與不同的編解碼器進(jìn)行比較,看起來AV1的價(jià)格要比其他解碼器貴2倍左右。VP9的價(jià)格比VP8的價(jià)格稍高,而VP8的價(jià)格比H.264的價(jià)格略高,但三者之間沒有太大差異。
總結(jié)
有了新的編解碼器是令人驚喜的,毫無疑問,AV1是實(shí)時(shí)視頻通信的未來,但它看起來我們應(yīng)該耐心等待一些時(shí)間,以便日后能夠?qū)⑵溆糜谕ㄓ靡曨l會(huì)議應(yīng)用程序之中。與此同時(shí),我們可能還會(huì)將它用于特定使用情況,如廣播,專用的功能強(qiáng)大的設(shè)備,或在使用聯(lián)播時(shí)對(duì)視頻流的低分辨率版本進(jìn)行編碼。
對(duì)于其他用例,VP8和VP9看起來仍然是最好的選擇,除非您不太擔(dān)心低比特率的情況,或者您正在使用高分辨率,并且電池/cpu消耗是一個(gè)大問題,不過您可以考慮H.264。
另外,很明顯,新的libaom補(bǔ)丁即將面世,可以將性能提高15%,因此在Chrome的未來版本和不同的設(shè)備上重復(fù)這些測(cè)試是很好的(AV1可能會(huì)對(duì)ARM CPUs進(jìn)行更優(yōu)化)。
編輯:lyn
-
測(cè)試
+關(guān)注
關(guān)注
8文章
5399瀏覽量
127129 -
編碼器
+關(guān)注
關(guān)注
45文章
3673瀏覽量
135318 -
cpu
+關(guān)注
關(guān)注
68文章
10911瀏覽量
213150
原文標(biāo)題:WebRTC視頻編解碼器性能評(píng)估
文章出處:【微信號(hào):livevideostack,微信公眾號(hào):LiveVideoStack】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
華為云 X 實(shí)例 CPU 性能測(cè)試詳解與優(yōu)化策略
![華為云 X 實(shí)例 <b class='flag-5'>CPU</b> 性能<b class='flag-5'>測(cè)試</b>詳解與優(yōu)化策略](https://file1.elecfans.com//web3/M00/04/4E/wKgZO2dyQzqAb_rEAALtynZ--qo829.png)
編碼器在機(jī)器人技術(shù)中的應(yīng)用 編碼器在傳感器系統(tǒng)中的作用
如何選擇合適的磁編碼器 磁編碼器在機(jī)器人技術(shù)中的角色
高精度磁編碼器選型指南 磁編碼器的安裝與調(diào)試技巧
磁電編碼器和光電編碼器的區(qū)別
伺服電機(jī)編碼器種類有哪些?
谷景揭秘哪些因素會(huì)影響電感測(cè)試結(jié)果
增量編碼器和絕對(duì)值編碼器的區(qū)別
天線增益的測(cè)試方法與測(cè)試步驟
DEKRA被CSA指定為Zigbee統(tǒng)一測(cè)試工具開發(fā)和優(yōu)化新功能和測(cè)試用例
編碼器在低速車上的常見應(yīng)用
![<b class='flag-5'>編碼器</b><b class='flag-5'>在</b>低速車上的常見應(yīng)用](https://file1.elecfans.com/web2/M00/C2/8E/wKgZomXljrGAMaeSAABMkFmO3WY299.png)
編碼器如何選擇合適的脈沖數(shù)
![<b class='flag-5'>編碼器</b>如何選擇合適的脈沖數(shù)](https://file1.elecfans.com/web2/M00/C2/42/wKgZomXhaTqAeLvVAACrw8x262k515.png)
編碼器分辨率是什么意思 編碼器分辨率和脈沖數(shù)的關(guān)系
![<b class='flag-5'>編碼器</b>分辨率是什么意思 <b class='flag-5'>編碼器</b>分辨率和脈沖數(shù)的關(guān)系](https://file1.elecfans.com/web2/M00/C0/7B/wKgZomXVy4aAfh6UAAAyuolyJRI008.png)
評(píng)論