
三步搞定 MP4 视频修复用 Untrunc 救回被截断的录像【免费下载链接】untruncRestore a damaged (truncated) mp4, m4v, mov, 3gp video. Provided you have a similar not broken video.项目地址: https://gitcode.com/gh_mirrors/unt/untrunc会议录像放到一半突然停住播放器直接打不开——文件尾部被截断了。这正是 MP4 视频修复要处理的典型场景媒体数据还在只是文件的目录没了。Untrunc 是一个开源命令行工具它会拿一段同设备拍下的完好视频当结构模板给坏文件重建索引把可播放的 MP4 救回来。 一页速查先看这四项项目内容输入要求两段视频一段完好同设备、同编码、一段损坏一条命令docker run -v /path/to/videos/:/files untrunc /files/working_video /files/broken_video产出文件broken_video_fixed.m4v与坏视频同目录明确不适用文件头部彻底损坏、数据段已丢失、参考视频不同源 适用性筛选先确认你的文件该不该修对照回答以下三个问题两个是以上再动手。它能修什么文件尾部被截断、moov 索引丢失但画面音频的数据还在SD 卡损坏、录制中断电导致的没录完整同容器格式的 m4a 等音频文件原理相同它修不了什么文件头部完全损坏或者数据段本身已经丢失、被覆盖容器结构完好、只是编码层面的坏块参考视频和坏文件来自不同拍摄设备一句话它修的是结构不是码流。 三步走通从环境到能播的文件5 分钟搭好环境git clone https://gitcode.com/gh_mirrors/unt/untrunc cd untrunc docker build -t untrunc .跑完执行docker images列表里出现 untrunc 镜像就算就绪。走 Docker 路线的好处是本机不用装 Libav 那套依赖构建全在镜像里完成。一条命令执行修复docker run -v /path/to/videos/:/files untrunc /files/working_video /files/broken_video注意参数顺序第一段永远是完好视频第二段才是损坏视频反了就不对。跑完你应该看到日志从 Reading 一路走到 Saving toReading: /files/working_video Repair: /files/broken_video Processed: 100 % Found 1200 packets. Saving to: /files/broken_video_fixed.m4v出现 Saving to 这一行说明新文件已经写出。常用参数速查只列影响结果的参数作用-o指定输出文件名不填则自动生成 _fixed 后缀-i打印参考视频的编码器与原子结构用于比对-v / -w打开详细 / 调试级日志-m强制 mdat 起始偏移与参考视频保持一致-M按数据特征搜索 mdat 起点验证结果以能播为唯一标准ls /path/to/videos/确认目录里多了一个broken_video_fixed.m4v拖进播放器从头到尾能播完修复才算成功。 不生效时查这里卡住时按先核对输入、再解读报错的顺序查症状可能原因一个动作Could not open file: /files/broken_video路径写错或文件不在挂载目录核对挂载路径把两段视频放同一目录结尾出现Failed recovering the file参考视频不同源或编码不匹配换一段同设备拍下的完好视频重试找不到 mdat 数据起点坏文件结构与参考视频偏移差异大追加-M参数走特征搜索文件生成了但播放异常两边编码器对不上先跑docker run -v /path/to/videos/:/files untrunc -i /files/working_video比对 Media Info 与 Atoms 列表另外untrunc 不会改动你的输入文件但原件备份仍是二次尝试的前提动手前先留一份。 一分钟看懂原理核心概念只有一句话用参考视频的 moov 索引给损坏文件的 mdat 数据重新定位。类比一本书丢了目录但正文完好拿另一本同版次书的目录就能把章节重新对上。流程借参考视频的 moov 索引 - 在坏文件里定位 mdat 数据起点 - 按编码特征逐包匹配并重建索引 - 保存新文件 下一步去哪用法与安装说明README.md末尾 Help/Support 段落是向作者提交损坏样本的入口容器解析与修复主逻辑mp4.cpp、mp4.h原子结构定义atom.cpp、AP_AtomDefinitions.h编码器处理模块codec_avc1.cpp、codec_mp4a.cpp配套工具把 moov 移到文件头moovfirst/镜像构建文件Dockerfile修的是结构不是码流先备份原件再拿同设备的参考视频开修。【免费下载链接】untruncRestore a damaged (truncated) mp4, m4v, mov, 3gp video. Provided you have a similar not broken video.项目地址: https://gitcode.com/gh_mirrors/unt/untrunc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考