Op1a和Op1b格式的MXF文件的续写方法

文档序号:10655401阅读:1710来源:国知局
Op1a和Op1b格式的MXF文件的续写方法
【专利摘要】本发明公开了一种Op1a和Op1b格式的MXF文件的续写方法,包括以下步骤:判断MXF文件是否完整;若所述MXF文件不完整,则判断所述MXF文件的头部元数据是否完成,若所述头部元数据未完成,则重写所述头部元数据;寻找MXF文件中最后一个包含完整索引表段的文件体包,通过解析所述文件体包获取已写入的音视频帧数;继续写入音视频数据,并填充新的索引表段,记录音视频数据的索引信息;写入文件尾部包;改写头部元数据中需要改写时长参数的项。本发明通过续写的方法对不完整MXF文件进行处理,相比对不完整MXF文件的重写操作,大大缩短了处理时间,减少了工作量。
【专利说明】
0p1 a和0p1 b格式的MXF文件的续写方法
技术领域
[0001]本发明涉及MXF文件续写技术领域,特别是涉及一种Opla和Oplb格式的MXF文件的续写方法。
【背景技术】
[0002]MXF可以同时处理打包多条轨道的音视频和数据库文件,所以一个完整的MXF素材内容较多,且文件较大。在MXF文件的生成过程中,如果遇到断电或者其他情况,文件写入中断后,现有技术都是从头重新写入MXF文件,这样势必会有以下几个方面的缺点:
(1)重写MXF文件时,首先需要重新写入HeaderMetadata(头部元数据),头部元数据包含了描述主体的总体内容和单个节目片段的元数据组的结构,需要有专业的MXF文件知识背景才能写入正确,因此需要投入大量精力才能完成;
(2)如果需要生成的MXF文件很大,写入中断时有时可能文件已经写了大部分,若这时再从头开始写入,势必会费时费力,;而且,文件已经写到接近尾部时中断,这时只需再写入小部分音视频数据,然后再按照MXF标准写入FPP(文件尾部包)和RIP(随机索引包),即能成为一个可供媒体交换的完整素材,若重写此类文件几乎相当于又重新写了一个相同的完整文件,这是完全没有必要的;
(3)若重写MXF文件,由于不同文件编码格式的差异所需的描述信息不同,如果不懂解码所需信息的人在写入视音频数据描述信息时,有可能不清楚必须要写入的描述参数,重写时可能造成错误。

【发明内容】

