I.P.B与DTS.PTS
来源:互联网 发布:匈牙利算法时间复杂度 编辑:程序博客网 时间:2024/06/05 15:45
I.P.B
在音视频解码时,从Avpacket读取数据一帧一帧的数据,这些帧数据都是经过一定的算法进行压缩了的,根据压缩算法的分为I帧,P帧以及B帧。
I帧
I帧称为关键帧,属于帧内压缩帧,经过解压可以得到一帧完整的数据!压缩到原来的80%!
P帧
P帧称为前向预测帧,表示与上一帧的差别,需要缓存前面一帧才能得到完整的数据!可压缩到50%左右!
B帧
B帧称为双向预测帧,表示与上一阵以及下一帧的差别,需要缓冲上,下两帧的数据才能得到完整的数据!可以压缩到20%左右,解码当然也需要更多的时间!
获取帧的类型
我们可以通过下面的方式获取到帧的类型:
AVFrame->pict_typeAVPacket->flags & AV_PKT_FLAG_KEY
DTS与PTS
DTS与PTS是用来控制音视频解码与显示的时间戳,在
DTS
DTS代表解码时间戳,该值表示需要解码的时间!
PTS
PTS代表显示时间戳,该值表示需要显示的时间!
IPB与DTS,PTS的关系
在没有B帧的时候,DTS与PTS的顺序是一样的,有B帧则可能有差别,下面举个例子:
我们从流中读取的顺序: B帧依赖前一帧I以及后一帧P,先要读到I,P帧! I P B解码的顺序:读到一阵就显示,所以顺序如下: I P B 显示的顺序:I是B的前一帧,P是B的后一帧,顺序如下: I B P
0 0
- I.P.B与DTS.PTS
- I帧、P帧、B帧与PTS、DTS
- GOP|I|P|B DTS pts 概念
- I,B,P和dts,pts
- I,P,B帧和PTS,DTS的关系
- I,P,B帧和PTS,DTS的关系
- I,P,B帧和PTS,DTS的关系
- I,P,B帧和PTS,DTS的关系
- I,P,B帧和PTS,DTS的关系
- I,P,B帧和PTS,DTS的关系
- I, P, B帧和PTS, DTS的关系
- I,P,B帧和PTS,DTS的关系
- I,P,B帧和PTS,DTS的关系
- I,P,B帧和PTS,DTS的关系
- I,P,B帧和PTS,DTS的关系
- I,P,B帧和PTS,DTS的关系
- I,P,B帧和PTS,DTS的关系
- I,P,B帧和PTS,DTS的关系
- 两个链表的第一个公共结点
- Android简历模板
- PTA5-53 两个有序序列的中位数
- CCF之高速公路(java)
- 如何阅读SOUI源码
- I.P.B与DTS.PTS
- 5、web(js):JS中的$符号
- AngularJs常见内置指令 自定义指令
- 当Behavior 遭遇RecyclerView嵌套RecyclerView
- CCF 工资计算
- android:layout_gravity 和 android:gravity 的区别
- IDEA效率提升篇之自定义代码模板(一)
- Java -- Thread 和 Runnable 多线程
- 面向UI编程:ui.js 1.0 粗糙版本发布,分布式开发+容器化+组件化+配置化框架,从无到有的艰难创造