MediaInfo отображает строку:
Truncated: Yes
если файл не завершен, как ожидалось спецификациями формата.
Поскольку технически нет никакой разницы между ошибочно (не отвечающим спецификациям о границах файла) файлом, слитым и частично загруженным, технически невозможно провести различие между ошибочным файлом и частично загруженным файлом.
Можно провести еще один (расширенный) тест, например, прочитав индекс файла .mp4 и проверив, что смещение файла + размер кадра последнего кадра соответствуют размеру файла, который вы получаете, но это не совсем то, что вы ищете для (если в исходном файле есть метаданные, например, плакаты, в конце файла, и файл усекается непосредственно перед этим плакатом, частичная загрузка все еще не обнаруживается в каждом случае). Он не реализован в MediaInfo, но вы можете добавить запрос функции MediaInfo .
Во всех случаях очень сложно обнаружить все частичные загрузки, поскольку общий размер файла не указан в большинстве форматов видеофайлов, поэтому вы можете быть уверены, что файл урезан, но вы не можете быть уверены, что файл не урезан. Единственный способ убедиться, что вы загрузили полный файл, - это получить размер файла откуда-то еще (и лучше: иметь его хэш, например, MD5).
PS: этот вопрос не является специфическим для любой операционной системы.