downgoon / -MPEG2-TS-HOWTO

0 stars 0 forks source link

TS流

TS流结构描述

TS文件与TS包

头部的PID字段

PID是TS流中唯一识别标志,Packet Data是什么内容就是由PID决定的

如果一个TS流中的一个Packet的Packet Header中的PID是0x0000,那么这个Packet的Packet Data就是DVB的PAT表而非其他类型数据(如Video、Audio或其他业务信息)。

下表给出了一些表的PID值,这些值是固定的,不允许用于更改。

TS Pack 头部样例

下面以 一个TS流其中一个Packet 中的Packet Header(固定为4字节)为例进行说明:

回顾总结

TS流是由一个个Packet(包)构成的,每个包都是由Packet Header(包头)和Packet Data(包数据)组成的。其中Packet Header指示了该Packet是什么属性的,并给出了该Packet Data的数据的唯一网络标识符PID


特殊的Packet: PATPMT

说完了TS流的基本概念,就该开始对TS流进行更深入的研究了。首先需要想一想:TS流的本质是什么?它的确是一段码流,并且是一段由数据包(Packet)组成的码流。那么这些数据包究竟是怎样的呢?它和我们收看的电视节目之间又有什么区别?这些都是这部分需要了解的内容。

在上一节中,我们可以看到PID这个被标红的字段频繁地出现。PID是当前TS流的Packet区别于其他Packet类型的唯一识别符,通过读取每个包的Packet Header,我们可以知道这个Packet的数据属于何种类型。上一节列出了几项固定的PID值,它们用于识别存储了特殊信息的Packet。下面要谈的PAT表的PID值就是固定的0x0000。

参考资料