Только что скачал большой файл mkv, который больше 20ГБ. Мне потребовалось несколько дней, чтобы закончить загрузку. Но как проверить, была ли загрузка завершена или она была просто прервана на полпути? У меня есть этот вопрос, потому что для mkv-файла mplayer может воспроизводить его до тех пор, пока он не сломается.
Есть ли в Ubuntu утилиты для таких проверок?
Поскольку у вас нет информации о контрольной сумме для файла (CRC32, MD5, SHA-1, SHA-256 и т. Д.), Вы можете попытаться проверить сам формат Mastroska.
mkvalidator - это простой инструмент командной строки для проверки соответствия файлов 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
.
Matroska валидация инструмент отлично подходит для проверки целостности контейнера. Вот рекурсивный скрипт-обертка, который я написал на python и использую для больших библиотек. https://github.com/1010dvpt/mkv-validator