图文频道业务是机顶盒软件中的一个业务,它是以图片加声音的形式为电视用户提供企业信息、
产品信息和相关知识等与观众生活息息相关的资讯。
图文频道业务的前身是广告业务,在播放过程中每隔固定的周期,会更换图片和声音,且是同
步的,采用的是多协议封装,需要解析PAT、PMT、DSI、DII和DDB。
前期准备:
通过servict type在SDT表找到对应的serviceID和TS_ID,再通过TS_ID在NIT表中找到频点
信息,并保存为后期搜索做准备。
后期搜索:
(1)锁频后,下载PAT,通过serviceID找到PMT的PID。
(2)通过PID寻址,即可下载PMT,在PMT中解析出图文频道DSI、DII和DDB的PID,及指
向PID的Tag。在PMT中的association_tag_descriptor()描述符中的use == 0x0000时,可得到DSI
的PID和Table_id_extension(ModuleID)。并将这些数据放入缓存。
注:此种方法得到DSI的ModuleID不太可靠(协议中有提),另外一种方法是:ModuleID <= 1。
(3)由DSI的PID、table_id = 0x3B和table_id_ extension(ModuleID),即可下载到DSI。DSI中描
述了DII的Tag和根目录Root中的ModuleID。
(4)根据DSI中的Tag在PMT中查寻到时DII的PID,由DII的PID、table_id = 0x3B和ModuleID>1,
即可下载到DII。DII中描述了所有的文件对象的ModuleID、Tag和文件对象的个数。
此时,即可统计出该项业务在传输流中所有的PID、tableID和ModuleID。
(5)通过DSI中Root的ModuleID在DII中找到相应的Root的Tag,再通过Tag在PMT中找到Root的PID,
根据找到的PID、table_id = 0x3C和Root的ModuleID即可下载Root,Root中描述了所有文件的ModuleID
和文件名(FileName)。
关键ER图: