短視頻直播系統(tǒng),什么是DTS和PTS,它們對(duì)直播有什么影響
DTS,解碼時(shí)間戳,這個(gè)時(shí)間戳的意義在于高速播放器該在什么時(shí)候解碼這一幀的數(shù)據(jù),PTS指的是顯示時(shí)間戳,這個(gè)時(shí)間戳用來高速短視頻直播系統(tǒng)該在什么時(shí)候顯示這一幀數(shù)據(jù)。雖然兩者都是用于指導(dǎo)播放端的行為,但它們是在編碼的時(shí)候由編碼器生成的。
?

一、實(shí)際應(yīng)用
由于短視頻直播系統(tǒng)在視頻采集的時(shí)候是錄制一幀就編碼一幀發(fā)送一幀的,在編碼的時(shí)候會(huì)生成PTS,這里需要注意的是幀的編碼方式,在通常的場景中,編解碼器編碼的一個(gè)I幀,然后向前跳過幾個(gè)幀,用編碼I幀做為基準(zhǔn)幀對(duì)一個(gè)未來P幀進(jìn)行編碼然后跳回到I幀之后的下一個(gè)幀。
編碼的I幀和P幀之間的幀被編碼成B幀,之后編碼器會(huì)再次跳過幾個(gè)幀,使用第一個(gè)P幀做為基準(zhǔn)幀編碼另外一個(gè)P幀,然后再次跳回,用B幀填充顯示序列中的空隙。
?

二、音視頻同步
短視頻直播系統(tǒng)除了要處理視頻外,還需要處理音頻,音頻的播放也涉及到DTS、PTS等概念,不過音頻沒有關(guān)鍵幀一說。
想要實(shí)現(xiàn)音視頻同步,通常短視頻直播系統(tǒng)需要選擇一個(gè)參考時(shí)間,參考實(shí)現(xiàn)是線性遞增的,編碼音視頻流時(shí)可以依據(jù)這個(gè)時(shí)鐘上的時(shí)間給每幀數(shù)據(jù)打上時(shí)間戳。在播放時(shí),短視頻直播系統(tǒng)讀取數(shù)據(jù)幀上的時(shí)間戳,同時(shí)參考當(dāng)前參考時(shí)間來安排播放,這里說到的時(shí)間戳就是PTS。
?

三、音頻的編解碼
1、解協(xié)議:將流媒體協(xié)議的數(shù)據(jù),解析為標(biāo)準(zhǔn)的相應(yīng)的封裝格式數(shù)據(jù)
2、解封裝:將輸入的封裝格式的數(shù)據(jù),分離成音頻流壓縮編碼數(shù)據(jù)和視頻流壓縮編碼數(shù)據(jù)
3、解碼,將視頻、音頻壓縮編碼數(shù)據(jù),解碼成為非壓縮的音視頻原始數(shù)據(jù),音頻的標(biāo)準(zhǔn)格式為AAC、MP3等,視頻的標(biāo)準(zhǔn)格式為H.264等,通過解碼視頻數(shù)據(jù)輸出成為非壓縮的顏色數(shù)據(jù)。
聲明:以上內(nèi)容為云豹科技作者本人原創(chuàng),未經(jīng)作者本人同意,禁止轉(zhuǎn)載,否則將追究相關(guān)法律責(zé)任