中国纺织服装行业分析:如何从TS流中找到OC数据

来源:百度文库 编辑:中财网 时间:2024/04/29 22:28:01
如何从TS流中找到OC数据  OC(dsm-cc object carousel):是将“对象结构”从广播服务器传输到客户端的一种传输机制。OC object主要包括:
 1、directory objects(文件夹)
 2、file objects(文件)
 3、stream objects.(流文件[不常用])OC服务器将文件按MPEG-2生成TS流,通过广播网络传输到客户端。1.如何从ts流中找到OC数据     PAT中包含有多个program,每一个program即我们所说的一个应用
通过PAT可以找到对应的PMT,每一个PMT包含有一个program,
在一个program中含有多个es数据,每个es数据都有标示其类型的信息字段stream-type,
当这个字段为0x0b的时候,表示其为一个含有oc数据的es数据。
即:通过它的elementary-pid可以找到这个oc数据的packets。oc数据都至少含有DSI,DII,DDB的信息,他们都是协议中提到的message。
在上表中,当table_id为0x3b时,表示该section为DSI或者DII的一个section
当table_id为0x3c的时,表示该section为DDB的一个section
在last_section_number之后除crc的数据之外,就是我们需要的message数据片断。每个message都有一个header。
DSI,DII的header为dsmcc Message Header。
DDB的header为dsmcc DownloadDate Header。
两个header的格式基本相同。DSI(DownloadServerInitiate message):其包含一个ServiceGatewayInfo,
它会提供一个对象的参考给ServiceGateway object。DII(DownloadInfoIndication message)
DII中存储着所有module的相关信息,
如module id,module size,module version,module info等。DDB(DownloadDateBlock message)
DDB为module数据的一个片断单位。多个DDB数据组成一个module。Module中存储着oc数据的内容,它是由多个DDB组成的
Module中存储的数据类型为我们前面所说的oc数据的object,
即directory object、file object、stream object
这些object 都是由满足biop的规范message数据段封装,其包括
Biop directory message
Biop file message
Biop stream message
一个module中,可以存储一个或者多个message。
目前我们将一个module的大小定为64KB;当遇到特大文件,module最大为256KB。
对于特大的文件,我们将会把它生成两个message,放入两个module中,
message之间会用big file descriptor进行描述 。这时一个module只能存储一个message。 form http://wqxdd.pdx.cn/blog/