TS流 系列日记(4)TS流的PSI/SI 深入学习-3

转发

SDT解析

"SDT描述了业务内容及信息,连接了NIT与EIT和PMT(PSI)"

SDT即服务描述表(Service Description Table),它描述了一个业务中的内容以及信息,它承上启下,以transport_stream_ID连接了NIT和EIT;SDT的servicID必须与PMT中的Program_no一致,因此,SDT又与PSI的信息连接。
对于一般的音视频业务,SDT表中不会有太多的信息需要添加。如果是其他业务(如NVOD、马赛克、数据广播等),在SDT中需要插入相应业务的描述符。

SDT是描述一个TS流中所有业务信息的一张表,重要的字段包含transport_stream_id,明确这些业务是属于哪个TS流的;另一个重要字段时候service_id,这是作为频道索引信息存在的。

SDT的实例分析

这里主要演示SDT如何连接PSI和NIT。


image

首先,根据SDT描述符的service_id可以和PMT中的program_number建立连接。如图所示,SDT的service_id=201=0xc9,与PMT中的program_number一致。

上图所示,根据SDT的transport_stream_id和NIT的transport_stream_id,可以将SDT和NIT联系起来。根据上图的信息,我们可以根据SDT获取该业务(频道)的业务列表信息和有线传输信息(位于NIT中)。

EIT解析

"EIT按时间顺序提供每一个业务所包含的事件信息"

EIT即事件信息表(Event Information Table),它是EPG中绝大部分信息的携带者。事实上,EPG主要就是通过SDT和EIT信息的获取和重组实现的。SDT只提供了频道信息,而EIT则提供各频道下的所有节目的信息。

EIT的主要信息也是通过插入的描述符来实现的。EIT按照时间顺序提供每一个业务所包含的事件的相关信息(如节目名称、节目简介)。
按照不同的table_id,一共有四类EIT。其中,当前TS流的所有EIT子表都有相同的transport_stream_id和original_stream_id。下图给出了一个实例的码流中的EIT信息,这里一共有三类EIT表,观察其table_id就可以知道它们代表什么类型的EIT。

image

第一个EIT_PF_Actual应该是当前TS流的“当前/后续事件信息”;第二个EIT_PF_Other是其他TS流的“当前/后续事件信息”;第三个EIT_Schedule_Actual是当前TS流的“事件时间表信息”。

你可能感兴趣的:(TS流 系列日记(4)TS流的PSI/SI 深入学习-3)