«Бесшовный» цикл зависает/приостанавливается в начале клипа

У меня есть короткое видео, которое я хотел бы экспортировать в формате mp4 и использовать в непрерывном цикле.

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

При работе как в Premiere CS6, так и в After Effects CS6 клип плавно зацикливается. Когда я экспортирую и просматриваю медиа, короткая пауза/заикание видна.

Я пробовал выводить видео во многих форматах файлов (H.264, Quicktime, MPEG4 и т. д.), используя различные настройки экспорта. Результирующий файл всегда имеет короткую паузу в начале цикла при просмотре в OS X Quicktime и VLC, а также при внедрении в виде видео HTML5 (но не отвлекайтесь на веб-компонент).

Пример файла mp4 встроен здесь: http://mechaneyes.com/vid/ . Это незначительно, но видео длится 2 секунды, так что вы будете неоднократно видеть икоту. При необходимости вы можете щелкнуть видео правой кнопкой мыши и сохранить его для просмотра в другом месте.

Заранее благодарим за любую помощь, которую вы можете оказать!

Ответы (2)

В редакторе каждый кадр завершен сам по себе, но в выходных форматах, которые вы упомянули, видео почти всегда сжимается таким образом, что только определенные кадры (называемые I-кадрами) являются полными и независимыми. Остальные — это «разностные» кадры, основанные на информации из окружающих кадров.

В точке цикла игроку часто нужно начать заново, пополнить свои буферы и запустить движок. Часто вы можете помочь, завершив свой сегмент I-кадром. Но единственный верный способ воспроизвести то, что вы видите в редакторе, — это выводить только I-кадры. MJPEG является примером кодека, который всегда делает это, но есть и другие кодеки, которым можно дать указание. Недостатком является то, что видео будет значительно больше.

Попробуйте MJPEG и посмотрите, подходит ли он вам.

Спасибо, @jim-mack, и спасибо за обстоятельный ответ. Не зная, что происходит за кулисами, я использовал файлы MJPEG при воспроизведении с VDMX. Это единственный формат, который работает/функционирует. К сожалению, в этом случае мне нужно, чтобы размеры файлов были как можно меньше, поскольку они будут жить своей жизнью, встроенной в Интернет. Нужна вся пропускная способность, которую я могу получить. Еще раз спасибо.
Другой обходной путь — сделать несколько циклов в видео, чтобы при заикании оно случалось реже. Конечно, это также увеличит размер вашего файла. Я делаю это для видео, которое используется в большом общественном месте. Много раз видео воспроизводится с использованием таких устройств, как Roku Boxes, которые могут заикаться на каждом цикле. Я редактирую циклы в видео такой длины, которую могу поместить на карту, поэтому заикание будет только раз в час или около того.
Это может быть неудобно, но другим способом решения проблемы может быть удаление нескольких кадров из начала или конца цикла. Это будет работать только для определенного контента, но может сделать переход менее заметным.

Если вы используете Linux, установите totem.

sudo apt-get install totem

Я обнаружил, что vlc player делает паузу, но тотем («видео») зацикливается без проблем.