由于产品开发的需要,近期工作涉及到3D蓝光影碟中的SSIF文件解析;
发现目前关于SSIF的资料真是太少了,可供程序员参考的资料则更少;
分析了一下,资料这么少的原因有2个:
第一点,蓝光组织没有免费开放SDK;(获取SDK需加入组织,需要交纳权利金,需要保证不为盗版留漏洞)
第二点,目前盗版3D蓝光影碟不太多;(有需求才有开发,即使开源软件开发者也优先开发需求量大的软件)
不过,我经过近期的努力,已经基本掌握的SSIF文件的解析方法,并且编写了DirectShow下的Parser过滤器;
以下内容比较粗疏,仅供各位同行参考:
1.访问单元:SSIF文件是192字节规格的MPEG2-TS文件,每32个TS包组成一个[访问单元],所以,一个
访问单元是192*32=6144字节,对SSIF文件的应该以6144字节的整倍数读取;
2.传输流解析:对于SSIF的每个192字节的TS包,忽略前面的4个字节,后面的188字节按照标准TS解析
方法,和其他TS流一样,它也包含PAT和PMT以及PES流;不过对于SSIF文件,只有一个[节目],也就
是说,只有一个PMT流,但是对于PMT的内容要注意,如果遇到第一个完整的PMT的section就认为OK,
那么就会无法识别MVC的PES流(有些SSIF的PMT的第一个Section不包括MVC流),所以,要继续读
取后续的PMT数据,直到遇到PMT声明MVC流信息为止;(具体原因是:SSIF文件是由M2TS文件和扩
展数据交错组成的