1)ES
ES--Elementary Streams (原始流)是直接从编码器出来的数据流,可所以编码过的视频数据流(H.264,MJPEG等),音频数据流(AAC),或其他编码数据流的统称。ES流经过PES打包器之后,被转换成PES包。
ES是只包含一种内容的数据流,如只含视频或只含音频等,打包之后的PES也是只含一种性质的ES,如只含视频ES的PES,只含音频ES的PES等。每个ES都由若干个存取单位(AU)构成,每个视频AU或音频AU都是由头部和编码数据两项目组构成,1个AU相当于编码的1幅视频图像或1个音频帧,也可以说,每个AU实际上是编码数据流的显示单位,即相当于解码的1幅视频图像或1个音频帧的取样。
2)PES
PES--Packetized Elementary Streams (分组的ES),ES形成的分组称为PES分组,是用来传递ES的一种数据布局。PES流是ES流经过PES打包器处理惩罚后形成的数据流,在这个过程中完成了将ES流分组、打包、参加包头信息等操纵(对ES流的第一次打包)。PES流的根蒂根基单位是PES包。PES包由包头和payload构成。
3)PTS、DTS
PTS--PresentationTime Stamp(显示时候标识表记标帜)默示显示单位呈如今体系目标(H.264、MJPEG等)的时候。
DTS--Decoding Time Stamp(解码时候标识表记标帜)默示将存取单位全部字节从解码缓存器移走的时候。
PTS/DTS是打在PES包的包头里面的,这两个参数是解决音视频同步显示,防止输入缓存上溢或下溢的关键。每一个I(关键帧)、P(猜测 帧)、B(双向猜测 帧)帧的包头都有一个PTS和DTS,但PTS与DTS对于B帧不一样,无需标出B帧的DTS,对于I帧和P帧,显示前必然要存储于视频的从头排序缓存器 中,经过延迟(从头排序)后再显示,所以必然要分别标明PTS和DTS。
4)PS
PS--Program Stream(节目流)PS流由PS包构成,而一个PS包又由若干个PES包构成(到这里,ES经过了两层的封装)。PS包的包头中包含了同步信息与时钟恢复信息。一个PS包最多可包含具有同一时钟基准的16个视频PES包和32个音频PES包。
5)TS
TS--Transport Stream(传输流)由定长的TS包构成(188字节),而TS包是对PES包的一个从头封装(到这里,ES也经过了两层的封装)。PES包的包头信息依然存在于TS包中。
TS流与PS流的差别在于TS流的包布局是固定长度的,而PS流的包布局是可变长度的。 PS包因为长度是变更的,一旦丧失某一PS包的同步信息,接管机就会进入失步状况,从而导致严重的信息损出事务。而TS码流因为采取了固定长度的包布局, 当传输误码破损了某一TS包的同步信息时,接管机可在固定的地位检测它后面包中的同步信息,从而恢复同步,避免了信息丧失。是以在信道景象较为恶劣、传输 误码较高时一般采取TS码流,而在信景象较好、传输误码较低时一般采取PS码流。
6)TS单流、混淆码流
单一性:TS流的根蒂根基构成单位是长度为188字节的TS包。
混淆性: TS流由多种数据组合而成,一个TS包中的数据可所以视频数据,音频数据,填充数据,PSI/SI表格数据等(独一的PID对应)。
二、根蒂根基流程
![ES、PES、PS以及TS码流]()
1)A/D转换后,经由过程MPEG-2紧缩编码获得的ES根蒂根基流。这个数据流很大,并且只是I,P,B的这些视频帧或音频取样信息。
2)经由过程PES打包器,打包并在每个帧中插入 PTS/DTS标记,变成PES。本来是流的格式,如今成了数据包的分别情势。
3)PES按照须要打包成PS或TS包进行存储(DVD)或传输(DVB)。因每路音/视频只包含一路的编码数据流,所以每路PES也只包含响应的数据流。
![](https://img-blog.csdn.net/20151203163932880?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20151203163627563?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)