当前位置: 代码迷 >> 多媒体/流媒体开发 >> 怎么抽取mpeg2 里面的I帧
  详细解决方案

怎么抽取mpeg2 里面的I帧

热度:5127   发布时间:2013-02-26 00:00:00.0
如何抽取mpeg2 里面的I帧?
难道是按照13818-2的第6章规定的格式一点点编程解析Slice,
Macroblock,Block,然后把他们拼接起来么?

我不想知道I帧详细的参数,有没有一下子就定位到
全体数据的地方?是不是不可能呀?


------解决方案--------------------------------------------------------
TS流还是PS流? 简单的话直接搜picture header定位头和尾
------解决方案--------------------------------------------------------
slice,block都是picture data的一部分, 你只要找后面的picture header, gop header, sequence header之类的就行了,pic header到这些header中间就是一个picture data

这个仅仅是针对PS流,如果是TS流,那么需要把TS packet解开重新扒出picture data然后再重新组成TS packet, 那个就复杂了
------解决方案--------------------------------------------------------
关注
------解决方案--------------------------------------------------------
是TS分割后的纯数据长度

你可以简单的理解为PS是TS扒出的纯PES的数据
------解决方案--------------------------------------------------------
不需要分成2个header, 只要按顺序丢进TS包里就可以
我建议你自己去下个TS流和TS 解析工具自己研究一下,TS packet header里有个标记表示本packet里是否含有picture header的
------解决方案--------------------------------------------------------
学习。