直播秒開(kāi)

視頻就是一個(gè)快速連續(xù)播放的圖片, 當(dāng)每秒播放的速度足夠快時(shí),人眼就會(huì)覺(jué)得圖片是“動(dòng)”的(要求>24幀/秒)。隨時(shí)間連續(xù)變換的多張畫(huà)面中每張畫(huà)面就叫一幀,如果把這些幀數(shù)據(jù)轉(zhuǎn)換成圖片文件并按順序排列就是一個(gè)視頻文件。如果把這個(gè)視頻文件在網(wǎng)絡(luò)上進(jìn)行傳輸,那么數(shù)據(jù)必然就很大并且相鄰的幀有需要重復(fù)的地方,所以有人就專門(mén)寫(xiě)了些算法對(duì)視頻文件進(jìn)行編碼,常見(jiàn)的就是H.264編碼,H.264編碼將保留一張基本幀,其他的幀只是記錄差別的地方。

在H.264編碼中,得到的文件可以看做是連續(xù)的一組幀的集合,在這組幀當(dāng)中,通常第一幀就是記錄基本畫(huà)面,是最重要的一幀數(shù)據(jù),叫做I幀(Inter Frame),其他的幀數(shù)據(jù)是P幀(P-Frame)或B幀(B幀),P幀和B幀需要參考其他的幀數(shù)據(jù)才能還原畫(huà)面。

所以獲得I幀數(shù)據(jù)就可以進(jìn)行播放了,從I幀數(shù)據(jù)開(kāi)始到下個(gè)I幀數(shù)據(jù)之前所有的數(shù)據(jù)就一個(gè)GOP,即一個(gè)幀數(shù)據(jù)組。當(dāng)我們看一個(gè)直播時(shí)通常會(huì)希望點(diǎn)開(kāi)直播就能看到畫(huà)面,即所謂的秒開(kāi),一般秒開(kāi)的實(shí)現(xiàn)是拿到I幀就立馬進(jìn)行顯示的。但是對(duì)于觀看直播的用戶來(lái)將進(jìn)入直播間的時(shí)間是隨機(jī)的,也許進(jìn)來(lái)時(shí)剛好請(qǐng)求到I幀,立馬可以拿到I幀, 也許進(jìn)來(lái)時(shí)剛好I幀結(jié)束,那么他就需要等一個(gè)GOP時(shí)間之后才能拿到下組的I幀進(jìn)行觀看。這就產(chǎn)生了一個(gè)問(wèn)題,GOP時(shí)間到底需要設(shè)置多長(zhǎng)才合理?以及Gop的大小對(duì)直播到底有什么影響?

我們知道Gop時(shí)長(zhǎng)就是指的2個(gè)I幀之間的時(shí)間差,一個(gè)Gop組中只有一個(gè)I幀。

  1. 如果Gop時(shí)間設(shè)置比較大時(shí),顯然B幀和P幀會(huì)有很多,則其對(duì)于的壓縮比就比較高了,所耗費(fèi)的流量就相對(duì)較小。但這樣做的話,對(duì)于在I幀結(jié)束后進(jìn)入直播間的用戶來(lái)將就需要等待比較久的時(shí)間,等待時(shí)間就比較久了,達(dá)不到秒開(kāi)的效果。

  2. 如果 GoP設(shè)置比較小時(shí),由于GoP設(shè)置小可以降低I幀間隔時(shí)間,對(duì)于直播來(lái)說(shuō)可以實(shí)現(xiàn)秒開(kāi)的功能。但是由于GoP時(shí)間比較短,會(huì)導(dǎo)致I幀的比例增高,壓縮比降低。同樣碼率情況下視頻的質(zhì)量會(huì)有所下降。數(shù)據(jù)流量也比較大了。

一般來(lái)講Gop一般會(huì)設(shè)置為1-2秒比較合適。

上面講到的秒開(kāi)是針對(duì)客戶端進(jìn)行的一些設(shè)置, 對(duì)應(yīng)服務(wù)器端也可以做些配置來(lái)實(shí)現(xiàn)秒開(kāi)。在服務(wù)器端一般可以設(shè)置Gop緩存,即在服務(wù)器上保存上一個(gè)Gop組數(shù)據(jù),當(dāng)用戶進(jìn)入直播間時(shí),立即拿到上一個(gè)Gop的I幀,這樣客戶端進(jìn)入直播間的瞬間永遠(yuǎn)是I幀開(kāi)頭的數(shù)據(jù),從而達(dá)到秒開(kāi)。但是這種方案對(duì)于延遲要求比較高的場(chǎng)景不不適合了,畢竟拿到的是上一Gop的I幀,這就會(huì)增加了一個(gè)延遲,而且這個(gè)延遲和Gop大小有關(guān)。

所以如果要實(shí)時(shí)性的話,還是只能通過(guò)減少關(guān)鍵幀間隔來(lái)進(jìn)行優(yōu)化了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 現(xiàn)今移動(dòng)直播技術(shù)上的挑戰(zhàn)要遠(yuǎn)遠(yuǎn)難于傳統(tǒng)設(shè)備或電腦直播,其完整的處理環(huán)節(jié)包括但不限于:音視頻采集、美顏/濾鏡/特效處...
    大榮紙閱讀 8,317評(píng)論 5 22
  • [TOC] 音視頻&流媒體 是什么促使我要寫(xiě)這一篇音視頻入門(mén)文章?那是因?yàn)楹鸵幻米哟蛸€碼率的概念,結(jié)果輸了;對(duì)一個(gè)...
    AllenWu閱讀 5,158評(píng)論 1 24
  • 《優(yōu)雅而又高效的使用Windows》 本文主要介紹在Windows下那些高效并且優(yōu)雅的軟件,正是因?yàn)橛羞@些軟件的存...
    Zakary閱讀 2,287評(píng)論 2 25
  • 雖然胖胖有張可愛(ài)的臉,但每次他說(shuō),你比我年長(zhǎng)幾歲,要好好幫助我,之類的話時(shí),我通常會(huì)一時(shí)語(yǔ)塞,然后很想很想踹他的臉...
    混混何閱讀 204評(píng)論 0 0
  • 【杰琳機(jī)械 20171023《書(shū)語(yǔ)者》D3/7】今天早上起來(lái),急不可待地打開(kāi)跟誰(shuí)學(xué),聽(tīng)彭彭繼續(xù)嘮叨書(shū)語(yǔ)者。今天的內(nèi)...
    冬來(lái)安好閱讀 225評(píng)論 0 0

友情鏈接更多精彩內(nèi)容