搜索
 找回密码
 立即注册

简单一步 , 微信登陆

如何判断I,B,P帧信息

作者:yuanqinhao | 时间:2017-12-29 18:11:47 | 阅读:2783| 显示全部楼层
TS流里在那里能找到I,B,P帧信息呢?
1.根据TS包头中的PID找到TS流里的PAT表,其TS的PID为0x00;
2.找到PAT表后,根据其中携带的PMT表的TS包PID找到PMT表;
3.找到PMT表后,根据其中携带视频的TS包PID就可以判断出包含视频数据的TS包;
4.对于mpeg-1和mpeg-2视频,一般在TS复用时一个PES包包含一个picture,对于mpeg-2   video,picture可以是桢图像(frame)或场图像(field)
5.找到视频TS包中一个包含PES头的TS包(PID为PMT中的视频PID,TS包头中payload_unit_start_indicator标志为1),这个包里会包含picture   header信息
6.找到picture   header(以0x00000100开始)后,根据其中的picture_coding_type信息判断其为I,P,B或D桢,注意,D桢只在mpeg-1   video中使用

有关TS,PES,PAT,PMT信息见13818-1,有关picture   header,picture_coding_type信息见13818-2和11176-2

我根据取得的ES包找到00000100,然后根据其后2个字节的第11-13位判断,001是I帧,011是B帧,010是P帧

新一天开始
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册
手机版