1. 对于Ts流的解析网上博客较多,但是核心和难点字段讲的并不深入。本文将讨论Ts解析的几个关键词(或者说不好理解的难点):
- adaption_field_control,
- payload_unit_start_indicator,
- continuity_counter ,
- transport_error_indicatorl,
- pointer_field
对于包的解析我们应该首先明确的是一下几种可能:
- 这里是列表文本 TS包按功能分为链接头,适配域,净荷。
- 链接头的长度固定,4个字节
- 适配域的长度从0字节到184字节可变,可以没有,也可以扩展到整个TS包
- 净荷数据的长度从0字节到184字节可变。
- 整个TS流是由许多长度为188字节的TS包周期性的排列而形成的。
- 链接头包含4个字节的内容,主要负责TS包的同步、各种ES流的表示、TS包传输差错的检测和条件接收等功能。
2.payload_unit_start_indicator 标志PES包头以及包含节目特定信息的表(PMT,PAT)的头是否出现在该包中,在失步后的重 新同步中起着重要的作用。
要说明的是一个Ts包往往是放不下一个PES包的,那就需要截取发送,那么截取出来的包中,肯定有的是含有包头的,但是有的是不含有包头的 这个区分是靠这个字段的。所以在解析的时候,如果他置1,那么他后面的就是一个包头,既然是包头,那就可以进一步的解