ES流、PES流、PS流和TS流介绍

流媒体系统结构

在这里插入图片描述
整个传输过程为:音视频数据分别通过图像声音编码器打包成ES(elemental stream 基本数据流),在通过PES打包器打包成PES(packet elemental stream分组的基本数据流),之后通过PS复用器将节目流打包成PS流,通过TS复用器将传输流打包成TS流。

概念

1、TS流:传输流,主要用于相对有错的环境下的传输与存储,如DVB

2、PS流:节目流,主要用于相对无错的环境下的传输与存储,如DVD

3、ES流:也叫基本码流,包含视频、音频或数据的连续码流

4、PES流:也叫打包的基本码流,是将基本的码流ES流根据需要分成长度不等的数据包,并加上包头就形成了打包的基本码流PES流。

5、封装 : 就是捆绑打包,将画面视频文件和音轨文件打包在一起,并按照一定规则建立排序和索引,便于播放器或播放软件来索引播放,包括AVI / PS(Program Stream)/ TS(Transport Stream)/ MKV(Matroska)等。

TS流

TS流(Transport Stream),也叫传输流,是由固定长度为188字节的包组成,含有独立时基的一个或多个program, 一个program又可以包含多个视频、音频、和文字信息的ES流;每个ES流会有不同的PID标示,而又为了可以分析这些ES流,TS有一些固定的PID用来间隔发送program和ES流信息的表格—PAT和PMT表。

在MPEG-2系统中,由视频、音频的ES流和辅助数据复接生成的用于实际传输的标准信息流称为MPEG-2传送流。

组成传输流的是一系列连续的数据包,简称TS包。TS包的长度固定,一般是188字节。如果在这种TS包的尾部加入16字节的RS纠错码,则包长为204字节。

传输流这种机制可将多路节目复用成一个流,并且,同一节目还可以包含多个视频和音频流。每一个TS包都有一个包标识PID,同一基础流对应的TS包,PID的值相同。TS流就是通过对各个基础流分配不同的PID号来唯一的标识各个不同的基础流、信息表和其它数据。每一个TS包最多只能包含一路基础流的内容。

组成节目的视频流和音频流经过基础流编码器之后,形成基本流,每一路视频流或音频流对应一路基本流。基本流经过打包,形成PES包流。每一个PES包都有流标识、用于视、音频解码和播放同步的时戳。PES包和其它的数据、控制信息经过复用器,形成TS包。

在这里插入图片描述
在这里插入图片描述
为了实现众多编码器与解码器之间的时钟同步,防止解码器的缓冲发生上溢或下溢,在系统流中加入了一个精确的系统级时间参考值,在TS流中,这个值被称为节目参考时钟PCR。在解码器端,当检测到本地系统时钟和PCR所表征的时钟不一致时,解码器将调整本地系统时钟。

猜你喜欢

转载自blog.csdn.net/johnWcheung/article/details/125627184