如何修复没有 moov 标头的损坏的 3GP/MP4 文件?

如何修复没有 moov 标头的损坏的 3GP/MP4 文件?

两天前我正在录制音频,手机突然死机了。我用 MP4repair 修复了一下,可以听到一小段声音,修复需要 80 美元。我觉得太贵了,我甚至没有信用卡,所以我排除了这种可能性。

显然,该文件缺少 moov 标头。是否可以为该录音生成 moov 标头?或者更好的是,是否可以恢复该文件而无需支付 80 美元?

到目前为止,我知道它是 3GP 容器内的 AAC 音频。

答案1

如果你有基于 Debian 的 Linux,你可以使用untrunc。打开终端窗口并逐个运行以下命令:

sudo apt-get install libavformat-dev libavcodec-dev libavutil-dev
cd ~
wget https://github.com/ponchio/untrunc/archive/master.zip
unzip master.zip
cd untrunc-master
g++ -o untrunc file.cpp main.cpp track.cpp atom.cpp mp4.cpp -L/usr/local/lib -lavformat -lavcodec -lavutil
chmod +x untrunc

现在,您需要:

  • 损坏的文件
  • 正确的文件——你只需要从同一设备获取的工作文件

将两者都放入untrunc-master目录中。然后运行:

./untrunc correct.3gp broken.3gp

这将输出一堆信息,并且它会给你一个broken.3gp_fixed.mp4输出文件。

答案2

untrunc尝试了各种其他方法后,我偶然发现了这一点:

https://codecpack.co/download/recover-mp4.html

它运行良好,wine并且在没有参数的情况下运行时提供说明。

相关内容