ffmpeg源码分析--10.视频帧IPB

1950阅读 0评论2016-05-10 wangcong02345
分类:LINUX

1. 解释I帧 P帧 B帧
I frame:(intra picture)自身可以通过视频解压算法解压成一张单独的完整的图片。
P frame:(predictive-frame)需要参考其前面的一个I frame 或者B frame来生成一张完整的图片。
B frame:(bi-directional interpolated prediction frame)则要参考其前一个I或者P帧及其后面的一个P帧来生成一张完整的图片。
2.PTS与DTS
PTS:(Presentation Time Stamp),即音视频帧的显示时间
DTS:(Decode Time Stamp),即音视频帧的解友时间
3. PTS与DTS的应用
媒体文件中帧的存储如IPBB,但显示时是IBBP,这就需要一个解码时间戳dts和一个显示时间戳pts来告诉播放器。
file:    I P B B    存储
DTS:  1 2 3 4    先解码I, 再P, 再B, 最后B
PTS:   1 4 2 3   先显示I, 再B, 再B, 最后P




上一篇:ffmpeg源码分析--9.av_read_frame
下一篇:ffmpeg源码分析--11.mov的mov_read_header