AskCleanAskClean问净

在浏览器里修复损坏的视频 —— 文件不上传

扫描 MP4 或 MOV,找出画面数据坏掉的帧,直接看到文件坏在哪一段,再导出一个能正常播放的修复副本。全程在你自己的设备上跑,文件不离开本机。 这里整理了适用场景、详细步骤、风险边界、隐私说明与结果核对方法,帮助你在清理、转换或下载前安全完成任务,并知道哪些内容可以恢复。

这一页到底在检查什么

选一个视频,这一页会把整条码流走一遍,找出画面数据坏掉的帧,并在时间轴上标出它们的位置。修复会导出一个只含能正常解码的帧的新文件,播放时不会卡在损坏处。全程在你的设备上完成,不上传。

在 MP4 或 MOV 里,每个 H.264 / HEVC 帧是这样存的:一个长度数字,紧跟着那么多字节的画面数据,然后是下一个长度,依此类推,首尾相接直到这一帧的数据用完。这条链必须严丝合缝地落在末尾。如果某个长度是 0,或者指到数据结束之后,那这一帧的字节就不是文件声称的那些东西。

检查长度结构后,工具还会按关键帧分组实际解码。解码失败的帧组会被移除,检查从下一个关键帧继续;由于错误可能延迟返回,时间轴标记的是受影响的帧组,不一定能精确到某一帧。

如果你曾经把一个坏视频喂给 ffmpeg、看见 `Invalid NAL unit size (0 > 1241)` 一行行滚过,那报的就是同一件事。播放器碰上它通常是卡住、跳过,或者糊成一片色块 —— 因为对着不存在的字节,它们也只能做到这些。

验证需要浏览器支持该视频的解码。无法解码此视频的浏览器,也无法验证修复副本。

两种「坏」,长得完全不一样

**画面数据被写坏的帧。** 有什么东西写错了字节 —— 拷到 U 盘时中断、存储卡开始出问题、同步跑到一半死掉。文件的长度和索引都完好,视频也能正常打开,但里面某些帧已经不可用。在时间轴上,它们是散落在损坏发生处的标记。

**被截断的视频。** 下载或传输提前停了。文件头仍然声称原来的时长,所以播放器显示的是完整长度的进度条,但画面数据到中途就没了。这一页靠「文件声称的时长」与「实际能读到的最后一帧」之差把它认出来 —— 在时间轴上是末尾一整块灰色。

把两者分开说是有必要的,因为它们对应的预期完全不同。散落的损坏往往只让你这里少一秒、那里少一秒。而一个在 40% 处被截断的文件缺的是整整 60% 的视频,任何工具都造不出从未被写下来的东西。

为什么修完会变短

视频帧不是各自独立的。关键帧能单独成立,但它后面的帧是以「与它的差异」的形式存着的 —— 所以一旦关键帧的数据坏了,所有依赖它的帧同样不可用,哪怕这些帧自己的字节完全没问题。这就是为什么一个只有十个坏帧的文件,可能丢掉远多于十帧。

修复只保留真正能解出来的帧,并把空洞合上,让产物能一口气播完、而不是在损坏处冻住。代价是产物比原片短,短多少取决于丢了多少。这个数字在你决定之前就会显示,产物页上还会再说一次。

默认模式会原样拷贝保留下来的画面,不重新编码。完整解码检查需要时间;选择尽量保留模式时,还会重新编码保留的视频。

**声音会保留,而且保持同步。** 合上空洞意味着画面不再对得上原始长度的声音,所以音轨会沿着完全相同的边界裁开 —— 每一段保留下来的画面都带着它自己那一段声音,平移量也一样。段内两者是锁死的;只有段与段的接缝处音频可能有偏差,而且不会超过半个音频包、约十毫秒。这比任何人能察觉到的口型不同步小一个数量级。

这一页做不到的事

**压根打不开的文件不在射程内。** 每个 MP4 都带一份索引,说明每一帧在什么位置。如果这份索引坏了或者丢了 —— 录制没有正常收尾时很常见 —— 就没有可以走的地图,这一页会直接说清楚,而不是转着圈假装在忙。要救这种文件,得靠原始来源,或者靠一个能通过猜测帧边界来重建索引的工具。

