Restore a truncated mp4/mov. Improved version of ponchio/untrunc
Untrunc
恢复损坏(被截断)的 mp4、m4v、mov、3gp 视频。前提是您有一个类似的未损坏视频,并且需要一些运气。
您需要:
- 另一个未损坏的视频文件
基本的命令行使用能力(图形界面 已存在)
关于此分支
此分支在原始版本的基础上进行了以下改进:
- 速度提升超过 10 倍!
- 低内存占用,修复了 #30
- 更易于构建 + 自动化Windows 构建版本
- 支持大于 2GB 的文件
- 能够跳过未知字节
- 对所有具有固定宽度块的轨道提供通用支持(例如 twos/sowt)
- 高级日志系统
- 可以拉伸/缩短视频以匹配音频时长
- 与新版本的 ffmpeg 兼容
- 处理无效的原子长度
- 支持 GoPro 和 Sony XAVC 视频
- 修复了许多错误,积极维护
构建
Windows 用户可以从此处下载最新版本。
在某些情况下,可能需要特定版本的 ffmpeg。Untrunc 与 ffmpeg 3.3.9 配合使用效果很好。
使用系统库
sudo apt-get install libavformat-dev libavcodec-dev libavutil-dev
# get the source code
make
sudo cp untrunc /usr/local/bin
使用本地库
只需使用以下命令,make 会完成剩下的所有工作。
sudo apt-get install yasm wget
make FF_VER=3.3.9
sudo cp untrunc /usr/local/bin
图形用户界面(GUI)
图形用户界面为可选组件。它已包含在自动化的 windows builds 中。 您需要安装 libui。安装完成后,只需执行以下操作
make untrunc-gui
CentOS 7
sudo yum -y install epel-release && sudo yum -y install git gcc-c++ yasm
git clone --depth 5 https://github.com/anthwlock/untrunc && cd untrunc
make FF_VER=3.3.9
sudo cp untrunc /usr/local/bin
macOS 系统(使用 Homebrew)
brew install ffmpeg yasm
export PKG_CONFIG_PATH="/opt/homebrew/lib/pkgconfig"
CPPFLAGS="-I/opt/homebrew/include" LDFLAGS="-L/opt/homebrew/lib" make
Docker 容器
您可以使用随附的 Dockerfile 构建并以容器形式执行此软件包。
可选参数“FF_VER”将传递给 make。
# docker build --build-arg FF_VER=3.3.9 -t untrunc .
docker build -t untrunc .
docker image prune --filter label=stage=intermediate -f
docker run --rm -v ~/Videos/:/mnt untrunc /mnt/ok.mp4 /mnt/broken.mp4
Snapcraft 安装
如果您已安装 snap,可以使用命令 sudo snap install --edge untrunc-anthwlock 进行安装。
使用方法
您需要同时准备损坏的视频和一个正常的示例视频(理想情况下来自同一台相机,否则修复成功的可能性较低)。
在您解压并编译好 Untrunc 的文件夹中运行以下命令,并将 /path/to/... 部分替换为您的两个视频文件路径:
./untrunc /path/to/working-video.m4v /path/to/broken-video.m4v
之后程序会开始处理,并有望生成一个名为 broken-video_fixed.m4v 的可播放文件。
操作到此就完成了!
(感谢 Tom Sparrow 提供本指南)
帮助/支持
问题反馈
使用 -v 参数可获取更详细的输出。为了帮助解决问题,可能需要您提供正常文件和损坏文件。
捐赠
如果本软件对您有所帮助,请考虑通过 此处 进行捐赠!
您的捐赠将鼓励我继续开发此软件,以便支持更多媒体格式并提升文件恢复效果。
您也可以考虑向 ponchio 捐赠,具体方式请参见他的说明 此处。
谢谢。