影響直播代碼視覺體驗的直播性能指標(上)
時間:2022-05-18 02:57:01 | 來源:行業(yè)動態(tài)
時間:2022-05-18 02:57:01 來源:行業(yè)動態(tài)
直播代碼的第一性能指標是延遲,延遲是數(shù)據(jù)從信息源發(fā)送到目的地所需的時間。雖然這個延遲的長度可以通過視頻數(shù)據(jù)的傳播速度、網(wǎng)絡(luò)傳輸速度來縮短,但它還是真實存在的。
由于直播代碼使用的是RTMP協(xié)議,此協(xié)議是基于TCP之上的應(yīng)用層協(xié)議,TCP屬于慢啟動過稱,再此過程上往返,都會加一次往返耗時,此交互過程也會增加延遲。
其次根據(jù)TCP的丟包重傳特性,網(wǎng)絡(luò)抖動時造成丟包,數(shù)據(jù)重新傳遞,也會間接性增加延遲時間。
作為直播代碼性能提升的第二倒門檻,直播性能卡頓也是常見的問題,卡頓是指視頻播放過程中出現(xiàn)畫面滯幀,畫面的不流暢性讓人感到卡。單位時間內(nèi)的播放卡頓次數(shù)統(tǒng)計稱為卡頓率。
造成卡頓的因素有可能是推流端發(fā)送數(shù)據(jù)終端,也可能是公網(wǎng)傳輸?shù)膿砣蚓W(wǎng)絡(luò)抖動異常造成的,還有可能是終端設(shè)備的解碼性能太差,卡頓次數(shù)的多少決定了用戶觀看體驗的好壞。
第三個直播性能標準是首屏耗時,第一次點擊播放后,肉眼可看到畫面所等待的時間。有時我們在打開直播時不會第一時間看到直播畫面,有時可能先聽到聲音,這一問題在技術(shù)上指播放器解碼第一幀渲染顯示畫面所花的時間。秒開與卡頓一樣,等待時間越短越好。
如上三個直播性能標準,也對應(yīng)了現(xiàn)在三個用戶的常見需求:低延遲、高流暢度、首屏秒開。直播代碼視頻直播上的坑可以總結(jié)為兩個方面:播放設(shè)備差異、網(wǎng)絡(luò)環(huán)境差異。
首先在設(shè)備差異上,ios平臺不論是硬編還是軟編,都不存在因芯片平臺不同導致的編碼差異。Android平臺上芯片不同時,硬軟編差異表現(xiàn)很大,不同廠商使用不同的芯片,而不同芯片平臺上的表現(xiàn)差異也不同,通常實現(xiàn)全平臺兼容的成本不低。
另外在Android MediaCodec硬編層面的H.264編碼畫質(zhì)參數(shù)是固定的baseline,所以畫質(zhì)通常也一般,這里推薦Android平臺下,最好采用軟編的方式,既方便調(diào)控畫質(zhì),又有很強的兼容性。
本文已聲明云豹原創(chuàng),轉(zhuǎn)載請注明出處。