拍了三个小时的婚礼素材,拷到电脑上双击,播放器转两圈弹一句「无法播放该项目」。这种时候先别删,也别急着重新拷一遍。
打开播放器,看三件事:能不能打开、时长显示多少、拖进度条会不会卡死。这三个反应基本能定出坏在哪。
报错打不开的,多半是文件头坏了。能打开但时长显示 00:00 的,是索引丢了,这类最常见,也最好修。
能播,播到某一段卡住或者花屏,那是数据区有坏块。文件大小变成 0 的,是拍摄或者拷贝中断,得看有没有缓存文件。

打不开、时长为零、播到一半卡住
| 坏在哪 | 什么表现 | 能不能修 | 成功率 |
|---|---|---|---|
| 文件头损坏 | 双击报错 打不开 | 能 换同参数的头 | 七到八成 |
| 索引丢失 | 能开 时长显示零 | 能 重建索引 | 六到七成 |
| 数据区坏块 | 播到某段卡死 | 只能切出好的一段 | 三成左右 |
| 文件被覆盖 | 花屏 绿块 | 很难 | 一成上下 |
| 拍摄中断 | 大小为零或很小 | 看有没有缓存 | 五成 |
成功率按「原文件还在、没反复拷贝」估。同一个文件修三次以上,成功的可能反而下降。
视频文件的头几十个字节记录着格式、分辨率、编码方式。这几十个字节坏了,播放器就不知道该怎么解。
修的办法是拿一个同机型、同参数拍出来的正常文件,把它的头拷过来替换。前提是你还能找到这样一个文件。
手机拍的视频更好办,同一部手机随便录十秒钟,用它的头替换,成功率不低。关键是编码参数要一致,4K 的头不能往 1080P 的文件上套。
MP4 的索引在文件末尾,叫 moov。拍摄中断、拷贝没拷完、拔卡太早,都会让这个索引没写进去。
表现就是文件大小正常,双击能打开,但时长是 0,进度条拖不动。这种文件其实数据全在,只是没人告诉播放器从哪开始读。

数据都在 只差一份索引
修这类要用专门的工具,把索引重建一遍。十几分钟能出一版,能播了就算成功。MOV 和 MP4 一个道理,AVI 不一样。
播到第 40 分钟卡死,后面全是绿块。这是那一段的扇区读不出来,不是文件整体的问题。
能做的处理是把能读的部分切出来,做成一个新文件。后面那段救不回,硬修也是花屏。

定位卡点、切出好的一段、换播放器
如果这段视频只拍了一次、没有备份,那就接受只能拿到前 40 分钟这个结果。想全拿回来,得回到存储卡上做镜像再扫,成本立刻上一个台阶。
Untrunc 是开源的,靠一个正常样本文件修复,命令行操作,适合动手能力强的人。
Video Repair 这类图形工具上手快,拖进去点修复,免费版只能预览,导出要付费,价格几十到两百。

开源命令行、图形工具、换播放器
还有一招最土但有效:把文件扩展名改成 .mpg 或者 .mkv,用不同的播放器再试一次。有的播放器容错强,能跳过坏的那一段接着播。
修完之后声音和画面对不上怎么办
索引重建时时间戳算错了。换个工具重做一次,或者用剪辑软件手动偏移几帧,一般能对上。
相机卡里的视频能直接修吗
先拷出来再修,别在卡上操作。卡上修一次就是写一次,本来还在的数据可能就被盖掉了。
先看时长显示几秒、能不能拖进度条。文件头和索引坏了能修,数据区坏了只能救一段,覆盖过的别再花时间。