Just downloaded a big mkv file which is more than 20GB. It took me several days to finish the downloading. But, how to check whether the download has been completed, or it was just aborted halfway? I have this question, because for a mkv file, mplayer can still play it until the point it is broken.
Any utility in ubuntu for such kind of checks?
As you do not have checksum info for the file (CRC32, MD5, SHA-1, SHA-256, etc), you could try to validate the Mastroska format itself.
To use:
However,
mkvalidator
could only validate the structure of the Mastroska container, not the "payload" (i.e. A/V data) in it. To validate the data portion, you still need a decoder to see if it decodes correctly. From https://superuser.com/a/100290 :This command uses
ffmpeg
to read in the mkv file and tries to decode it frame by frame. Any errors found in the decoding process will be recorded inerror.log
file.The matroska validation tool works great for checking the integrity of the container. Here is a recursive wrapper script that I wrote in python that I use for large libraries. https://github.com/1010dvpt/mkv-validator
There's the MKVToolNix, mentioned in the official Matroska website, which is a package of tools, one of them is
mkinfo
which can be used to retrieve some information about Matroska and WebM files.There's also the
mkvalidator
as mentioned by the other answers, but I couldn't find recent builds for Linux.If you check their download page, you will find Ubuntu deb repositories. And once you add the deb repository to your sources list, you will be able to install the command line tools and/or the GUI tool as well.
Here is an example of the output you get when you use
mkvinfo
on a file:Matroska page mentioning the tool: https://www.matroska.org/downloads/mkvtoolnix.html
MKVToolNix page: https://mkvtoolnix.download/