test1

来源:互联网 发布:python webpdf 编辑:程序博客网 时间:2024/05/20 11:24

2  PAT数据结构如下:
program_association_section() {
   table_id                                // 8
   section_syntax_indicator                // 1
   '0'                                     // 1
   reserved                                // 2
   section_length                          // 12
   transport_stream_id                     // 16
   reserved                                // 2
   version_number                          // 5
   current_next_indicator                  // 1
   section_number                          // 8
   last_section_number                     // 8
   for (i=0; i<N;i++) {
       program_number                         // 16
       reserved                               // 3
     if(program_number == '0') {
         network_PID                           // 13
       }
     else {
        program_map_PID                       // 13
      }
  }
 CRC_32                                  //  32
}

table_id  固定为0x00 ,标志是该表是PAT

section_syntax_indicator 段语法标志位,固定为1

section_length         表示这个字节后面有用的字节数,包括CRC32。假如后面的字节加上前面的字节数少于188,后面会用0XFF填充。假如这个数值比较大,则PAT会分成几部分来传输。

transport_stream_id    该传输流的ID,区别于一个网络中其它多路复用的流。

version_number范围0-31,表示PAT的版本号,标注当前节目的版本.这是个非常有用的参数,当检测到这个字段改变时,说明TS流中的节目已经变化了,程序必须重新搜索节目.

current_next_indicator 表示发送的PAT是当前有效还是下一个PAT有效。

section_number分段的号码。PAT可能分为多段传输,第一段为00,以后每个分段加1,最多可能有256个分段

last_section_number 最后一个分段的号码

 program_number 节目号

network_PID 网络信息表(NIT)的PID,网络信息表提供了该物理网络的一些信息,和电视台相关的。节目号为0时对应的PIDnetwork_PID

program_map_PID 节目映射表的PID,节目号大于0时对应的PID,每个节目对应一个

CRC_32   CRC32校验码

上面program_numbernetwork_PIDprogram_map_PID 是循环出现的。program_number等于0时对应ne