关于视频编码I P B帧存储,编码,解码,显示顺序的理解
假设从摄像头采集,采集顺序 12345最终编码结果是:1编码成I帧,2,3,4编码成B帧,5编码成P帧。视频帧采集后,经过编码器encode以及mux成容器格式,编码和存储过程如下:编码:1)先编码 1,编成I帧2)2,3,4准备编码成b帧,先缓存下来,记录下采集的时间点,后续作为pts基准3)再编码 5,编成P帧,(注意5虽然先编码,dts相对2,3,4靠前,但是它...
·
假设从摄像头采集,采集顺序 1 2 3 4 5 ,最终编码结果是:1编码成I帧,2,3,4编码成B帧,5编码成P帧。
让我们来看下编码,存储以及解码,显示的具体步骤:
视频帧采集后,经过编码器encode以及mux成容器格式,编码和存储过程如下:
编码:
1)先编码 1,编成I帧
2)2,3,4准备编码成b帧,先缓存下来,记录下采集的时间点,后续作为pts基准
3)再编码 5,编成P帧,(注意5虽然先编码,dts相对2,3,4靠前,但是它的采集时间比2,3,4要晚,所以pts大于2,3,4)
4)编码 2, 3, 4 ,编成B帧
编码后立即经过mux写文件,所以存储顺序和编码顺序是一致的,编码后的顺序为(dts顺序)
1 5 2 3 4
I P B B B
视频保存下来后,如果通过player播放,需要解码和渲染,解码和显示的过程如下:
解码:(按照dts顺序)
1 5(参考1) 2(参考1,5) 3(参考1,5) 4(参考1,5)
解码后重新排序(按照pts),显示
1 2 3 4 5
更多推荐
已为社区贡献1条内容
所有评论(0)