use*_*456 21 mplayer ffmpeg video audio data-recovery
我做了一个录音
ffmpeg -f alsa -ac 2 -i plughw:0,0 /tmp/audio.mp4
Run Code Online (Sandbox Code Playgroud)
然后我移动/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
Run Code Online (Sandbox Code Playgroud)
如何恢复和读取我的.mp4
文件?
Rab*_*bin 21
您可以尝试使用Untrunc修复该文件。
恢复损坏(截断)的 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
Run Code Online (Sandbox Code Playgroud)
此处提供的解决方案(https://github.com/ponchio/untrunc)解决了我的问题!我将它作为 Docker 容器运行。这是我的步骤:
安装 Docker(以防你还没有安装)
克隆存储库:
git clone https://github.com/ponchio/untrunc
Run Code Online (Sandbox Code Playgroud)
在 Dockerfile 的同一目录中,运行:
cd untrunc
docker build -t untrunc .
Run Code Online (Sandbox Code Playgroud)
这将构建一个本地 docker 镜像——这需要时间。
现在您必须提供来自同一来源的示例文件(在我的情况下是同一台相机)以及您想要修复的损坏文件。例如:
docker run -v /path/to/files/:/files untrunc /files/working_video /files/broken_video
Run Code Online (Sandbox Code Playgroud)