修复后的视频比预期短?请检查实际播放的内容。

视频修复 · MP4 和 MOV

发布于

修复后的MP4可以打开,但其时间线结束的时间远早于你记忆中录制的那段会话。可播放的开头是有用的;但它并不能证明结尾部分得以保留。在你查明缺失的时间是存在于另一个分段中、被播放问题所隐藏,还是根本不在恢复结果中时,请同时保留损坏的原始文件和修复后的文件。

从原始文件及邻近文件开始

请将原始文件、修复输出文件以及任何参考片段的副本以不同的名称保存。请检查摄像机或录制应用是否在差不多同一时间创建了其他文件,以及是否存在任何备份或中断的传输文件。某些录制设备会将长会话拆分为单独的文件;一个短片段可能只是其中一个分段,而不是整个会话。如果源文件是从存储卡或驱动器复制而来的,请比较源文件和副本的大小,并在安全的情况下,将源文件再次复制为一个新名称。

一个大的损坏文件是继续查找的理由,而不是证明所有缺失的片段都存在于其中。如果存储卡或驱动器本身已经出现故障,请避免向其写入数据或反复尝试对其进行修复;应寻求适当的数据恢复帮助。

将结果与你记忆中的内容进行对比

请记下预期时长以及你为何预期如此:第二台摄像机、独立的音频录制、会话笔记或录音设备的文件列表可能比仅凭记忆提供更好的对比依据。请在兼容的播放器中打开结果,如果它意外停止,再尝试其他播放器。请在开头、中间和结尾处观看并聆听。时间线看起来很长但在某一点冻结,与视频正常播放但提前结束,是两种不同的观察结果。

请检查下载的完整结果,而不仅仅是短预览。MendVid的付费视频预览最多只涵盖前12秒,因此无法确定较长录制的结尾是否存在。请将各项证据分开保存:播放器的时长显示、最后可见的场景以及另一段录制的长度,各自回答的是不同的问题。

对比所报告的视频和音频时长

如果你安装了FFmpeg的ffprobe,请在包含名为repaired.mp4的副本的文件夹中运行此只读命令。请将该名称替换为你的结果文件的路径;如果路径中包含空格,请保留引号。

ffprobe -v error -show_entries format=duration:stream=index,codec_type,start_time,duration:stream_disposition=attached_pic -of json "repaired.mp4"

输出会列出它找到的各个流,并可能报告容器时长以及每个视频流或音频流的时长,单位为秒。可能存在多个视频流。在比较之前,请检查其索引和类型;attached_pic值为1表示封面图片,而不是录制内容。某个流可能没有列出时长,损坏的原始文件甚至可能完全无法在ffprobe中打开。如果音频报告为600秒,而视频报告为480秒,请检查声音是否在画面结束后仍在继续,以及两个流是否在不同的时间开始。这种差异是一条线索,而不是证明修复过程中丢失了视频帧,也不是证明较长的流中包含缺失的场景。

要检查第一个不是附带图片的视频流,可以运行下一条命令。它会读取副本并将解码后的视频发送到空输出;不会生成任何输出视频。对于较长的文件,这可能需要一些时间,而且不会检查音频。如果录制内容位于另一个视频流中,请在检查上述列表后选择相应的流。

ffmpeg -v warning -i "repaired.mp4" -map 0:V:0 -f null -

请保存任何警告信息。缩短后的文件即使只包含已恢复的开头部分,也可能在解码时没有任何警告;一次无报错的运行并不能证明原始结尾仍然存在,也不能证明声音已同步。出现错误、画面冻结或提前停止,都是需要检查该时间点的理由;但它们本身并不能确定原因。在一次关于某段修复后录制的讨论中,参与者考虑了假设的帧率和可变时序可能如何影响时长。该示例并不能诊断你的文件。

谨慎选择下一次尝试

如果原始文件可读且包含缺失的结尾部分,请在进行另一次复制之前,先比较修复或导出设置以及所选的任何时间范围。如果原始文件不可读,请检查一个健康的参考文件是否来自同一设备或应用程序以及相同的录制设置。我们关于匹配参考视频的指南解释了需要比较哪些内容。匹配的参考文件可以为某些重建尝试提供结构线索,但它无法提供从未被写入或已被覆盖的帧。

如果你已经使用过MendVid的视频修复,所需的参考文件和符合条件的重试都保留在同一个付费任务中;在另行购买前,请先遵循该任务的说明,确认是否可以重试。每次修复尝试每文件收费US$9.99,付款确认后才会上传并修复,且在付款前不会提供结果预览。修复失败或不完整的尝试不予退款,但受不可放弃的权利及适用支付处理机构规则约束。恢复结果无法保证;在进行新的尝试前,请查看当前价格和修复条款。

如果另一个副本或片段包含缺失的场景,请将其与结果一同保留。如果没有任何副本包含该场景,那么无论是更长的时长标签还是匹配的参考文件,都不能证明缺失的帧可以被恢复。