Frage Wie überprüft man die Integrität von heruntergeladenen großen MKV-Dateien?


Habe gerade eine große mkv-Datei heruntergeladen, die mehr als 20 GB groß ist. Ich brauchte einige Tage, um das Herunterladen zu beenden. Aber, wie kann man prüfen, ob der Download abgeschlossen wurde oder ob er einfach nur halb abgebrochen wurde? Ich habe diese Frage, denn für eine mkv-Datei kann MPlayer es immer noch bis zu dem Punkt abspielen, an dem es kaputt ist.

Irgendein Dienstprogramm in ubuntu für solche Art von Kontrollen?


4
2017-11-15 18:36


Ursprung


Haben Sie einen Hash oder eine Prüfsumme (d. H. MD5 / SHA1 / CRC32 / etc) der betreffenden MKV-Datei? Wenn Sie haben, können Sie das entsprechende verwenden md5sum/sha1sum/crc32/ etc, um zu sehen, ob der Hash oder die Prüfsumme übereinstimmen. - yjwong
@yjwong: Ach, ich habe solche Infos nicht, :-( - Qiang Xu
Die Frage ist, wie hast du es heruntergeladen? Einen Torrent-Client verwenden? - Hinklo
@Hinklo: Nein, nur HTTP-Protokoll-Download, nahm mich um einige Tage zu beenden. Zum Glück ist die Verbindung nicht kaputt gegangen. - Qiang Xu
Überprüfen Sie einfach die genaue Größe der Datei mit der Größe der Datei, die Sie herunterladen wollten - Hinklo


Antworten:


Da Sie keine Prüfsummeninformationen für die Datei haben (CRC32, MD5, SHA-1, SHA-256 usw.), könnten Sie versuchen, das Mastroska-Format selbst zu validieren.

mkvalidator ist ein einfaches Kommandozeilenwerkzeug, um Matroska und WebM Dateien auf Übereinstimmung mit den Spezifikationen zu überprüfen. Es prüft die verschiedenen gefälschten oder fehlenden Schlüsselelemente auf die EBML DocType-Version der Datei und meldet die Fehler / Warnungen in der Befehlszeile.

Benutzen:

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

Jedoch, mkvalidator konnte nur die Struktur des Mastroska-Containers validieren, nicht die "Nutzlast" (d. h. A / V-Daten) darin. Um den Datenteil zu validieren, benötigen Sie noch einen Decoder, um zu sehen, ob er richtig dekodiert. Von https://superuser.com/a/100290 :

ffmpeg -v error -i file.avi -f null - 2>error.log

Dieser Befehl verwendet ffmpeg um die mkv-Datei einzulesen und versucht sie Frame für Frame zu entschlüsseln. Alle Fehler, die beim Decodieren gefunden werden, werden in aufgezeichnet error.log Datei.


3
2018-06-14 07:23





Das Matroska Validierungswerkzeug eignet sich hervorragend zur Überprüfung der Integrität des Containers. Hier ist ein rekursives Wrapper-Skript, das ich in Python geschrieben habe, das ich für große Bibliotheken verwende. https://github.com/1010dvpt/mkv-validator 


1
2017-09-25 17:27



Das scheint ein Skript für Windows zu sein. Dies ist eine Ubuntu-Site. Fehle ich etwas? - Gabriel