PES、PSI、DVB(一)

TS包中根据payload unit start indicator来判断这个包中是否有PES、PSI分组

然后再去看data_byte前24位,是否为0x000001即pes_packet_start_code_prefix,如果不是,那就是psi包

PES、PSI、DVB(一)_第1张图片

PES、PSI、DVB(一)_第2张图片

然后解析PSI中的各自表,其中最主要的是PMT,table_id是0x02,获取里面的descriptor

而descriptor的语法定义,就在于各自的DVB标准

中国一般用欧洲的DVB标准

就是传说中说设备支持DVB美标、日标之类的东西就在这里面做

 

其实TS就是相当于网络传输中的协议,只要用于数据传输的,必定有自己一套通话解析标准

只不过TS精确到位的取值(1bit)

而网络协议一般精确到字符的取值(8bit)

 

懂一点就差不多懂全局了

 

测试程序后续补上

你可能感兴趣的:(PES、PSI、DVB(一))