[0003]本发明的目的在于克服现有技术的不足,提供一种Opla和Oplb格式的MXF文件的续写方法,通过续写的方法对不完整MXF文件进行处理,相比对不完整MXF文件的重写操作,大大缩短了处理时间,减少了工作量。
[0004]本发明的目的是通过以下技术方案来实现的:0pla和Oplb格式的MXF文件的续写方法,包括:判断MXF文件是否完整;若所述MXF文件不完整,则判断所述MXF文件的头部元数据是否完成,若所述头部元数据未完成,则重写所述头部元数据;寻找MXF文件中最后一个包含完整索引表段的文件体包,通过解析所述文件体包获取已写入的音视频帧数;继续写入音视频数据,并填充新的索引表段,记录音视频数据的索引信息;写入文件尾部包。
[0005]所述续写方法还包括:改写头部元数据中需要改写时长参数的项。
[0006]判断MXF文件是否完整的方法为:读取所述MXF文件的末尾的数据进行分析,判断所述MXF文件是否存在随机索引包,若所述MXF文件存在随机索引包,则认为所述MXF文件完整,否则认为所述MXF文件不完整。
[0007]若所述头部元数据完成,则记录头部元数据中需要改写时长参数的项在文件中的偏移量。
[0008]所述头部元数据中需要改写时长参数的项包括视音频序列和实际源素材。
[0009]所述续写方法还包括:判断是否写入完整的索引表段和随机索引包。
[0010]本发明的有益效果是:
(1)减少不完整MXF文件写入的工作量:不完整的MXF文件续写时,不需要重新写入头部元数据,而且已经写入的部分音视频数据就不需要再重写一遍,能够大大减少工作量;
(2)缩短不完整MXF文件写入的时间:已写入的音视频数据不需要重新写入,节省了大量时间,尤其是文件第一次写入块接近尾部的时候中断,续写此类文件相比重写此类文件,优势更是显而易见的;
(3)提高不完整的MXF文件的写入的可操作性:因为减少了头部元数据的重新写入,对于尾部需要写入视频描述信息和音频描述信息的MXF文件,只需要解析MXF文件头部中的头部元数据信息,复制写入即可。
【附图说明】
[0011 ]图1为本发明中Op I a和Op Ib格式的MXF文件的续写方法。
【具体实施方式】
[0012]下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
[0013]如图1所示,OpI a和Op I b格式的MXF文件的续写方法,包括以下步骤:
步骤一、判断MXF文件是否完整:读取所述MXF文件的末尾的数据进行分析,判断所述MXF文件是否存在随机索引包,若所述MXF文件存在随机索引包,则认为所述MXF文件完整,否则认为所述MXF文件不完整。
[0014]步骤二、若所述MXF文件不完整,则判断所述MXF文件的头部元数据是否完成,若所述头部元数据未完成,则重写所述头部元数据;若所述头部元数据完成,则记录头部元数据中需要改写时长参数的项在文件中的偏移量。通过记录需要改写时长参数的项在文件中的偏移量,方便后续改写时长时,直接根据记录的偏移量定位到需要改写数据的文件位置,无需再次解析头部元数据,节约了时间。
[0015]若所述MXF文件完整,则说明所述MXF文件无需进行续写。
[0016]所述头部元数据中需要改写时长参数的项包括视音频序列和实际源素材。
[0017]步骤三、解析MXF文件中的所有文件体包(BPP),寻找MXF文件中最后一个包含完整索引表段(Index Table Segment)的文件体包,通过解析所述文件体包获取已写入的音视频帧数。
[0018]步骤四、继续写入音视频数据,并填充新的索引表段,记录音视频数据的索引信息。
[0019]步骤五、写入文件尾部包。
[0020]所述续写方法还包括:改写头部元数据中需要改写时长参数的项,通过前文解析得到的视音频序列和实际源素材在文件中的偏移量进行定位,改写视音频序列和实际源素材中的时长项。
[0021]所述续写方法还包括:根据文件的具体格式判断是否需要写入完整的索引表段和随机索引包,对于需要写入完整索引表段和随机索引包的MXF文件,则进行索引表段和随机索引包的写入。
[0022]本发明基于MXF标准打包方式,通过解析MXF文件的物理结构和逻辑结构,能够简单、快速的实现对不完整MXF文件的处理,处理后的MXF文件能够正确播放及传输。通过续写的方法对不完整MXF文件进行处理,相比对不完整MXF文件的重写操作,大大缩短了处理时间,减少了工作量。
[0023]以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
【主权项】
1.0p I a和Op Ib格式的MXF文件的续写方法,其特征在于:包括: 判断MXF文件是否完整; 若所述MXF文件不完整,则判断所述MXF文件的头部元数据是否完成,若所述头部元数据未完成,则重写所述头部元数据; 寻找MXF文件中最后一个包含完整索引表段的文件体包,通过解析所述文件体包获取已写入的音视频帧数; 继续写入音视频数据,并填充新的索引表段,记录音视频数据的索引信息; 写入文件尾部包。2.根据权利要求1所述的OpI a和Op I b格式的MXF文件的续写方法,其特征在于:所述续写方法还包括:改写头部元数据中需要改写时长参数的项。3.根据权利要求1所述的OpIa和Op Ib格式的MXF文件的续写方法,其特征在于:判断MXF文件是否完整的方法为:读取所述MXF文件的末尾的数据进行分析,判断所述MXF文件是否存在随机索引包,若所述MXF文件存在随机索引包,则认为所述MXF文件完整,否则认为所述MXF文件不完整。4.根据权利要求1所述的Opla和Oplb格式的MXF文件的续写方法,其特征在于:若所述头部元数据完成,则记录头部元数据中需要改写时长参数的项在文件中的偏移量。5.根据权利要求2或4所述的Opla和Oplb格式的MXF文件的续写方法,其特征在于:所述头部元数据中需要改写时长参数的项包括视音频序列和实际源素材。6.根据权利要求1所述的OpI a和Op I b格式的MXF文件的续写方法,其特征在于:所述续写方法还包括:判断是否写入完整的索引表段和随机索引包。
【文档编号】G06F17/30GK106021565SQ201610376225
【公开日】2016年10月12日
【申请日】2016年5月31日
【发明人】侯小叶, 张金沙, 刘盾
【申请人】成都索贝数码科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1