图解DTS和PTS

由于把视频编码成I,B,P等帧,如下图
 
图解DTS和PTS_第1张图片
假设现在有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都是一样的:
 
  图解DTS和PTS_第2张图片
有B帧的情况下,PTS和DTS才会不一致:
 
  图解DTS和PTS_第3张图片
参考文章:
http://www.cnblogs.com/qingquan/archive/2011/07/27/2118967.html
https://en.wikipedia.org/wiki/Video_compression_picture_types#Predicted_frames/slices_(P-frames/slices)

你可能感兴趣的:(图解DTS和PTS)