Описание
Encode Video Components извлекает кадры из видео, изменяет их размер до заданного разрешения и кодирует напрямую через VAE в латентное представление. Кадры обрабатываются один за другим, что позволяет избежать затрат памяти на хранение полного тензора изображения для всего видео сразу. Нода также пропускает аудиодорожку из входного видео и выводит метаданные, такие как частота кадров и общее количество кадров.
Входы
- video (
VIDEO, обязательно) — Видеофайл или последовательность для обработки. Должен быть корректным видео, принимаемым ComfyUI-KJNodes. - vae (
VAE, обязательно) — Модель VAE, используемая для кодирования кадров изменённого размера в латентное пространство. - width (
INT, по умолчанию:768, диапазон:0–16384, шаг:2) — Целевая ширина каждого кадра перед кодированием. Установите0, чтобы сохранить исходную ширину видео. - height (
INT, по умолчанию:512, диапазон:0–16384, шаг:2) — Целевая высота каждого кадра перед кодированием. Установите0, чтобы сохранить исходную высоту видео. - max_frames (
INT, по умолчанию:0, диапазон:0–999999, шаг:1) — Максимальное количество кадров для обработки.0означает без ограничений — обрабатывается всё видео. - upscale_method (
COMBO, по умолчанию:"lanczos") — Алгоритм интерполяции, используемый при изменении размера кадров. Варианты:nearest-exact— Быстрый, интерполяция по ближайшему соседу; может давать блочные результаты.bilinear— Сглаженный, хорошо подходит для общего масштабирования.area— Изменение размера на основе площади; эффективен при уменьшении.bicubic— Более высокое качество, чем билинейный, немного медленнее.lanczos— Чёткая передискретизация, часто предпочтительна для высококачественного уменьшения.
- keep_proportion (
DYNAMICCOMBO, обязательно) — Управляет обработкой несоответствия соотношения сторон, когда целевая ширина/высота отличаются от исходного соотношения сторон кадра. Это динамический выпадающий список, адаптирующий доступные варианты в зависимости от других входов; общие режимы включают"crop","pad","stretch"или"fit". Подробнее см. в примечаниях по использованию.
Выходы
- LATENT — Латентное представление всех обработанных кадров, закодированное VAE и объединённое в пакет. Форма соответствует ожидаемым латентным размерностям VAE.
- AUDIO — Аудиодорожка, извлечённая из входного видео, если она присутствует. Этот выход может быть пустым или
None, если видео не содержит звука. - FLOAT — Частота кадров (FPS) исходного видео в виде числа с плавающей точкой.
- INT — Общее количество фактически обработанных кадров (с учётом ограничения
max_frames).
Примечания по использованию
- Нода обрабатывает кадры последовательно и сразу передаёт каждый изменённый кадр в VAE, что значительно снижает пиковое использование памяти по сравнению с загрузкой целого видео в пакет изображений.
- Установите
widthи/илиheightв0, чтобы сохранить исходное значение. Если оба параметра не равны нулю, они задают целевое разрешение. Настройкаkeep_proportionопределяет, как разрешаются несоответствия соотношения сторон. - Выпадающий список
keep_proportionпомечен во всплывающей подсказке как "How to handle aspect ratio mismatch when resizing". Конкретные варианты зависят от реализации ноды (например,"crop to fit","pad","ignore"или"fit"). Проверьте ноду в своём рабочем процессе, чтобы увидеть доступные варианты. - Параметр
upscale_methodвлияет только на кадры, которые действительно изменяются (т.е. когда ширина или высота отличаются от исходной). Если оба измерения совпадают с оригиналом, изменение размера не происходит, и этот параметр игнорируется. - Используйте
max_framesдля ограничения обработки длинных видео или для отладки на подмножестве кадров. Установка0(по умолчанию) обрабатывает всё видео. - Выходной
LATENTможно напрямую подавать в узлы выборки (например, KSampler), которые принимают пакеты латентов. Размер пакета латентов равен количеству кадров. - Если входное видео не содержит аудиодорожки, выход
AUDIOбудет пустым заполнителем; последующие ноды, ожидающие аудио, должны корректно это обрабатывать. - Выход
FLOAT(частота кадров) и выходINT(количество кадров) могут быть полезны для синхронизации последующих шагов, зависящих от времени, или для целей отчёта.
Комментарии
Войдите через GitHub, чтобы участвовать в обсуждении.