KJNodes/imagegenerated

Décoder et enregistrer la vidéo(DecodeAndSaveVideo)

Décode les images vidéo et l'audio à partir de représentations latentes, les combine et enregistre le résultat en tant que fichier vidéo, sans conserver les images intermédiaires en mémoire.

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

Description

Le nœud Décoder et enregistrer la vidéo décode les images vidéo et l'audio facultatif à partir de représentations latentes, les combine et enregistre la vidéo résultante directement dans un fichier. Il est conçu pour l'efficacité mémoire : les images décodées sont écrites sur le disque à la volée sans stocker toutes les images intermédiaires en RAM. Cela le rend adapté aux vidéos longues ou haute résolution qui dépasseraient autrement la mémoire disponible.

Le nœud attend une représentation latente des images vidéo (généralement produite par un modèle de diffusion vidéo) et une représentation latente facultative pour l'audio. Deux modèles VAE distincts doivent être fournis : un pour décoder le latent vidéo (video_vae) et un pour décoder le latent audio (audio_vae – requis seulement si un audio_latent est fourni). Le nœud prend également en charge le décodage en mosaïque (spatial et temporel) pour réduire davantage l'utilisation de la mémoire, configurable via les paramètres de mosaïque.

Utilisez ce nœud comme étape finale dans un pipeline de génération vidéo pour exporter le résultat vers un format de conteneur vidéo courant.

Entrées

EntréeTypeRequisDéfautNotes
video_latentLATENTOuiLa représentation latente des images vidéo. Généralement obtenue à partir d'un modèle de diffusion vidéo compatible.
audio_latentLATENTNonLa représentation latente des images audio. Si fournie, un audio_vae doit également être connecté. Laissez déconnecté pour une sortie vidéo silencieuse.
fpsFLOATOui25.0Fréquence d'images de la vidéo de sortie. Plage : 0 – 999 (pas de 0.01).
filename_prefixSTRINGOuivideo/ComfyUIPréfixe pour le fichier vidéo enregistré. Peut inclure des jetons de formatage tels que %date:yyyy-MM-dd% ou des références de valeurs de nœud comme %Empty Latent Image.width%. Le nœud ajoute automatiquement un suffixe unique pour éviter les écrasements.
formatCOMBOOuiautoFormat du conteneur de sortie. Les options dépendent des encodeurs système disponibles (par ex., mp4, avi, mkv, webm). auto sélectionne le format le plus largement pris en charge (généralement MP4).
codecCOMBOOuiautoCodec vidéo à utiliser. Les options dépendent des encodeurs installés sur le système (par ex., libx264, libx265, libvpx, libaom-av1). auto choisit un codec couramment disponible (généralement H.264).
video_vaeVAEOuiLe modèle VAE utilisé pour décoder le video_latent en images pixels. Doit être compatible avec la représentation latente.
audio_vaeVAENonLe modèle VAE utilisé pour décoder le audio_latent en échantillons audio. Requis lorsque audio_latent est connecté.
tilingDYNAMICCOMBOOuiMode de mosaïque pour le décodage vidéo. Les options dynamiques peuvent inclure disable (décodage image complète), spatial (mosaïque uniquement spatiale), temporal (mosaïque uniquement temporelle) ou both. Les choix exacts dépendent de l'implémentation du nœud et du VAE connecté.
tile_sizeINTOui512Largeur/hauteur de chaque tuile spatiale. Des valeurs plus petites réduisent l'utilisation maximale de la mémoire mais augmentent le temps de décodage. Plage : 64 – 4096 (pas de 32). Utilisé uniquement lorsque la mosaïque spatiale est active.
overlapINTOui64Chevauchement (en pixels) entre les tuiles spatiales adjacentes. Un chevauchement plus élevé réduit les coutures visibles aux limites des tuiles, au prix de plus de mémoire et de temps de traitement. Plage : 0 – 4096 (pas de 32).
temporal_sizeINTOui4096Nombre d'images à décoder à la fois lorsque la mosaïque temporelle est activée. Une valeur supérieure au nombre total d'images désactive effectivement la mosaïque temporelle. Pertinent uniquement pour les VAE vidéo qui prennent en charge la mosaïque temporelle. Plage : 8 – 4096 (pas de 4).
temporal_overlapINTOui16Nombre d'images de chevauchement entre les blocs temporels consécutifs. Un chevauchement plus élevé peut lisser les coutures temporelles, mais utilise plus de mémoire et augmente le temps de décodage. Plage : 4 – 4096 (pas de 4).

