今天在给甲方录制视频的时候,中间由于假电池断电,导致机器直接关机,而视频文件没有保存下来。当时我并没有发现,因为 FX3 之前我的印象是即使是录制途中强制关机,也会及时地保存视频文件。直到我回家打开内存卡那一刻我才懵逼了:第一段视频文件不见了!
我立刻开始寻找各种有可能恢复文件的方法,同时去淘宝寻求帮助。不过淘宝给出的价格是 600 元,而且不一定能够恢复。我靠,我一共才赚几个钱,600给你了我还赚啥?
恢复文件
首先就是恢复文件,由于我是使用了索尼 FX3
和索尼的 CFA
卡,所以我的第一反应就是通过查找这两个关键词找到了最靠谱,并且免费的官方恢复软件:Memory Card File Rescue 。你通过输入存储卡对应的信息,它会帮你选择下载对应的恢复软件,真的是太贴心啦哈哈。通过大概8分钟的扫描,我就得到了恢复的文件,它是一个 12.68G 的 DAT
文件。
我查询了很多网站,并没有什么软件可以直接将 DAT
文件直接转换为 MP4
之类的东西。也有博客称 vlc
能干这个事儿,但事实上并不行。于是又开始了大量的搜索。如果你也看到了 B 站某个 UP 主自己写的恢复脚本的话,我可以告诉你,恢复出来的视频是上半部分花屏。我也尝试了使用 ffmpeg
来进行处理,结果当然也是无效的。
处理 DAT 文件
我恢复出来的 DAT
文件与正常的 MP4
文件区别主要是缺少了 moov
数据块, mdat
主要记录的是视频中的帧信息,moov
主要存储的是视频帧信息的读取格式。由于机器是突然断电的,所以来不及写入 moov
数据块,因此核心任务就是恢复 moov
数据块。
由于我的第二段视频(第一段中断之后我立刻换电池接上了第二段)和第一段视频的录制规格等等信息是完全一样的,所以第一段的 moov 完全可以抄第二段视频的作业。当然,如果你没有可以抄作业的视频,你可以使用和 DAT
文件一致的规格再随便录几秒视频即可。
untrunc 这个伟大
的开源工具帮我解决了恢复 moov
数据块这个难题,如果你是 Windows 用户的话,可以阅读 untrunc中文 来学习如何使用。
恢复如旧
通过使用 untrunc ,我成功将 12.68G 的 DAT
文件恢复为了 12.68G 的 MP4
。更让我感动的是,恢复之后的视频保留了原有的码率、帧率以及分辨率,画面恢复如新!