<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          面試官:現(xiàn)在還有不會(huì)音視頻的Android開(kāi)發(fā)?

          共 2097字,需瀏覽 5分鐘

           ·

          2021-03-08 16:44

          1.1 什么是視頻?

          首先我們需要理解一個(gè)最基本的概念:視頻。從感性的角度來(lái)看,視頻就是一部充滿趣味的影片,  
          可以是電影,可以是短片,是一連貫的視覺(jué)沖擊力表現(xiàn)豐富的畫(huà)面和音頻。
          但從理性的角度來(lái)看,視頻是一種有結(jié)構(gòu)的數(shù)據(jù), 我們可以把視頻剖析成如下結(jié)構(gòu):

          內(nèi)容元素 ( Content )
          圖像 ( Image ) 
          音頻 ( Audio )

          1.2 視頻是如何播放的

          視頻要播放它肯定是有視頻數(shù)據(jù),把視頻數(shù)據(jù)放到解碼器,然后解碼器把這個(gè)視頻數(shù)據(jù)解碼出來(lái),  解成圖片,然后播放到顯示器上,這是一個(gè)基本的播放流程。一般來(lái)講,大家現(xiàn)在主流的用H.264碼。對(duì)于H.264編碼來(lái)說(shuō),我們會(huì)有三個(gè)不同的幀,所謂幀是什么呢?就是你看到的每一個(gè)圖像。我們看  到動(dòng)態(tài)的視頻,大家知道電影最開(kāi)始用膠片拍的時(shí)候,每秒是25幀,是每秒25個(gè)圖片在切換。


          對(duì)于H.264來(lái)講,我們常見(jiàn)的有I幀,P幀,和B幀。

          I
          1.  它是一個(gè)完整信息幀,你可以理解為它就類似一個(gè)jpg圖片,它里頭所有的數(shù) 據(jù),你解出來(lái)之 后,它就是一整張圖片。

          2. 它壓縮比是最小的,因?yàn)樗ㄕ麄€(gè)圖片所有的數(shù)據(jù)在里頭。

          I幀可以直接解析

          P

          P幀就是保留變的部分,不變的部分你去上一個(gè)或者幾個(gè)幀里面找就行。P幀只是負(fù)責(zé)向前引用,  也就是任何一個(gè)P幀,它只看它往前的這些幀的數(shù)據(jù)。

          P幀不可以直接解析

          B
          B幀比較特別,它要引用前面P幀某一部分的圖像數(shù)據(jù)同時(shí)B幀后面的數(shù)據(jù)也會(huì)引用,這個(gè)是B幀的特  點(diǎn),它要引用前面的數(shù)據(jù),也要引用后面的數(shù)據(jù)。那么它的優(yōu)勢(shì)就是壓縮比比P幀還大,大概是I幀的25%,也就是我們B幀用的特別多的話,它會(huì)把視頻的大小降的比較低,因?yàn)樗膲嚎s比更大一些。

          B幀不可以直接解析

          I幀,B幀,P幀它是怎么組成一個(gè)視頻流呢?我們管這個(gè)東西叫Group Of Picture,簡(jiǎn)稱叫GoP。


          GOP實(shí)際上是兩個(gè)I幀之間的序列幀

          1.3 阿里移動(dòng)端直播場(chǎng)景其他優(yōu)化措施
          1.3.1 為什么直播會(huì)等待
          對(duì)于直播來(lái)講,它是一個(gè)流,它不像點(diǎn)播,大家都從0秒開(kāi)始,任何一個(gè)視頻文件,0秒第一個(gè)幀肯  定都是關(guān)鍵幀。
          那么對(duì)于直播來(lái)講,我是一個(gè)隨機(jī)的時(shí)間點(diǎn)接到這個(gè)視頻流進(jìn)行播放,那么我接入的這個(gè)時(shí)間點(diǎn)的幀有
          可能拿到的第一個(gè)幀的數(shù)據(jù)是I幀,也有可能是B,也有可能是P。這是一個(gè)隨機(jī)的。
          在這種情況下,我們大概率會(huì)出現(xiàn)一個(gè)黑屏的狀態(tài)。因?yàn)槲夷玫降氖莻€(gè)P幀,對(duì)于P幀來(lái)講,解碼器面  那個(gè)Buffer是空的,它不知道這個(gè)P幀如何進(jìn)行解碼,所以它只能丟棄這個(gè)幀。

          意味著無(wú)法在第一幀拿到I幀,則必須等待,哪怕是拿到了數(shù)據(jù),也必須地球

          1.3.2 改寫(xiě)播放器邏輯讓播放器拿到第一個(gè)關(guān)鍵幀后就給予顯示。

          GOP 的第一幀通常都是關(guān)鍵幀,由于加載的數(shù)據(jù)較少,可以達(dá)到 首幀秒開(kāi)

          如果直播服務(wù)器支持 GOP 緩存,意味著播放器在和服務(wù)器建立連接后可立即拿到數(shù)據(jù),從而省卻跨地域和跨運(yùn)營(yíng)商的回源傳輸時(shí)間。

          服務(wù)器只需存儲(chǔ)上一個(gè)GOP即可,主播端在推最新的視頻流時(shí),會(huì)實(shí)時(shí)更新服務(wù)器保存的上一個(gè) GOP,以便客戶端會(huì)拿到上一次完整GOP,而完整GOP第一幀就是I幀

          GOP  體現(xiàn)了關(guān)鍵幀的周期,也就是兩個(gè)關(guān)鍵幀之間的距離,即一個(gè)幀組的最大幀數(shù)。假設(shè)一個(gè)視頻的恒定幀率是 24fps(即124幀圖像),關(guān)鍵幀周期為 2s,那么一個(gè) GOP 就是 48 張圖像。一般而言,每一秒視頻至少需要使用一個(gè)關(guān)鍵幀。

          1.3.3 關(guān)鍵幀設(shè)置頻率一般是多少?有沒(méi)有根據(jù)接入動(dòng)態(tài)設(shè)置?過(guò)長(zhǎng)首屏秒會(huì)很難做到。

          關(guān)鍵幀間隔越長(zhǎng),也就是 GOP 越長(zhǎng),理論上畫(huà)面越高清。但是生成 HLS 直播時(shí),最小切割粒度也是一個(gè) GOP,所以針對(duì)交互直播,通常不建議 GOP 設(shè)置太長(zhǎng)。直播一般 2 個(gè)關(guān)鍵幀間隔即可。比如幀率 24fps, 那么 2 個(gè)關(guān)鍵幀的間隔就是 48fps ,這個(gè) GOP 就是2s。

          為了幫助大家學(xué)習(xí)H65版直播技術(shù),特別邀請(qǐng)了前華為、OPPO 、阿里資深架構(gòu)師 David老師,為大家?guī)?lái)嗶哩嗶哩直播實(shí)戰(zhàn),手寫(xiě)直播實(shí)現(xiàn)到全方位優(yōu)化》,

          原價(jià)298元的《嗶哩嗶哩直播實(shí)戰(zhàn),手寫(xiě)直播實(shí)現(xiàn)到全方位優(yōu)化》訓(xùn)練營(yíng),現(xiàn)在限時(shí)優(yōu)惠只需要0.1元即可加入學(xué)習(xí)(限量100個(gè)名額

          大家手速要快,趕緊識(shí)別下方圖中二維碼加入學(xué)習(xí)!


          報(bào)名學(xué)習(xí)后還將附贈(zèng)一套系統(tǒng)的開(kāi)發(fā)進(jìn)階資料,幫助大家在技術(shù)的道路上更進(jìn)一步。



          趕緊掃碼報(bào)名獲取資料,開(kāi)啟你的學(xué)習(xí)之旅!
          (如遇掃碼頻繁+VX:woaini123susu

          瀏覽 41
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  俺也去色网 | 黄片免费网站 | 中文字幕在线观看网址 | 久久国产精品毛片 | 大尺度一区 |