ARRI阿莱MXF(ALEXA Mini LF)多碎片重组案例

news/2024/7/7 21:13:14

三大影视巨头ARRI、RED、ATOMOSARRI阿莱的设备以提供电影级的画质而在影视圈有很大的名气。ARRI的文件一般是两种,一种是高清MOV(苹果为ARRI专门出过特殊认证的编码);一种是高清MXF;相比之下MXF文件比较少见。下边我们看一个8T硬盘不断写入文件再覆盖导致碎片多的恢复案例。

故障存储:8TB硬盘/APFS文件系统/簇大小8sec

故障现象:

磁盘写满做了格式化操作,写入了一些数据,后发现有近20条重要素材没有备份。

故障分析:

实际硬盘的大小为7.28T,格式化后写入了691.84G的数据,需要的20条素材据客户回忆大小也在600多G左右,所以不太确定数据是否还在。和客户沟通后,提出其通过某款苹果恢复软件恢复了10条约100G的文件,但这10条数据能确定的是比较小,另外有10条素材是比较大的,只找到了文件但是无法正常播放和编辑。

先分析了下ARRI MXF的文件结构,之前有修复过此类文件的经验(参考《ARRI阿莱MXF修复方法》)那是一台ALEXA Mini的机器,不太清楚和这次遇到的是否一样,下图是分析阿莱MXF文件的结果,可以看到设备的型号是ALEXA Mini LF.结构上两款机型生成的MXF文件大致相同,都是三个分区:头分区、身体分区、尾部分区;同样是RIP以512字节对齐,这个是比较特殊的地方。

故障处理:

先使用 CHS零壹视频恢复程序高级版进行扫描获取所有MXF的数据块分布情况,再根据这个扫描结果进行数据块分析,看是否能得到碎片分布规律,此盘的使用环境是频繁写入、删除。所以基本方案如下:

  1. 根据数据块分布查找头分区、身体分区、索引、尾部分区这些元文件,从元文件中获取时间信息,和客户需要的文件进行对比。
  2. 第1步达成则想办法匹配前边的音视频帧,再解析出画面进一步精确对比数据。
  3. 根据1和2获取文件存储的规律性。

经过筛选对比,成功得到其中一个MXF文件的碎片分布,并成功重组,解析画面后和客户指定的10条素材中的其中一条完全相同。

图1:成功定位了一条素材的LBA值和碎片分布情况

由于块大小为8SEC,算是比较小的,为了提升碎片重组速度和效果写了一个重组小程序进行辅助。经过不断的修改,重组的效果非常好。

图2:重组辅助小程序

由于涉密等原因,这里不在公开文件画面类的信息,最后10条数据中有一条存在400帧大约8G不到的数据被覆盖了(这条记录不知道什么原因位置比较靠前),另外两条有两帧有问题外。其它7条视频全部正常,经过统计数据容量在494G左右,加上之前恢复的连续存放的10条素材,完美恢复了所有数据。需要注意的是ARRI的MXF使用了特殊编码(算是ARRI自己的编码)普通的FFMEPG播放器是无法播放的,只能使用ARRI自带的ARRIRAW Converter这个转换工具播放,如下图(win下建议使用达芬奇,这个软件效果也不错但是兼容性比较差),无论是那款软件要求至少是独立显卡。

图3:阿莱ARRI自带的播放器

图4:10条记录大小为494G和客户描述的大小吻合

这就是阿莱ARRI MXF(ALEXA Mini LF)8T硬盘格式化后写入文件的恢复方法,大家在遇到此类问题时,可以和我们联系!


http://lihuaxi.xjx100.cn/news/1617434.html

相关文章

如何用vscode远程连接Linux服务器

文章目录 一、下载所需插件 二、远程连接 三、更改远程服务器名称 一、下载所需插件 打开商店 下载Remote - SSH 下载Remote - SSH扩展包 二、远程连接 点击远程资源管理器 点击SSH旁边的加号 输入:ssh 用户名服务器地址 介绍 第一个是保存到当前用户第二个是保…

VSS、VDD、VBAT、VSSA

引言 在学习设计TM32时,发现芯片除了GPIO引脚外还会引出许多引脚,以STM32F407ZGT6为例除了GPIO引脚还会有以下引脚 如VSS、VDD、VBAT、VSSA、NRST、VREF、VDDA、VCAP_1、VCAP_2、PDR_ON这些引脚。他们有何作用,电路设计中应如何连接&#x…

2023年中国分子筛稀土催化材料竞争格局及行业市场规模分析[图]

稀土催化材料能够起到提高催化剂热稳定性、催化剂活性、催化剂储氧能力,以及减少贵金属活性组分用量等作用,广泛应用于石油化工、汽车尾气净化、工业废气和人居环境净化、燃料电池等领域。 2015-2023年中国稀土催化材料规模及预测 资料来源:…

机器视觉工程师为什么要反复调试?

目录 那么程序debug原因有哪些?图像处理debug的原因有哪些? 我们机器视觉项目的程序包含,业务逻辑图像处理,所以我们不单单调试图像处理部分,还要调试C#,界面,数据等等。我们必须保证程序稳定性…

shopify 如何进行二次开发~起航篇

Shopify是一种强大的电子商务平台,通过其易于使用的界面和丰富的功能,为在线零售商提供了一个强大的销售和管理工具。然而,有时商家需要更多定制化的功能来满足特定的业务需求。这就需要对Shopify进行二次开发,利用Shopify API来访…

jwt的使用概念工具类与切入spa项目

jwt的概念 JWT(JSON Web Token)是一种用于身份验证和授权的开放标准,它是一种轻量级的、安全的、基于JSON的令牌机制。 JWT由三部分组成:头部(Header)、载荷(Payload)和签名&#…

C语言:动态分配结构体数组存取整型和二进制数据

问题 5 00 01 6 01 11 上面是我从键盘输入的两行数据 例如:5 00 01 5是整型 00和01是两个二进制字符 三个数据用空格隔开请问我要如何定义结构体数组来存取这一行数据? 定义结构体 struct Data {int integerData;char binaryData1[2];char binaryData…

二叉树学习笔记

1、链表实现二叉树 // 树节点类 class Bitreenode {char data;Bitreenode* ls, * rs, * fa; // ls为左儿子节点,rs为右儿子节点,fa为父节点 public:Bitreenode() {data 0;ls rs fa nullptr;}void set_ls(Bitreenode *p) {ls p;}void set_rs(Bitre…