mac录屏断电损坏可修复:先定位缓存中残留mdat数据,再用mp4repair重建moov头或hex fiend手动注入标准moov模板,亦可从time machine备份恢复前一秒完整文件。

Mac录屏中途断电导致视频只保存了一半或完全打不开,这种情况很常见——系统没来得及写完索引头(moov box),但实际画面数据(mdat)很可能还躺在磁盘缓存区里,只要没被新文件覆盖,就能找回。
先确认录屏是否真“丢失”了
打开“访达”→左侧边栏点击“文稿”或你设置的默认录屏保存位置→按修改日期排序,找最近几分钟内生成的、大小明显异常(比如几百MB但无法播放)的 .mov 或 .mp4 文件。
如果看到文件名含“Screen Recording”且时间戳匹配断电时刻,别急着删,它可能只是头部损坏,不是空文件。
检查系统临时缓存区有没有残留片段
打开“访达”,按下 Command + Shift + G →输入路径:~/Library/Caches/ →回车进入。
在该目录下依次打开子文件夹:com.apple.ScreenCapture、com.apple.QuickTimePlayerX、com.apple.avfoundation.movietoolbox,重点查看是否有以 .tmp、.mdat、.frag 或无扩展名但修改时间紧贴断电时刻的大文件。
注意:这些缓存文件通常没有图标预览,必须按“大小”或“修改日期”排序才能快速识别;不要直接双击运行,有些.tmp文件强行打开会触发错误写入。
用命令行快速扫描未分配空间里的视频数据块
打开“终端”,粘贴执行以下命令(需管理员权限):
sudo dd if=/dev/disk1s1 bs=4096 skip=1048576 count=1000000 | hexdump -C | grep "6d646174"
其中 /dev/disk1s1 需替换为你系统盘的实际标识(用 diskutil list 查看);6d646174 是 mdat 的十六进制签名,代表原始视频帧数据尚存。
若返回多行地址结果,说明底层数据未被覆盖,可进入下一步修复流程。
用 MP4repair 工具重建 moov 头部
方法一:使用开源工具 MP4repair(需 Homebrew 安装)
终端中依次执行:
brew install mp4repair → cd 到损坏文件所在目录 → mp4repair broken.mp4 fixed.mp4
方法二:手动注入标准 moov(适用于 QuickTime 录制的 .mov)
下载官方提供的空白 moov 模板(Apple QuickTime SDK 中的 sample-moov.bin),用 Hex Fiend 打开损坏文件,将开头约 3KB 的乱码区域替换成模板内容,保存后重命名为 .mov 测试播放。
这一步操作起来很简单,直接把文件拖进 Hex Fiend 就能编辑;但务必提前备份原文件,覆盖写入不可逆。
从 Time Machine 备份中提取上一秒的完整版本
第一步:确保 Time Machine 在断电前至少完成过一次成功备份(检查菜单栏时钟图标是否显示“正在备份”或“上次备份:X 分钟前”)。
第二步:在 Finder 中进入原录屏保存路径 → 点击顶部菜单栏“访达”→“进入 Time Machine”。
第三步:拖动时间线往回滑动,找到断电前 60 秒内的快照 → 展开文件夹,定位同名录屏文件 → 点击“恢复”。
Time Machine 不备份临时缓存,只存已写入磁盘的完整文件,所以只要备份窗口覆盖了断电前最后一秒的写入动作,就能拿回可用视频。











