由於把視頻編碼成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才會不一致:

參考文章: