多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

一条命令修复损坏的MP4:Untrunc工具实战指南

一条命令修复损坏的MP4:Untrunc工具实战指南 一条命令修复损坏的MP4Untrunc工具实战指南【免费下载链接】untruncRestore a damaged (truncated) mp4, m4v, mov, 3gp video. Provided you have a similar not broken video.项目地址: https://gitcode.com/gh_mirrors/unt/untrunc 视频无法播放怎么办一条命令修复婚礼视频打开后播放器提示无法播放昨晚的监控录像因为凌晨停电只能放到 3 点——这类情况大多属于 MP4视频修复截断问题音视频数据大部分还在只是文件自己的目录丢了或不完整。Untrunc 就是专门对付这种问题的免费开源工具一条命令就能把录了一半、拷了一半的 MP4、MOV、3GP 文件重新变得可播放需要时它也可以当 MOV修复工具用。 原理速览拿正常视频的目录替损坏文件补上MP4 文件有点像一本书正文是画面数据目录记录每段数据在哪儿。文件被截断时正文多半完好丢的是结尾那份目录。Untrunc 的做法是找一段同设备拍的正常视频读它的目录再套到损坏文件上。核心命令只有一行./untrunc 参考.mp4 损坏.mp4跑完会在损坏文件同目录生成损坏_fixed.mp4命名规则是损坏文件名去掉后缀再加 _fixed.mp4丢进播放器就能看到效果。 动手实操Untrunc使用方法安装、准备、执行三步走用Docker安装UntruncDocker 方式最省事不用自己折腾依赖库git clone https://gitcode.com/gh_mirrors/unt/untrunc cd untrunc docker build -t untrunc .也支持手动编译装好 libav 12 及相关依赖后用 g 直接编译源码完整步骤和各系统需要补充的参数写在项目 README 里。参考文件怎么选修复成败一半取决于它。挑参考视频时按下面三条过一遍同设备优先同一台相机/手机拍摄实在没有至少同型号、同录制 App同参数分辨率、帧率、音频编码尽量和损坏文件一致时间接近同一时段前后拍的文件结构通常最接近不确定参考文件是否够格先用./untrunc -i 参考.mp4自检能正常输出结构信息就可以开干。执行修复与三个进阶参数可执行文件或镜像就绪后直接跑基本命令输出文件默认就是损坏文件旁的损坏_fixed.mp4。三个常用进阶参数参数用途-o指定修复结果的文件名-v输出详细过程信息便于排查问题-i查看文件的编码与结构信息./untrunc -o fixed.mp4 参考.mp4 损坏.mp4 ./untrunc -v 参考.mp4 损坏.mp4 ./untrunc -i 参考.mp4️ 踩坑与进阶修复失败后的常见报错与应对7 个高频情况遇到别慌Docker 里看不到本机文件容器和本机文件系统是分开的先把视频目录挂载到容器内再执行docker run -v /path/to/videos/:/files untrunc /files/参考.mp4 /files/损坏.mp4提示 Failed recovering the file一般是多种策略都没能定位数据段起点加-v重跑看日志或用-m、-M、-b手动调整 mdat 起始位置策略。参考与损坏文件编码不匹配编码器、分辨率或音频配置不一致时套结构必然失败换一段更接近的参考视频再试。修复后只能播放一部分截断修复后开头几秒花屏、跳帧很常见是开头帧数据不完整所致先用播放器过一遍再归档。修复后没有声音参考视频没音轨或音频编码不一致音频流就会缺换带相同音频配置的参考文件。损坏文件几乎是空的文件本身只有几十 KB说明基本没有视频数据任何工具都救不回来不必浪费时间。正式修复前想空跑验证先执行./untrunc -s 参考.mp4模拟一次修复确认参考文件可用再正式跑。 适用边界哪些文件能修哪些不能Untrunc 对视频录到一半被截断和文件头损坏这两类效果最好只要音视频数据还在找回的把握就大但文件严重损坏、结构完全找不回来的情况谁都帮不了任何修复工具也别指望 100% 成功。修复前先留一份原始损坏文件的备份——修复过程不会改动原文件结果不满意可以从原件重来或换参考再试。项目开源免费遇到修不动的样本或有成功经验反馈给作者就是对这个工具最直接的帮助。【免费下载链接】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),仅供参考
返回列表