So überprüfen Sie die Integrität heruntergeladener großer MKV-Dateien

7

Habe gerade eine große MKV-Datei heruntergeladen, die mehr als 20 GB groß ist. Ich habe mehrere Tage gebraucht, um den Download abzuschließen. Aber wie kann man überprüfen, ob der Download abgeschlossen wurde oder nur zur Hälfte abgebrochen wurde? Ich habe diese Frage, weil mplayer eine mkv-Datei noch abspielen kann, bis sie kaputt ist.

Gibt es ein Dienstprogramm in Ubuntu für solche Überprüfungen?

Qiang Xu
quelle
2
Haben Sie einen Hash oder eine Prüfsumme (dh MD5 / SHA1 / CRC32 / etc) der betreffenden MKV-Datei? Wenn ja, können Sie das entsprechende md5sum/ sha1sum/ crc32/ etc verwenden, um festzustellen, ob der Hash oder die Prüfsumme übereinstimmen.
Yjwong
@yjwong: Leider habe ich keine solchen Informationen ,:-(
Qiang Xu
Die Frage ist, wie haben Sie es heruntergeladen? Verwenden Sie einen Torrent-Client?
Hinklo
@Hinklo: Nein, nur das Herunterladen des http-Protokolls hat mich einige Tage gekostet. Zum Glück ist die Verbindung dabei nicht unterbrochen worden.
Qiang Xu
1
Überprüfen Sie einfach die genaue Größe der Datei, die Sie haben, mit der Größe der Datei, die Sie zuerst herunterladen
wollten

Antworten:

7

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

mkvalidator ist ein einfaches Befehlszeilentool zum Überprüfen der Matroska- und WebM-Dateien auf Spezifikationskonformität. Es vergleicht die verschiedenen gefälschten oder fehlenden Schlüsselelemente mit der EBML DocType-Version der Datei und meldet die Fehler / Warnungen in der Befehlszeile.

Benutzen:

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

Jedoch mkvalidatorvalidieren konnte nur die Struktur des Behälters Mastroska, nicht die „Nutzlast“ (dh A / V - Daten) darin. Um den Datenteil zu validieren, benötigen Sie noch einen Decoder, um festzustellen, ob er korrekt decodiert. Von https://superuser.com/a/100290 :

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

Dieser Befehl ffmpegliest die mkv-Datei ein und versucht, sie Frame für Frame zu dekodieren. Alle beim Dekodierungsprozess gefundenen Fehler werden in einer error.logDatei aufgezeichnet .

Zhuoyun Wei
quelle
2

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

1010dvpt
quelle
1
Das scheint ein Skript für Windows zu sein. Dies ist eine Ubuntu-Site. Vermisse ich etwas
Gabriel
1
An Ihre Bedürfnisse anpassen?
Max Burns