视频流基础知识1-PSI/SI

在ts流转成es流的学习过程中,了解到PSI相关的基础知识在这里做一记录总结,方便以后查找和理解.

在数据传输前打包成MPEG-2的TS(传输流)包,这些TS包如果没有引导信息,接收端的解码器将无法找到需要的码流信息,因此MPEG-2专门定义了PSI(节目信息),PSI的作用自动设置和引导解码器进行解码

PSI/SI关键词

序号关键字全拼翻译备注
1PSIProgram Specific Information节目引导信息对单一码流的描述
2SIService Information业务信息对系统中所有码流的描述,包含了PSI(PSI+9张表)
3TS包Transport Packet传输包数字视音频、图文数据打包成TS包
4TSTransport Stream传输流(TS流)一个频道(多个节目及业务)的TS包复用后称TS流
5PATProgram Association Table节目关联表将节目号码和节目映射表PID相关联,获取数据的开始
6PMTProgram Map Table节目映射表指定一个或多个节目的PID
7CATConditional Access Table条件接收表将一个或多个专用EMM流分别与唯一的PID相关联
8NITNetwork Information Table网络信息表描述整个网络,如多少TS流、频点和调制方式等信息
9SDTService Description Table业务描述表包含业务数据(如业务名称、起始时间、持续时间等)
10BATBouquet Association Table业务群关联表给出业务群的名称及其业务列表等信息
11EITEvent Information Table事件信息表包含事件或节目相关数据,是生成EPG的主要表
12RSTRunning Status Table运行状态表给出事件的状态(运行/非运行)
13TDTTime&Date Table时间和日期表给出当前事件和日期相关信息,更新频繁
14TOTTime Offset Table时间偏移表给出了当前时间日期与本地时间偏移的信息
15STStuffing Table填充表用于使现有的段无效,如在一个传输系统的边界
16SITStuffing Information Table选择信息表仅用于码流片段中,如记录的一段码流,包含描述该码流片段业务信息段的地方
17DITDiscontinuity Information Table间断信息表仅用于码流片段,如记录的一段码流中,它将插入到码流片段业务信息间断的地方
  • PAT,PMT,CAT,NITPSI信息,由MPEG2标准定义,NIT是由SI标准规定
  • SDT,BAT,EIT,RST,TDT,TOT,ST,SIT,DITSI信息

业务(Service)与事件(Event)

业务就是指“频道”,事件就是“节目”.

举个例子:CCTV1是一个频道,也就是我们所说的“业务(Service)”;《新闻联播》是一个节目,也就是我们所说的“事件(Event)”。

SI信息的构成

SI信息内容是按照network(网络)→transport strem(传输流)→service(业务)→event(事件)的分层顺序描述

video_ts_SI

为了能有效地从众多的数据包中组织起SI信息,而使用了很多的标识。有Network_id(网络标识)、 Original_network_id(原始网络标识)、Transport_stream_id(传输流标识)、Service id(业务标识)、eventid_id(事件标识)、Bouquet_id(业务群组标识)。

  • 一个网络信息由network_id来定位。
  • 一个TS由network_id、Original_network_id、Transport_stream_id来定位,标明这个流在那个网络播发,它原属那个网络,并给它加上标识。
  • 一个业务由network_id、Original_network_id、Transport_stream_id、service_id来定位,标明这个业务在那个网络播发,它原属那个网络和那个流,并给它加上标识。这体现在SDT表中。
  • 一个事件由network_id、Original_network_id、Transport_stream_id、service_id、event_id来定位,标明这个事件在那个网络播发,它原属那个网络和那个流及那个业务,并给它加上标识。这体现在EIT表中。

SI和SI信息的各种表的PID

TablePID
PAT0x0000
CAT0x0001
TSDT0x0002
NIT,ST0x0010
SDT,BAT,ST0x0011
EIT,ST0x0012
RST,ST0x0013
TDT,TOT,ST0x0014
DIT0x001E
SIT0x001F

表是组成SI信息的一种数据结构。

由MPEG-2定义的TS里面,数据包携带了两类信息:

  • 一是音、视频等素材的数据,
  • 二是PSI表。

具有给定PID的数据包的有序排列就形成了TS 流。PSI表里的承载的内容主要是TS(本节目流)的描述参数。

由MPEG-2定义的PSI主要包含有三个表:PATPMTCAT。每个表都可作为一个或多个TS包的净荷插入TS中传送。

一个TS数据包的净荷为188个字节,当一个PSI/SI表的字节长度大于184字节时,就要对这个表进行分割,形成段(section)来传送。分段机制主要是将一个数据表分割成多个数据段。在PSI/SI表到TS包的转换过程中,段起到了中介的作用。由于一个数据包只有188字节,而段的长度是可变的,EIT表的段限长4096字节,其余PSI/SI表的段限长为1024字节。因此,一个段要分成几部分插入到TS包的净荷中。
video_ts_table

缩写

  • EPG(Electronic Program Guide) : 电子节目指南

参考

  • 【PSI/SI学习系列】2.PSI/SI深入学习1——预备知识
  • PSI/SI解析(各种id说明)
  • DVB-T Transport Stream :https://csie.ntut.edu.tw/labaspl/edu/MPEG2_TS(NCTU2)A.pdf