一對(duì)一直播源碼好用判斷的標(biāo)準(zhǔn)
一、延遲要低
延遲:指穩(wěn)定網(wǎng)絡(luò)下,發(fā)送和接收時(shí)差,即在播放端觀看到的內(nèi)容是幾秒鐘之前的視頻內(nèi)容,對(duì)延遲性要求比較高的應(yīng)用場(chǎng)景,其影響比較明顯。在一對(duì)一直播源碼中,造成此類(lèi)狀況的原因無(wú)非就以下幾個(gè):
1、物理延遲:網(wǎng)絡(luò)本身帶寬不足或網(wǎng)絡(luò)抖動(dòng)可能會(huì)造成此延遲。
2、邏輯延遲:直播的流程一般較長(zhǎng),轉(zhuǎn)發(fā)的模塊較多,每轉(zhuǎn)發(fā)一次都會(huì)產(chǎn)生較大的網(wǎng)絡(luò)延遲,因此轉(zhuǎn)發(fā)環(huán)節(jié)越多,延遲越大。
3、累積延遲:服務(wù)器一般都會(huì)在內(nèi)部開(kāi)辟一個(gè)緩沖區(qū)。當(dāng)網(wǎng)絡(luò)狀態(tài)比較差的時(shí)候,服務(wù)器會(huì)將直播的數(shù)據(jù)包攢到一起,當(dāng)網(wǎng)絡(luò)狀態(tài)恢復(fù)時(shí),之前攢到一起的數(shù)據(jù)包會(huì)被一并發(fā)送出去。所以有時(shí)候在某個(gè)時(shí)間段,直播畫(huà)面會(huì)出現(xiàn)“突然加速”的情況,這其實(shí)就是累積延遲的表現(xiàn)。
只要通過(guò)適當(dāng)?shù)募夹g(shù)調(diào)整和硬件升級(jí),把以上延遲情況調(diào)整到ms級(jí),就可將延遲控制在合理范圍內(nèi)。
二、播放成功率高
一對(duì)一直播源碼的可用性包括兩個(gè)方面:一是要播放成功,二是播放要連續(xù),不能出現(xiàn)卡頓的現(xiàn)象。用戶(hù)端正常拉流,用戶(hù)播放和觀看畫(huà)面質(zhì)量不能有異常,具體要求如下:
1、各個(gè)傳輸鏈能夠獲取到視頻數(shù)據(jù)。
2、在數(shù)據(jù)獲取的環(huán)節(jié)中避免有延遲。
3、杜絕畫(huà)面異常情況,如花屏,黑屏和綠屏等。
如果幀率太低、上傳受阻、或者下行不佳都有可能造成以上狀況,優(yōu)化這些問(wèn)題,一般來(lái)說(shuō),只能從推流端和播放端進(jìn)行優(yōu)化,如選擇質(zhì)量較好的網(wǎng)絡(luò)、視頻編碼參數(shù)設(shè)置合理、緩沖區(qū)大小合適便可合理避免上述情況。
三、首屏耗時(shí)短
首屏耗時(shí)的關(guān)鍵指標(biāo)是看首幀時(shí)長(zhǎng),指第一次點(diǎn)播播放后,肉眼看到畫(huà)面所等待的時(shí)間,技術(shù)上指播放器解碼第一幀渲染顯示畫(huà)面所花的耗時(shí)。我們通常所說(shuō)的“秒開(kāi)”,指點(diǎn)擊播放后,一秒內(nèi)即可以看到播放畫(huà)面。首屏打開(kāi)越快,則說(shuō)明用戶(hù)體驗(yàn)越好。而造成首屏耗時(shí)較長(zhǎng)的原因主要由dns解析、緩存以及網(wǎng)絡(luò)延遲造成的。
四、畫(huà)面質(zhì)量佳
在一對(duì)一直播源碼視頻編碼和解碼的過(guò)程中,畫(huà)面不能出現(xiàn)失真現(xiàn)象,需要保持高清晰度才能達(dá)到最基本的用戶(hù)體驗(yàn)。如果要達(dá)到這一點(diǎn),最基本的原則就是在保證其它參數(shù)不變的情況下,將碼率提的稍微高一些,這樣表現(xiàn)出來(lái)的畫(huà)質(zhì)就會(huì)越好,且畫(huà)面越清晰。但需要注意的是要時(shí)刻保證碼率、分辨率和幀率之間的平衡性,以此來(lái)節(jié)約成本。