How to check the integrity of downloaded big mkv files
Solution 1:
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.
mkvalidator is a simple command line tool to verify Matroska and WebM files for spec conformance. It checks the various bogus or missing key elements against the EBML DocType version of the file and reports the errors/warnings in the command line.
To use:
mkvalidator --details your-big-mkv-file.mkv
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 :
ffmpeg -v error -i file.avi -f null - 2>error.log
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 in error.log
file.
Solution 2:
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