Плавнее движение: кадры между кадрами

<!-- lesson: video-interpolate -->

Урок «video-interpolate» в группе Видео списка уроков. Шагов: 7.

Чему вы научитесь

В готовом ролике становится вдвое больше кадров, и он плавно идёт с вдвое большей частотой.

Что понадобится

  • Урок продолжает Видео на скромной видеокарте: Wan 2.2 5B. Карточка говорит об этом; это подсказка, а не замок.
  • Файлы моделей, которые урок проверяет:
    • для поля model_name ноды Load Frame Interpolation Model: файл, в имени которого есть film.
  • Ноды: Load Video, Get Video Components, Load Frame Interpolation Model, Frame Interpolate, Create Video, Save Video.
  • Приложение ничего не скачивает и не устанавливает. Тексты шагов ниже говорят, какие файлы, в какие папки и какой шаблон ComfyUI их называет.

Шаги

Слова каждого шага, как их показывает урок. Имена нод выделены.

  1. Что делает интерполяция (чтение)

    Модель интерполяции смотрит на два соседних кадра и рисует тот, что между ними. Ролик в 16 кадров в секунду становится плавным, в 32, а его длина в секундах не меняется.

    Цена: маленькая модель (FILM или RIFE, десятки мегабайт) в models/frame_interpolation. Работает на любой карте, на которой работает ComfyUI, и быстро: от секунд до минут. Память растёт с размером и числом кадров.

    Это ноды самого ComfyUI. Пак ComfyUI-Frame-Interpolation делает то же своими нодами RIFE VFI и FILM VFI. Если на холсте уже есть другой граф, начните с пустого: «Файл ▸ Новый проект».

  2. Загрузите ролик

    Добавьте ноды Load Video и Get Video Components. В file выберите ролик и подключите выход Load Video ко входу video ноды Get Video Components. Её выходы: кадры, звук и частота кадров.

  3. Загрузите модель интерполяции

    Добавьте ноду Load Frame Interpolation Model и выберите модель в model_name: film_net выбирает шаблон, файлы RIFE быстрее.

    Если нужного файла в списке нет, значит, его нет в вашем ComfyUI. Приложение ничего не скачивает. Проще всего открыть в самом ComfyUI шаблон «Frame Interpolation: FILM or RIFE»: он покажет, каких файлов не хватает и куда их положить. Потом выберите здесь в меню «Синхронизация ▸ Синхронизировать сейчас», и файлы появятся в списках.

  4. Дорисуйте кадры между

    Добавьте ноду Frame Interpolate. Подключите модель к её входу interp_model, а выход images ноды Get Video Components к её входу images. Поставьте multiplier 2.

    2 вставляет по одному новому кадру между каждыми двумя, 4 по три. Большое число на быстром движении больше выдумывает и чаще ошибается.

  5. Сохраните с новой частотой

    Добавьте ноды Create Video и Save Video. Кадры ноды Frame Interpolate идут в images, выход audio ноды Get Video Components в audio, ролик в video ноды Save Video.

    В поле fps поставьте старую частоту, умноженную на multiplier: для ролика в 16 кадров и множителя 2 это 32. Со старой частотой ролик пойдёт вдвое медленнее.

  6. Если результат не тот (чтение)

    • На быстром движении размазанные формы: уменьшите multiplier до 2 или попробуйте другую модель.
    • Ролик идёт слишком медленно или быстро: fps не равен старой частоте, умноженной на множитель.
    • Интерполяция даёт и плавное замедление: оставьте fps прежним, и ролик пойдёт медленнее и дольше.
  7. Граф готов (чтение)

    Сохраните граф через «Файл ▸ Сохранить workflow для ComfyUI…», откройте файл в ComfyUI и запустите там. Само приложение в ComfyUI ничего не запускает.

Что проверяет урок

Шаг для чтения сделан, когда вы нажимаете Понятно, дальше. Шаг с делом отмечается сам, когда на холсте есть:

  • Шаг 2, Загрузите ролик:
    • нода Load Video.
    • нода Get Video Components.
    • VIDEO ноды Load Video во вход video ноды Get Video Components.
    • file ноды Load Video: значение выбрано.
  • Шаг 3, Загрузите модель интерполяции:
    • нода Load Frame Interpolation Model.
    • в поле model_name ноды Load Frame Interpolation Model стоит файл, в имени которого есть film (заглавные буквы, точки и дефисы не важны).
  • Шаг 4, Дорисуйте кадры между:
    • нода Frame Interpolate.
    • INTERP_MODEL ноды Load Frame Interpolation Model во вход interp_model ноды Frame Interpolate.
    • images ноды Get Video Components во вход images ноды Frame Interpolate (можно через Upscale Image или Upscale Image By или ImageFromBatch или ImageResizeKJv2 или Resize Image или GetImageRangeFromBatch или ResizeImageMaskNode).
    • multiplier ноды Frame Interpolate: от 2 до 4; «Сделать за меня» ставит 2.
  • Шаг 5, Сохраните с новой частотой:
    • нода Create Video.
    • нода Save Video.
    • IMAGE ноды Frame Interpolate во вход images ноды Create Video.
    • audio ноды Get Video Components во вход audio ноды Create Video.
    • VIDEO ноды Create Video во вход video ноды Save Video.
    • fps ноды Create Video: от 2 до 120; «Сделать за меня» ставит 32.

См. также

Страница перенесена из wiki репозитория приложения (docs/wiki/lessons/Video-Interpolate.ru.md, ревизия b8e3f71). То же руководство встроено в приложение: «Справка ▸ Руководство».

Чтобы обновить её, выполните npm run import, а затем npm run build в папке сайта.