**音轨不做损坏检查。** 已有音频包会按照保留的视频片段裁剪并拷贝。损坏或此前已经丢失的声音无法通过这一步恢复。

**只支持 H.264 与 HEVC。** 只有这两种编码是用长度前缀存帧的,而那正是这项检查读的东西。MJPEG、MPEG-4 Part 2 之类的编码用别的方式排布帧,拿这把尺子量会全部显示为损坏,所以这一页选择拒绝。

常见问题

我的视频会被上传到什么地方吗?

不会。文件由你自己设备上的浏览器读取,修复副本也写在本机。没有任何东西发往服务器 —— 你可以在扫描时打开浏览器的网络面板确认,或者先断网再试。

修复会让画质变差吗?

默认模式原样拷贝保留的画面,不重新编码。尽量保留模式会重新编码,画质可能改变,恢复的帧也可能带有色块。

修复后的文件还有声音吗?

有,而且是同步的。音轨沿着与画面完全相同的边界裁开、平移量也一样,所以在每一段保留下来的内容里两者是锁死的。只有段与段的接缝处可能略有偏差,最多半个音频包 —— 大约十毫秒,远低于可察觉的程度。拿不回来的是那些被丢掉的段落对应的声音,因为它们配套的画面也没了。

扫描说文件是完整的,但它还是播不了。为什么?

这项检查覆盖的是 H.264 与 HEVC 视频的画面数据。一个文件可以通过检查却仍然播不了,原因可以是别的:播放器不支持这个编码、音轨损坏,或者容器本身有古怪之处。这里的「干净」结论是把问题范围缩小,而不是把问题关掉。

扫描要多久?

检查既要读取文件,也要实际解码,耗时取决于视频时长、分辨率、编码和设备性能。大视频可能需要数分钟;选择其他文件会停止当前分析。

视频里从来没下载下来的那部分,能恢复吗?

不能。如果传输提前停了,缺失的画面数据从来没有被写到你的磁盘上 —— 你的设备上没有可供恢复的东西。这一页能做的是告诉你到底缺了多少,并把确实到达了的那部分导出成一个干净、能播的副本。

我的文件连打开都打不开。现在怎么办?

那指向的是文件的索引而不是它的帧,也正是这一页唯一帮不上忙的情形。如果还有机会,尽量重新获取原始文件。做不到的话,下一步是找一个专门的恢复工具,靠扫描帧边界重建索引 —— Mac 版也能绕开浏览器处理不了的损坏重新编码。

更多视频工具

不用上传的视频压缩 →在浏览器里直接压缩视频,全程不上传,也不限体积——压缩结果边编码边写盘,几个 GB 的大文件同样压得动。免费。 这里整理了适用场景、详细步骤、风险边界、隐私说明与结果核对方法,帮助你在清理、转换或下载前安全完成任务,并知道哪些内容可以恢复。MOV / MKV / WebM 转 MP4 →在浏览器里把 MOV、MKV、WebM 转成 MP4。多数文件只需要换个容器,几秒就完事、画面一个像素都不变——全程不上传。 这里整理了适用场景、详细步骤、风险边界、隐私说明与结果核对方法,帮助你在清理、转换或下载前安全完成任务,并知道哪些内容可以恢复。视频转 MP3、提取音频、去掉声音 →把视频里的声音提取成 M4A、转成 MP3,或者去掉声音只留画面。搬运音轨是秒完成且无损的,全程不上传任何文件。 这里整理了适用场景、详细步骤、风险边界、隐私说明与结果核对方法,帮助你在清理、转换或下载前安全完成任务,并知道哪些内容可以恢复。如何在 iPhone 上压缩视频且画质不打折 →在 iPhone 上压缩视频而看不出画质损失:调整录制设置、用 HEVC 重新编码、免费用 iMovie 或快捷指令,或批量压缩整个图库。iPhone 储存空间已满,手机上却没什么东西?空间到底被谁吃了 →为什么 iPhone 明明「什么都没有」储存空间却满了:怎样读懂储存空间图表、「系统数据」究竟是什么,以及如何从照片、缓存和 App 数据里把空间抢回来。

AskClean 团队 · 更新于 2026-09-01