如何检查下载的大 mkv 文件的完整性

Qia*_* Xu 10 mkv

刚刚下载了一个超过 20GB 的大 mkv 文件。我花了几天时间才完成下载。但是,如何检查下载是否已经完成,或者只是中途中止?我有这个问题,因为对于一个mkv文件,mplayer仍然可以播放它直到它被破坏。

ubuntu 中有任何用于此类检查的实用程序吗?

Zhu*_*Wei 11

由于您没有文件的校验和信息(CRC32、MD5、SHA-1、SHA-256 等),您可以尝试验证 Masroska 格式本身。

mkvalidator 是一个简单的命令行工具,用于验证 Matroska 和 WebM 文件的规范一致性。它根据文件的 EBML DocType 版本检查各种虚假或缺失的关键元素,并在命令行中报告错误/警告。

使用:

mkvalidator --details your-big-mkv-file.mkv
Run Code Online (Sandbox Code Playgroud)

但是,mkvalidator只能验证Mastroska 容器的结构,不能验证其中的“有效载荷”(即A/V 数据)。要验证数据部分,您仍然需要一个解码器来查看它是否正确解码。从https://superuser.com/a/100290

ffmpeg -v error -i file.avi -f null - 2>error.log
Run Code Online (Sandbox Code Playgroud)

此命令用于ffmpeg读入 mkv 文件并尝试逐帧解码。解码过程中发现的任何错误都将记录在error.log文件中。