恢复损坏的视频文件

4

几天前我开车目睹了一起交通事故,由于我有一台Genius Full HD行车记录仪,因此我认为可以将事故发生时的视频文件发送给其中一名驾驶员。这台行车记录仪每次记录3分钟的段落,但在碰撞发生的地方出现了故障,导致该录音受损。当我尝试在Quicktime中打开它时,系统崩溃并出现错误消息QuickTime Player can't open "FILE5853.MOV" because the movie's file format isn't recognized. 同样,当我尝试在VLC中打开它时,它没有任何反应,并产生以下终端输出。

VLC media player 2.1.5 Rincewind (revision 2.1.4-59-g5f258d5)
[0x101902a80] main interface error: no suitable interface module
[0x100237b20] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x100850000] moov atom not found
[0x103946860] mp4 demux error: MP4 plugin discarded (no moov,foov,moof box)
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x10402ae00] moov atom not found
[0x103946860] avcodec demux error: Could not open FILE5853.MOV: Unknown error: 1094995529
[0x1092622a0] mp4 demux error: MP4 plugin discarded (no moov,foov,moof box)
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x10200ea00] moov atom not found
[0x1092622a0] avcodec demux error: Could not open FILE5853.MOV: Unknown error: 1094995529

出于好奇,我对FILE5853.MOV进行了十六进制转储,我知道里面大约有67 MB的内容,但是我无法获取视频。如果可能的话,如何从中获取视频?非常感谢您的建议。


1
这个网站是用来提问编程问题的,而不是修复损坏的文件... 话虽如此,你可以查看文件的前几个字节。如果它看起来不像是mp4头部,那么你可能只是得到了一些随机的二进制垃圾数据,这个文件很可能根本没有任何有效的视频数据。 - Marc B
1个回答

10

尝试使用recover_mp4_to_h264。您需要提供有效的参考,即其中一个完好的片段。

Usage:
recover_mp4_to_h264 in_good_similar.mp4 --avcc
recover_mp4_to_h264 in_corrupted.mp4 out_video.h264 [out_audio.aac | out_audio.wav | out_audio.mp3] [<recorder>]
recover_mp4_to_h264 in_corrupted.mp4 out_video.h264 [--aac | --pcm | --mp3] [<recorder>]

4
还有一个非常好用的Perl库,对我来说效果很不错:https://github.com/bookkojot/mp4fixer 它支持Windows、Linux和Mac。 - jfbloom22
由 @bukkojot 撰写 - Gyan
我在Linux上使用“testdisk”恢复了已删除的文件,但视频文件是损坏/无法播放的。如上所述,@jfbloom22提到的Perl库通过重建testdisk恢复的文件来恢复视频块。 - guru_florida

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接