
untrunc 完整修复指南一条命令修复损坏的 MP4/MOV 视频【免费下载链接】untruncRestore a truncated mp4/mov. Improved version of ponchio/untrunc项目地址: https://gitcode.com/gh_mirrors/un/untrunc珍贵视频突然打不开播放器直接报解码错误。untrunc 是一款免费视频修复工具可完成 MP4 修复、MOV 文件修复它借用同一台相机里正常视频的结构信息为损坏文件重建索引让视频恢复播放。视频文件损坏怎么办先判断能不能修手机旅行视频拷到电脑上打不开了别急着运行修复工具。先分清损坏属于哪种类型再决定要不要用 untrunc损坏情况能否修复文件截断、尾部索引丢失断电、录制中断能这是 untrunc 的主要适用场景传输中断文件不完整能可配合-sm强制搜索数据块存储介质物理损坏坏块、进水不能先做介质级恢复文件完整但个别画面花屏、解码错误不能属于编码流损坏官方文档的说法很直接如果你没有一个类似的正常视频修复的机会就很渺茫。所以能修的前提有两个文件是结构受损而不是载体受损并且你手上有一个可用的参考视频。修复前的准备工作安装命令与参考视频选择运行修复命令之前要落实两件事把工具装好把模板视频找出来。Linux源码编译git clone https://gitcode.com/gh_mirrors/un/untrunc cd untrunc sudo apt-get install libavformat-dev libavcodec-dev libavutil-dev make sudo cp untrunc /usr/local/binmacOSHomebrewbrew install ffmpeg yasm export PKG_CONFIG_PATH/opt/homebrew/lib/pkgconfig CPPFLAGS-I/opt/homebrew/include LDFLAGS-L/opt/homebrew/lib makeWindows无需编译到项目的 Releases 页面下载预编译版本即可。参考视频比工具本身更关键挑选标准按重要性排序同设备与损坏视频来自同一台相机或同一部手机这是硬条件同参数分辨率、帧率、编码格式一致时间接近录制时间相近编码器版本才更可能相同一条命令完成修复核心用法与输出说明参考视频就位后核心操作就是一条命令untrunc ok.mp4 broken.mp4第一个参数是正常参考视频第二个是损坏文件。运行结束后同目录会生成broken_fixed.mp4文件名取自损坏文件追加_fixed扩展名跟随参考视频。原始损坏文件全程不被改动。过程中如果弹出交互询问说明遇到了无法识别的结构可加-n跳过交互继续。修不好时的排查清单现象、原因与解法如果生成的_fixed文件仍然报错对照下面四个高频情况逐项检查。1. 修复后的文件仍无法播放现象_fixed文件正常生成但依旧打不开或全程黑屏可能原因参考视频与损坏视频参数不匹配不同设备、不同分辨率解法换用同设备、同参数、时间接近的参考视频重跑实在没有同相机参考时成功率无法保证2. 运行中提示遇到未知序列或卡住现象进程停在某处或反复询问是否继续可能原因两个文件结构差异大损坏文件里有参考文件没有的私有原子解法加-s跳过未知序列可配-st step设置步长或用-sm在未找到 MP4 结构时仍搜索 mdat 数据块加-v看详细日志定位卡点3. 修复后时长对不上、音画不同步现象画面正常但结尾提前截断或明显偏长可能原因按参考模板推算出的时长与音频实际长度不一致解法加-svbeta 功能将视频拉伸或压缩到与音频等长或换用时长的参考视频4. 大文件修复时内存占用高现象修复几十 GB 文件时内存持续上涨可能原因默认单块缓冲偏大解法用-mp bytes限制单块大小支持 k/m 后缀例如-mp 16m此版本整体是低内存设计支持大于 2GB 的文件它为什么能不动画面就修好视频你可能疑惑只重建索引为什么画面就能救回来把 MP4 想成一本书。画面的真实数据在 mdat 里相当于正文每一帧存在什么位置记录在 moov 这组索引原子里相当于目录页。断电或传输中断时常常丢失的正是这页目录——正文完好播放器却不知道从哪一页读起。untrunc 的做法是拿健康视频的结构当目录模板反推出损坏文件的索引写进新文件。全程 mdat 数据按字节原样搬走不做任何重编码。所以修复后画质没有任何损失这不是宣传语是不碰画面数据的直接结果。这个方法的边界同样清楚如果正文本身——介质或编码流——已经损坏目录修得再完美也救不回来。进阶用法大文件、Docker 与批量修复处理大文件前先破除一个误区untrunc 没有多线程开关。它的速度来自低内存的单进程设计README 中声称比旧版提速 10 倍以上遇到内存吃紧时正确做法是用-mp控制缓冲而不是加线程。不想装依赖的话可以直接用项目自带的 Dockerfile 构建docker build -t untrunc . docker run --rm -v ~/Videos/:/mnt untrunc /mnt/ok.mp4 /mnt/broken.mp4要批量修复一批会议录像循环复用同一个参考视频即可-dst把输出统一放到指定目录-skip跳过已修复过的文件避免重复劳动for f in broken_*.mp4; do untrunc -skip -dst ./out ok.mp4 $f; done常见问题问MP4 无法播放修复是不是都能修好不能。untrunc 处理的是截断、索引缺失这类结构问题介质物理损坏或编码流损坏不在它的解决范围内。问参考视频不是同一台相机录的还能试试吗可以试但官方文档明确没有来自同一相机的视频时成功的机会很渺茫。问修复后画质会下降吗不会。机制见上一节只重建索引、不重编码画面数据按字节拷贝不存在压缩损失。问修复会改动原始损坏文件吗不会。它只生成带_fixed后缀的新文件你可以先核对再决定是否保留原文件。问文件很大比如几十 GB能处理吗此版本支持大于 2GB 的文件且采用低内存设计仍有内存压力时可用-mp进一步限制单块大小。修复不是魔法是同设备 结构完整这两个条件满足时的高概率事件。动手前确认损坏文件本身有备份修复后先抽查关键片段确认无误再归档。关键词untrunc、视频修复、MP4 修复、MOV 文件修复、视频文件损坏怎么办、免费视频恢复工具、视频恢复工具【免费下载链接】untruncRestore a truncated mp4/mov. Improved version of ponchio/untrunc项目地址: https://gitcode.com/gh_mirrors/un/untrunc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考