建议使用 mkv 格式录制视频,以便在断电、蓝屏、程序崩溃时视频文件得以完整保留,而且修复起来十分简单,总时长不超过 3 分钟,后期可使用 FFmpeg 无损转码。
mp4 文件修复
- 下载视频修复工具 recovery_MP4.exe。
- 下载
FFmpeg
,用于合并音视频。(在Program Files
文件夹内搜索ffmpeg.exe
,能找到很多个,复制过来即可,不必另外下载了) - 将损坏的 mp4 文件重命名为
bad.mp4
- 重新用相同参数录制一小段视频,录制内容任意,重命名为
good.mp4
(若已有有效文件,可重命名为input.mp4
,用ffmpeg -ss 00:00:00 -t 00:00:30 -i input.mp4 -vcodec copy -acodec copy good.mp4
分割出 30 秒的片段good.mp4
) - 将
bad.mp4
、good.mp4
、recovery_MP4.exe
、ffmpeg.exe
放在同一文件夹中。 - 在文件夹内,按住
shift
并单击鼠标右键,选择在此处打开命令窗口(W)
(若使用PowerShell
需要在第七条的命令recover_mp4.exe
和ffmpeg.exe
前加上./
) - 输入
recover_mp4.exe good.mp4 --analyze
并回车执行,分析完后生成video.hdr
、audio.hdr
- 输入
recover_mp4.exe bad.mp4 recovered.h264 recovered.aac
并回车执行,将从bad.mp4
中分离出视频流recovered.h264
,音频流recovered.aac
- 输入
ffmpeg.exe -r 30 -i recovered.h264 -i recovered.aac -bsf:a aac_adtstoasc -c:v copy -c:a copy recovered.mp4
并回车执行,合并流文件,成功后生成recovery.mp4
。若失败可使用其他合并软件,经测试,失败的文件可用小丸工具箱
成功封装。 - 实在无法自行恢复的重要文件,可在 Restore.Media 付费恢复,1 分钟约 2 人民币元。
mkv 文件修复
- 下载
FFmpeg
(在Program Files
文件夹内搜索ffmpeg.exe
,能找到很多个,复制过来即可,不必另外下载了) - 将损坏的 mkv 文件复制到
ffmpeg.exe
同一目录下,重命名为bad.mkv
。 - 在
ffmpeg.exe
所在文件夹内,按住shift
并单击鼠标右键,选择在此处打开命令窗口(W)
(若使用PowerShell
需要在第四条的命令ffmpeg.exe
前加上./
) - 输入
ffmpeg -i bad.mkv -an -sn -c:v copy -y -map 0:v:0 good.mkv
并回车执行,抽取视频。 - 输入
ffmpeg -i bad.mkv -vn -sn -c:a copy -y -map 0:a:0 good.aac
并回车执行,抽取音频。 - 输入
ffmpeg -i good.mkv -i good.aac -c copy recovered.mkv
并回车执行,封装音视频,生成recovered.mkv
- 以上步骤可用
小丸工具箱
代替。 - 无损转码为 mp4:
ffmpeg -i recovered.mkv -codec copy output.mp4
,生成output.mp4
参考资料:
mp4视频文件修复
How to Fix Corrupted MP4 Files – The Definitive Guide