圖文頻道業務是機頂盒軟體中的一個業務,它是以圖片加聲音的形式為電視使用者提供公司資訊、
產品資訊和相關知識等與觀眾生活息息相關的資訊。
圖文頻道業務的前身是廣告業務,在播放過程中每隔固定的周期,會更換圖片和聲音,且是同
步的,採用的是多協議封裝,需要解析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圖: