SFTP файл перерывов загрузки

Я сталкиваюсь со странной проблемой при загрузке видеофайла.mov в удаленное местоположение sftp:

Проблема в том, что хотя локальный video1.mov воспроизводим, удаленный выдает ошибку -2048 при попытке воспроизведения (и журнал типа "moov atom not found").

ПОМЕЩЕНИЕ: локальный и удаленный файлы имеют одинаковый размер. Так что можно сломать?

2 ответа

Решение

Некоторые видео форматы не могут быть закодированы от начала до конца, как это; кодировщик возвращается к началу, чтобы изменить некоторые поля данных (размер, длина и т. д.). Кусочная копия не смогла справиться с этим, и, таким образом, теперь у вас есть поврежденный видеофайл.

Насколько я могу судить (я не смог найти какую-либо документацию, описывающую или даже допускающую ее наличие) Резюме SFTP предполагает, что часть целевого файла, которая уже существует, идентична первой части исходного файла, вплоть до размер удаленного файла. Затем он добавляет остальную часть исходного файла к существующему целевому файлу и предполагает, что эти два файла теперь идентичны.

Это не происходит, если часть, которая была сначала передана, изменяется в любом файле до возобновления передачи. Я полагаю, ваш .mov У файла есть какой-то заголовок в самом начале файла, который необходим для его воспроизведения, и он не записывается в файл до тех пор, пока кодирование не закончится. Тогда удаленный файл, который вы скопировали, пропустит этот заголовок, так как он еще не был записан во время передачи.

Другие инструменты, такие как rsync иметь возможность обнаруживать эти вещи, а в некоторых случаях избегать повторной передачи всего файла, по крайней мере, если позднее изменение просто перезаписывает, а не вставляет.

Другие вопросы по тегам