刚刚下载了一个大的mkv文件,超过20 is。我花了几天时间才完成下载。但是,如何检查下载是否已经完成,还是只是半途而废?我有这个问题,因为对于mkv文件,mplayer仍然可以播放它,直到它被破坏为止。
在ubuntu中有这样的检查工具吗?
发布于 2015-06-14 07:23:00
由于您没有文件的校验和信息(CRC32、MD5、SHA-1、SHA-256等),所以可以尝试验证Mastroska格式本身。
is验证器是一个简单的命令行工具,用于验证Matroska和WebM文件是否符合规范。它根据文件的EBML DocType版本检查各种假的或缺少的关键元素,并报告命令行中的错误/警告。
使用:
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
文件中。
发布于 2016-09-25 17:27:56
马特罗斯卡验证工具可以很好地检查容器的完整性。下面是我用python编写的一个递归包装器脚本,用于大型库。https://github.com/1010dvpt/mkv-validator
发布于 2021-09-12 19:52:47
官方Matroska网站中提到了MKVToolNix,这是一套工具,其中一个是mkinfo
,它可以用于检索有关Matroska和WebM文件的一些信息。
还有其他答案提到的mkvalidator
,但我找不到最近为Linux构建的版本。
如果你检查他们的下载页面,你会发现Ubuntu存储库。一旦将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/
https://askubuntu.com/questions/377596
复制相似问题