因爲把視頻編碼成I,B,P等幀,以下圖
假設如今有I,B,P幀,那麼要傳輸和顯示呢??
若是按照顯示順序傳輸的話:
傳輸順序就是I->B>P
當對B幀進行解碼後,因爲B幀沒法單獨顯示,只能等待後面的P幀
若是不按照順序傳輸,按照解碼順序傳輸的話:
傳輸順序就是I->P->B
不管用哪一種方式傳輸和顯示,一旦有了B幀這個東西,就都須要告訴對方何時該顯示這幀
因而就有了PTS和DTS,即Presentation Time Stamp和Decode Time Stamp
PTS告訴對方何時該顯示這幀,而DTS則告訴何時該解碼這幀
若是沒有B幀的狀況,PTS和DTS都是同樣的:
有B幀的狀況下,PTS和DTS纔會不一致:
參考文章: