mp4文件缺少moov box无法播放情况的修复【非完美】

一、mp4文件缺少moov box可能出现的场景有:使用录屏工具录到一半crash或断电,手机摄像机录到一般突然没电等。

二、修复的前提条件:需要有一个同样工具录制的参考视频,需要相同的mp4头部参数来作为参考,否则修复难度极大。

三、修复工具推荐:

1.Digital Video Repair。直接百度即可,也是我修复时候用到的。

2.HDVideoRepairUtility(http://grauonline.de/cms2/?page_id=5#download),感觉没上一个好用,可以都试一下对比下效果。

四:使用上述工具修复后得到的视频可用播放器播放,但不一定完美。我自己在使用上面第一个工具修复后遇到了音视频不同步的问题,第二个工具修复后遇到了花屏和音视频不同步问题。所以还需要用视频剪辑软件(如pr)或直接用ffmpeg来进行微调。

五、例子:

自己开发的录制工具在某次录制时遇到了crash,生成的mp4文件无法播放,甚至用mp4info都无法查看。但是由于录制时间较长,视频也比较重要,所以尝试修复。

mp4文件缺少moov box无法播放情况的修复【非完美】_第1张图片

使用winhex将他和同一工具录制生成的视频对比,发现是缺少moov box。但是想到录制的时候音视频数据是实时写入的,按理说最重要的信息没有缺,理论上来讲应该有恢复的可能。

mp4文件缺少moov box无法播放情况的修复【非完美】_第2张图片

于是网上查找相关资料,果然找到了相应的修复工具,试用后推荐了上面两款,以Digital Video Repair为例,首先打开工具,选择受损的视频,点击修复。

mp4文件缺少moov box无法播放情况的修复【非完美】_第3张图片

提示缺少重要信息,需要参考视频。再选择一个同样格式录制出来的视频即可。需要提一下的是,在这一步由于不知道之前录制的帧率和分辨率,我用各个参数做了很多尝试,虽然无法和原录制视频严格一样,但是貌似不同的分辨率和帧率下也可以修复出可播放的视频。

mp4文件缺少moov box无法播放情况的修复【非完美】_第4张图片

mp4文件缺少moov box无法播放情况的修复【非完美】_第5张图片

最后一步,得到了可播放的mp4文件,但是发现音视频不同步,于是使用ffmpeg命令将视频流播放速度减慢,这样音频流和视频流总时长相同了。但是发现中间部分依然有较为严重的音视频不同步问题,这个我目前还没有解决办法,也可能是录制写入的时候时间戳就有问题了。

不同的视频在修复后可能有不同的小问题,需要按照实际情况来进行微调,所以总的来说,这个方法适用于救急,恢复重要文件,但是并不完美。如果大家不幸遇到了mp4文件受损的情况,可以按照上面方法来试试,祝大家好运!

你可能感兴趣的:(mp4文件缺少moov box无法播放情况的修复【非完美】)