Comportement de la mosaïque

  • Lorsque la mosaïque est désactivée, l'image entière est décodée en une seule fois – cela utilise le plus de mémoire.
  • La mosaïque spatiale (tiling = "spatial" ou "both") divise chaque image en tuiles plus petites de taille tile_size×tile_size, les décode indépendamment et mélange les régions qui se chevauchent.
  • La mosaïque temporelle (tiling = "temporal" ou "both") divise la séquence d'images en blocs de temporal_size images, chaque bloc se chevauchant de temporal_overlap images. Applicable uniquement pour les VAE qui prennent en charge la décomposition temporelle (par ex., certains VAE vidéo).
  • Le nœud gère automatiquement le mélange des régions qui se chevauchent et des bords des tuiles.

Sorties

Ce nœud n'a aucune connexion de sortie. La vidéo décodée est écrite directement sur le disque en utilisant le chemin construit à partir de filename_prefix. Le nœud ne renvoie aucune donnée au flux de travail.

Notes d'utilisation

  • Gestion de la mémoire : Le nœud diffuse les images décodées vers le disque au fur et à mesure de leur production. Même avec la mosaïque désactivée, il n'accumule pas toutes les images en mémoire simultanément. La mosaïque réduit encore la mémoire de pointe au prix d'un décodage plus lent.
  • Audio : Pour inclure l'audio, fournissez à la fois un audio_latent et un audio_vae. Le VAE audio doit correspondre à l'espace latent audio (par ex., provenant d'un modèle de diffusion audio). Si aucun latent audio n'est connecté, la vidéo de sortie sera silencieuse.
  • Prise en charge des formats et codecs : Les formats et codecs disponibles dépendent de l'installation FFmpeg (ou autre encodeur) sur votre système. Utilisez auto pour une expérience sans tracas ; si vous avez besoin d'un codec ou d'un conteneur spécifique, assurez-vous que l'encodeur requis est installé.
  • Jetons de préfixe de nom de fichier : Vous pouvez utiliser la syntaxe de formatage de ComfyUI pour inclure la date, l'heure ou les valeurs de nœud. Par exemple :
    video/ComfyUI_%empty_latent_image.width%x%empty_latent_image.height%_%date:yyyy-MM-dd%
    produira des noms de fichier comme video/ComfyUI_512x512_2025-01-15_0001.mp4.
  • Réglage de la taille des tuiles : Pour la plupart des cas d'utilisation, une tile_size de 512 et un overlap de 64 offrent un bon compromis entre mémoire et vitesse. Augmentez tile_size si la mémoire le permet ; diminuez-la si vous manquez de VRAM.
  • Mosaïque temporelle : Cela n'est efficace qu'avec les VAE qui prennent en charge nativement la mosaïque temporelle. Si votre VAE ne le fait pas, la définition des paramètres temporels n'aura aucun effet.
  • Incréments de pas : Tous les paramètres de tuile entiers appliquent la taille de pas définie dans le nœud (32 pour le spatial, 4 pour le temporel). Les valeurs non alignées sur le pas sont automatiquement arrondies.

Commentaires

Connectez-vous avec GitHub pour rejoindre la discussion.

Chargement des commentaires…
Décoder et enregistrer la vidéo (DecodeAndSaveVideo) - ComfyUI-KJNodes | ComfyUI Wiki