KJNodes/imagegenerated

Decodificar y Guardar Video(DecodeAndSaveVideo)

Decodifica fotogramas de video y audio a partir de representaciones latentes, los combina y los guarda como un archivo de video, sin mantener imágenes intermedias en memoria.

Decode And Save Video

video_latent
audio_latent
video_vae
audio_vae
tiling
fps
25.00
filename_prefix
video/ComfyUI
format
auto
codec
auto
tile_size
512
overlap
64
temporal_size
4096
temporal_overlap
16
KJNodes

Descripción

El Decodificar y Guardar Video decodifica fotogramas de video y audio opcional a partir de representaciones latentes, los combina y guarda el video resultante directamente en un archivo. Está diseñado para eficiencia de memoria: los fotogramas decodificados se escriben en disco sobre la marcha sin almacenar todas las imágenes intermedias en RAM. Esto lo hace adecuado para videos largos o de alta resolución que de otro modo excederían la memoria disponible.

El nodo espera una representación latente de los fotogramas de video (generalmente producida por un modelo de difusión de video) y una representación latente opcional del audio. Se deben proporcionar dos modelos VAE separados: uno para decodificar el latente de video (video_vae) y otro para decodificar el latente de audio (audio_vae – requerido solo si se suministra un audio_latent). El nodo también admite decodificación en mosaico (espacial y temporal) para reducir aún más el uso de memoria, configurable a través de los parámetros de mosaico.

Use este nodo como el paso final en un pipeline de generación de video para exportar el resultado a un formato de contenedor de video común.

Entradas

EntradaTipoRequeridoPredeterminadoNotas
video_latentLATENTLa representación latente de los fotogramas de video. Generalmente obtenida de un modelo de difusión de video compatible.
audio_latentLATENTNoLa representación latente de los fotogramas de audio. Si se proporciona, también debe conectarse un audio_vae. Déjelo desconectado para obtener video silencioso.
fpsFLOAT25.0Velocidad de fotogramas del video de salida. Rango: 0 – 999 (paso 0.01).
filename_prefixSTRINGvideo/ComfyUIPrefijo para el archivo de video guardado. Puede incluir tokens de formato como %date:yyyy-MM-dd% o referencias a valores de nodo como %Empty Latent Image.width%. El nodo agrega automáticamente un sufijo único para evitar sobrescrituras.
formatCOMBOautoFormato del contenedor de salida. Las opciones dependen de los codificadores disponibles del sistema (ej., mp4, avi, mkv, webm). auto selecciona el formato más ampliamente compatible (generalmente MP4).
codecCOMBOautoCódec de video a utilizar. Las opciones dependen de los codificadores instalados en el sistema (ej., libx264, libx265, libvpx, libaom-av1). auto elige un códec comúnmente disponible (generalmente H.264).
video_vaeVAEEl modelo VAE utilizado para decodificar el video_latent en fotogramas de píxeles. Debe ser compatible con la representación latente.
audio_vaeVAENoEl modelo VAE utilizado para decodificar el audio_latent en muestras de audio. Requerido cuando audio_latent está conectado.
tilingDYNAMICCOMBOModo de mosaico para la decodificación de video. Las opciones dinámicas pueden incluir disable (decodificación de fotograma completo), spatial (mosaico solo espacial), temporal (mosaico solo temporal) o both. Las opciones exactas dependen de la implementación del nodo y del VAE conectado.
tile_sizeINT512Ancho/alto de cada mosaico espacial. Valores más pequeños reducen el uso máximo de memoria pero aumentan el tiempo de decodificación. Rango: 64 – 4096 (paso 32). Solo se usa cuando el mosaico espacial está activo.
overlapINT64Superposición (en píxeles) entre mosaicos espaciales adyacentes. Una superposición mayor reduce las costuras visibles en los bordes de los mosaicos, a costa de más memoria y tiempo de procesamiento. Rango: 0 – 4096 (paso 32).
temporal_sizeINT4096Número de fotogramas a decodificar a la vez cuando el mosaico temporal está habilitado. Un valor mayor que el recuento total de fotogramas desactiva efectivamente el mosaico temporal. Solo es relevante para VAEs de video que admiten mosaico temporal. Rango: 8 – 4096 (paso 4).
temporal_overlapINT16Número de fotogramas superpuestos entre fragmentos temporales consecutivos. Una superposición mayor puede suavizar las costuras temporales, pero usa más memoria y aumenta el tiempo de decodificación. Rango: 4 – 4096 (paso 4).

Comportamiento del mosaico

  • Cuando tiling está desactivado, el fotograma completo se decodifica de una vez – esto usa la mayor cantidad de memoria.
  • El mosaico espacial (tiling = "spatial" o "both") divide cada fotograma en mosaicos más pequeños de tamaño tile_size×tile_size, los decodifica de forma independiente y combina las regiones superpuestas.
  • El mosaico temporal (tiling = "temporal" o "both") divide la secuencia de fotogramas en fragmentos de temporal_size fotogramas, cada fragmento superpuesto por temporal_overlap fotogramas. Solo es aplicable para VAEs que admiten descomposición temporal (ej., algunos VAEs de video).
  • El nodo maneja automáticamente la combinación de regiones superpuestas y bordes de mosaicos.

Salidas

Este nodo no tiene conexiones de salida. El video decodificado se escribe directamente en disco usando la ruta construida a partir de filename_prefix. El nodo no devuelve ningún dato al flujo de trabajo.

Notas de uso

  • Gestión de memoria: El nodo transmite fotogramas decodificados al disco a medida que se producen. Incluso con el mosaico desactivado, no acumulará todos los fotogramas en memoria simultáneamente. El mosaico reduce aún más el pico de memoria a costa de una decodificación más lenta.
  • Audio: Para incluir audio, proporcione tanto un audio_latent como un audio_vae. El VAE de audio debe coincidir con el espacio latente de audio (ej., de un modelo de difusión de audio). Si no se conecta ningún latente de audio, el video de salida será silencioso.
  • Soporte de formato y códec: Los formatos y códecs disponibles dependen de la instalación de FFmpeg (u otro codificador) en su sistema. Use auto para una experiencia sin complicaciones; si necesita un códec o contenedor específico, asegúrese de que el codificador requerido esté instalado.
  • Tokens de prefijo de nombre de archivo: Puede usar la sintaxis de formato de ComfyUI para incluir fecha, hora o valores de nodo. Por ejemplo:
    video/ComfyUI_%Empty Latent Image.width%x%Empty Latent Image.height%_%date:yyyy-MM-dd%
    producirá nombres de archivo como video/ComfyUI_512x512_2025-01-15_0001.mp4.
  • Ajuste del tamaño de mosaico: Para la mayoría de los casos de uso, un tile_size de 512 y un overlap de 64 proporcionan un buen equilibrio entre memoria y velocidad. Aumente tile_size si la memoria lo permite; disminúyalo si se queda sin VRAM.
  • Mosaico temporal: Esto solo es efectivo con VAEs que admitan nativamente el mosaico temporal. Si su VAE no lo hace, establecer parámetros temporales no tendrá efecto.
  • Incrementos de paso: Todos los parámetros enteros de mosaico aplican el tamaño del paso definido en el nodo (32 para espacial, 4 para temporal). Los valores no alineados con el paso se redondean automáticamente.

Comentarios

Inicia sesión con GitHub para unirte a la conversación.

Cargando comentarios…
Decodificar y Guardar Video (DecodeAndSaveVideo) - ComfyUI-KJNodes | ComfyUI Wiki