1、ES流(Elementary stream),原始码流。是经过A/D转换、编码后输出的数据流,是直接从编码器输出的数据流;
1)ES经过PES打包,转换为PES包。
2)ES是只包含一种内容的数据流,如音频数据或视频数据。
3)打包后的PES流也只包含一种内容。
2、PES流(Packet Elementary stream),打包后的基本码流。ES流形成的分组叫PES分组,是用来传输ES的一种数据结构。
1)将基本码流ES根据需要分成长度不同的数据包,加上包头得到基本码流的PES流;
2)PES包 = PES包头+ payload ( ES码流数据 )。
3)PTS/DTS在PES包头中,解决音视频同步。
3、PTS/DTS
1)PTS(presentation timestamp, 显示时间标记),表示显示单元(音视频帧)出现在系统目标解码器的时间。
2)DTS(decoding timestamp, 解码时间标记),表示将存取单元全部字节从解码缓存器移走的时间。
3)音视频同步:PTS/DTS + SCR(系统参考时钟) 、由系统时钟获得System time clock
4、TS流 (传输流 transmit stream)
1)TS流由TS包组成(188个字节),TS包是对PES包在一次包装。
2)将一个PES包拆分为多个固定大小的TS包。
5、PS流 (节目流program stream),将具有相同时间基准的一个或多个PES包复合而成的单一的数据流称为节目流。
1)PS流由PS包组成,一个PS包由若干PES包组成。
2)一个PS包= PS头 + payLoad(可以是多个PES包,可以是音频、视频PES包)
6、TS与PS的区别
1)TS流的包结构长度固定为188个字节;PS流的包长度可变。
2)TS流适应于网络差的环境传输“媒体流”;PS流适用于网络好的环境传输“媒体流”