ARRI阿莱是世界上知名的影视级产品供应商,其高清摄像机是国内外各种剧组的最爱。ARRI阿莱一般常见的视频格式是MOV,但是也有部分采用MXF结构的,最近我们连续处理了两个这方面的案例,全部都是正常拍摄,正常备份后发现文件无法打开。我们先来看看下边这个案例.
故障文件: ARRI专用MXF文件,大小35.1G
故障现象:
这个文件是众多素材中的一条,客户描述所有一切都是正常操作,结果发现此文件在达芬奇编辑软件中无法导入,直接了报错。
故障分析:
MXF类视频文件本来就是为了影视级而推出的,MXF是英文Material Exchange Format(素材交换格式)的缩语。MXF是SMPTE(美国电影与电视工程师学会)组织定义的一种专业音视频媒体文件格式。MXF主要应用于影视行业媒体制作、编辑、发行和存储等环节。目前索尼、佳能、松下一些日系品牌会在消费级产品中发布了MXF类摄像机,但是需要指出的是这一类厂商的MXF编码上完全向QT类(mov、mp4)看齐,索尼甚至引入了264类视频编码,所以这一类可以看成是通用编码类。而ARRI的视频编码和音频编码是专用的,ARRI自己对视频编码做了设计和优化,所以常见的FFMPEG类的播放器根本不支持解码。ARRI的MXF需要官方的播放器才能解码,同样像达芬奇一类的专业视频编辑软件也是支持ARRI的MXF的。
而在底层分析中同样也发现ARRI的MXF和常见的MXF在结构上也有差异,最奇特的就是RIP,其竟然采用了512对齐的方式。这个是普通MXF结构上看不到的。
另外,处理的两个案例似乎都是MINI类的机型:ARRI ALEXA mini,因为从客户反馈的信息看,基本上都是正常操作,因为尚不清楚是否是机器的软件BUG,使用此机型的朋友们可以关注下。
故障处理:
STEP1:先来看看报错的情况,使用ARRI官方的转换程序,打开文件报错”视频片段打开出错”
STEP2:WINHX分析发现前23952扇区全部为00
STEP3:对比正常的素材文件,发现
- 此文件使用3个分区的结构,头分区并不存储EC类数据,而是在BODY分区中
- 此文件视频和音频编码为ARRI专用,并非通用编码
- RIP采用512对齐
通过这些分析,再结合变成00的23952扇区,发现这部分正好是头部和BODY两个分区所在,涵盖了元数据和索引类数据和部分EC。没有元数据,就无法知道音视频编码、速率、时长这些重要的参数信息;没有索引数据就不清楚EC类的结构;这些全部是解码的基本信息,所以程序报错也就很正常了。
STEP4:对比分析后手工重建元数据,索引数据由于基数大,所以在搞清楚编码结构后编写程序,通过样本文件建立EC模型,再遍历损坏文件就可以得到EC索引数据,然后重新生成即可。通过处理后文件完美修复,客户非常满意!
可以看到已经可以正常解码了,时长和内容都正常。注意解码画面已经做了马赛克处理,并非原始画面。
这就是ARRI阿莱MXF文件损坏的修复方法,自定义的音视频编码+结构很值得记录!