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

刚刚下载了一个超过20GB的大型mkv文件。花了我好几天才完成下载。但是,如何检查下载是否已经完成,或者只是中途中断了呢?我有这个问题,因为对于一个mkv文件来说,mplayer可以一直播放到它断掉的那个点。
在Ubuntu上有没有类似的工具可以进行这种检查呢?

2дҪ жңүжүҖжҢҮзҡ„MKVж–Ү件зҡ„е“ҲеёҢеҖјжҲ–ж ЎйӘҢе’ҢпјҲеҰӮMD5/SHA1/CRC32зӯүпјүеҗ—пјҹеҰӮжһңжңүзҡ„иҜқпјҢдҪ еҸҜд»ҘдҪҝз”Ёзӣёеә”зҡ„md5sum/sha1sum/crc32зӯүе‘Ҫд»ӨжқҘжЈҖжҹҘе“ҲеёҢеҖјжҲ–ж ЎйӘҢе’ҢжҳҜеҗҰеҢ№й…ҚгҖӮ - Yong Jie Wong
@yjwong: 哎呀,我没有这样的信息,:-( - Qiang Xu
问题是你是如何下载的?使用种子客户端吗? - Hinklo
@Hinklo:不,只是使用HTTP协议下载,花了我大约几天的时间才完成。幸运的是,在整个过程中连接没有断开。 - Qiang Xu
1只需检查您拥有的文件的确切大小与您最初打算下载的文件的大小是否相符即可。 - Hinklo
@Hinklo:问题在于,在该网站上,原始文件大小以多少GB列出,例如20.8GB,但我的文件大小为字节。当将字节转换为GB时,会有一些精度损失。 - Qiang Xu
你可以使用浏览器插件来获取实际文件大小。 - Danatela
3个回答

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

mkvalidator是一个简单的命令行工具,用于验证Matroska和WebM文件是否符合规格。它会检查文件的各种错误或丢失关键元素,并在命令行中报告错误/警告。

使用方法:

mkvalidator --details your-big-mkv-file.mkv

然而,mkvalidator只能验证Mastroska容器的结构,而不能验证其中的“有效负载”(即A/V数据)。要验证数据部分,您仍然需要一个解码器来查看是否正确解码。来自https://superuser.com/a/100290
ffmpeg -v error -i file.avi -f null - 2>error.log

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

ffmpeg -v error会检测到任何音频/时间同步问题吗? - BozoJoe


1这似乎是一个Windows的脚本。这是一个Ubuntu网站。我有什么遗漏吗? - Gabriel
1根据您的需求进行微调? - Max Burns

在官方Matroska网站中提到了MKVToolNix,它是一套工具包,其中之一是mkinfo,可用于检索有关Matroska和WebM文件的某些信息。
其他答案中也提到了mkvalidator,但我找不到适用于Linux的最新版本。
如果您查看他们的下载页面,您将找到Ubuntu deb存储库。一旦您将deb存储库添加到源列表中,您就可以安装命令行工具和/或GUI工具。
这是使用mkvinfo在文件上的输出示例:
$ mkvinfo 1fbf4140-3807-49f7-9f78-91bdada71a6e 
+ EBML head
|+ EBML version: 1
|+ EBML read version: 1
|+ Maximum EBML ID length: 4
|+ Maximum EBML size length: 8
|+ Document type: webm
|+ Document type version: 4
|+ Document type read version: 2
+ Segment: size unknown
|+ Segment information
| + Timestamp scale: 1000000
| + Multiplexing application: Chrome
| + Writing application: Chrome
|+ Tracks
| + Track
|  + Track number: 1 (track ID for mkvmerge & mkvextract: 0)
|  + Track UID: 16615739537438539
|  + Track type: audio
|  + Codec ID: A_OPUS
|  + Codec's private data: size 19
|  + Audio track
|   + Sampling frequency: 48000
|   + Channels: 1
|   + Bit depth: 32
|+ Cluster

提到工具的Matroska页面:https://www.matroska.org/downloads/mkvtoolnix.html MKVToolNix页面:https://mkvtoolnix.download/