视频流TS打包方式详解
前文介绍过PS流打包详解,从中可以看到PES的详细打包方式,TS流实际上是在PES之上进行封装,加上PAT、PMT等PSI信息表组成,HLS切片文件一般是TS流封装的音视频文件,这里主要介绍下TS流封装方式
TS流包头封装
TS流(Transport Stream),是对PES包的进一步封装,基本单位为TS包,固定包大小为188字节(或204字节,在188字节后加上16字节的CRC校验数据),由TS包头和payload组成;其组成如下图:
TS包头由4bytes的固定头和其后的附加域(adaption field)组成,按照字节顺序解释如下:
- sync_byte:同步码,其大小为固定8个bit,值为0x47
- transport_error_indicator:错误标志位,占位1bit,置为1表示此分组中至少有一个不可纠正的错误,一般为0
- payload_unit_start_indicator:负载开始标志位