如何恢复损坏的 mp4 文件:找不到 moovatom

如何恢复损坏的 mp4 文件:找不到 moovatom

我用以下方式录制了一段录音

ffmpeg -f alsa -ac 2 -i plughw:0,0  /tmp/audio.mp4

然后我移动/tmp/audio.mp4到另一个目录 ( /root/audio.mp4),而没有停止ffmpeg导致.mp4文件损坏:

ffplay /root/audio.mp4
[...]
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f3524000b80] moov atom not found
audio.mp4: Invalid data found when processing input

如何恢复和读取我的.mp4文件?

答案1

您可以尝试并使用未截断修复该文件。

恢复损坏(截断)的 mp4、m4v、mov、3gp 视频。前提是您有类似且未损坏的视频。

您可能需要从源代码编译它,但还有另一种选择是使用 Docker 容器并将文件夹与文件绑定到容器中并以这种方式修复它。

您可以使用包含的 Dockerfile 将包构建为容器并执行

git clone https://github.com/ponchio/untrunc.git
cd untrunc
docker build -t untrunc .
docker run -v ~/Desktop/:/files untrunc /files/filea /files/fileb

答案2

这里提供的解决方案(https://github.com/ponchio/untrunc)解决了我的问题!我将它作为 Docker 容器运行。这是我的步骤:

  • 安装 Docker(如果您还没有)

  • 克隆存储库:

      git clone https://github.com/ponchio/untrunc
    
  • 在 Dockerfile 的同一目录中,运行:

      cd untrunc
      docker build -t untrunc .
    
  • 这将构建一个本地 docker 镜像 - 这需要时间。

  • 现在您必须提供来自同一来源(在我的情况下是同一相机)的示例文件以及您想要修复的损坏文件。例如:

      docker run -v /path/to/files/:/files untrunc /files/working_video /files/broken_video
    

相关内容