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

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

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

2 ответа2

2

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

1

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .