ComfyUI Extension: ComfyUI_AIIA

Authored by havvk

Created

Updated

2 stars

AIIA Nodes for ComfyUI is a comprehensive suite of advanced nodes designed to streamline and supercharge your video and audio generation workflows. It centrally addresses the critical Out-Of-Memory (OOM) issues encountered when processing long sequences by intelligently handling frames on disk. The suite includes: a powerful Video Combiner with an extensible format system; memory-efficient FLOAT Talking Head Animator nodes with both in-memory (for speed) and on-disk (for stability) modes; and a sophisticated Speaker Diarization toolkit powered by NeMo for identifying who spoke when. Utility nodes like the OOM-safe Image Sequence Concatenator are also included to create comparison or multi-panel videos effortlessly.

Custom Nodes (0)

    README

    image

    AIIA Nodes for ComfyUI

    欢迎来到 AIIA Nodes for ComfyUI 仓库!这是一个旨在为 ComfyUI 提供一系列强大、直观且高度可定制的节点的集合。这些节点专注于简化复杂的工作流,并为创意工作者提供最大的灵活性。

    本节点套件致力于解决 ComfyUI 工作流中的核心痛点。


    🚀 全新旗舰节点:AIIA 媒体浏览器 🚀

    还在费力地翻找 output 文件夹,或者对着一堆时间戳命名的文件猜内容吗?

    我们隆重推出 AIIA 媒体浏览器——一个完全集成在 ComfyUI 内部的、功能完备的媒体文件管理中心。它的诞生,旨在彻底改变你管理和使用生成结果的方式,让整个过程变得高效、直观且充满乐趣。 image

    ✨ 为何选择 AIIA 浏览器?

    • 告别猜测: 无需离开 ComfyUI 即可即时预览图片、视频和音频。
    • 为性能而生: 专为处理包含数千乃至数万个文件的海量输出文件夹而设计,极致流畅,拒绝卡顿。
    • 精美且直观: 拥有现代化的用户界面,与 ComfyUI 原生主题无缝融合,宛若天生。

    核心亮点

    1. 顶级的界面与用户体验

    • 双视图模式: 可在经典的 图标视图(支持缩放)和信息详尽的 列表视图 之间一键切换。
    • 沉浸式全屏查看器: 双击文件即可进入一个独立的媒体查看器。支持视频/音频播放、用于快速导航的胶片缩略图,并提供多种导航方式(鼠标滑动、滚轮、键盘方向键和长按按钮)。
    • 全键盘导航: 为高级用户设计,你可以完全通过键盘在文件夹之间穿梭、选择文件、打开预览、显示/隐藏工具提示,实现真正的“效率流”操作。
    • 交互式路径与面包屑导航: 通过可点击的面包屑轻松跳转目录,或直接输入路径进行导航。

    2. 无与伦比的性能与技术

    • 高性能后端: 基于 Python 的异步后端,利用 ffmpegPillow 进行即时的缩略图与视频海报生成。
    • 智能缓存: 所有缩略图和元数据都会被智能缓存。浏览器仅在文件发生变化时才重新生成,确保后续加载瞬间完成。
    • 懒加载与虚拟滚动: 我们在图标视图中使用 IntersectionObserver,在列表视图中实现 完全虚拟滚动。这意味着浏览器永远只渲染屏幕上可见的内容,即使面对上万个文件也能保持极低的内存占用和零延迟。
    • 无阻塞元数据分析: 在列表视图中,浏览器会在后台批量分析视频时长、尺寸等元数据,并以进度条显示,完全不阻塞UI操作。

    3. 强大的核心功能

    • 内容丰富的工具提示 (Tooltip): 将鼠标悬停在任何文件或文件夹上,即可看到包含详细元数据(尺寸、时长、日期等)的浮窗,甚至还能 直接在浮窗里预览图片、视频和音频
    • 高级排序:名称、日期、大小、类型、尺寸或时长 对文件进行排序,总能快速找到你想要的。
    • 视图自定义: 在设置面板中,你可以根据习惯隐藏文件夹侧边栏,或开关视频预览功能。所有设置都会被自动保存。

    🚀 核心设计理念:为大规模生成而生

    本节点套件的另一个核心设计初衷,是为了攻克困扰许多用户的技术难题,特别是解决在生成长视频或处理大量图像帧时常见的内存不足(OOM)问题

    🌟 告别OOM:为处理海量帧而生

    处理成百上千张高清图像帧时,轻易就会耗尽 VRAM 和系统内存,导致工作流中断。AIIA 节点通过 增量式处理(Incremental Processing) 的策略从根本上解决了这个问题。

    无论是从磁盘流式读取帧进行视频合并,还是将生成结果逐帧保存到磁盘,我们的节点都永远不需要将所有图像一次性加载到内存中。这意味着您可以轻松生成数千帧的视频,而无需再为内存限制而烦恼。

    ✨ 无缝与高效的平衡

    我们提供了两种工作模式,以适应不同场景:

    • 内存模式: 对于短序列或测试,可以直接将上游节点的 IMAGE 张量输入,实现无缝、快速的内存内处理。
    • 磁盘模式: 对于长序列的最终生成,节点会高效地从磁盘流式读取/写入帧,保证了稳定性和极低的内存占用。

    🔧 强大且可扩展的预设系统

    通过简单的 JSON 文件,您可以完全自定义视频和音频的编码参数,并将其保存为可复用的格式预设。这使得高级用户可以轻松实现复杂的 FFmpeg 配置,而无需修改任何代码。


    🛠️ 安装与先决条件

    1. 安装 FFmpeg (视频与浏览器节点强依赖)

    视频合并节点和媒体浏览器的视频功能依赖 ffmpegffprobe

    • 访问 FFmpeg 官网 下载并安装。
    • 强烈建议将 FFmpeg 的 bin 目录添加到您系统的 PATH 环境变量中。
    • 在终端中运行 ffmpeg -versionffprobe -version 来验证安装。

    2. 安装 NeMo 模型 (音频AI节点必须)

    音频处理节点(如说话人日志)依赖 NeMo 模型。

    • 在 ComfyUI 的 models 目录下,创建一个名为 nemo_models 的子目录。最终路径应为 ComfyUI/models/nemo_models/
    • NVIDIA NeMo 目录 下载所需的 .nemo 模型文件(例如 diar_sortformer_4spk-v1.nemo)。
    • 将下载的 .nemo 文件放入 ComfyUI/models/nemo_models/ 目录中。

    3. 安装本节点套件

    进入 ComfyUI 的自定义节点目录,然后克隆本仓库:

    cd ComfyUI/custom_nodes/
    git clone https://github.com/havvk/ComfyUI_AIIA.git
    

    最后,重启 ComfyUI


    ✨ 可用节点

    如何使用 AIIA 媒体浏览器

    1. 安装并重启后,一个 "AIIA Browser" 按钮会出现在 ComfyUI 主菜单中。
    2. 点击即可启动浏览器。
    3. 尽情探索你的 output 目录吧!

    视频合并 (AIIA, 图像或目录)

    这是一个功能强大且高度可定制的视频合并节点,是您工作流中处理视频生成的终极解决方案。

    video_combine_node_ui

    核心亮点

    • 内存高效: 通过 frames_directory 输入,可以处理几乎无限数量的图像帧,完美解决了 OOM 问题。
    • 直接张量输入: 接受上游节点的 IMAGE 张量,方便快速迭代和测试。
    • 全面的音频控制: 支持 AUDIO 张量和外部文件,并提供对编解码器和码率的精细控制。
    • 智能自动配置: auto 模式能自动应用格式预设中的音频参数,并能自动检测源文件的码率。

    FLOAT 影片生成 (内存与磁盘模式)

    这组节点封装了先进的 FLOAT 模型,能够根据参考图像和音频生成高质量的口型同步影片。我们提供了两种模式,以应对不同长度的生成需求。

    1. Float Process (AIIA In-Memory)

    • 用途: 用于生成短片、快速预览或直接与其他内存节点(如视频合并的 images 输入)连接。
    • 输出: IMAGE 张量。
    • 优势: 速度快,流程无缝。
    • 限制: 受限于您的 VRAM 和系统内存大小,不适合生成长视频。

    2. Float Process (AIIA To-Disk for Long Audio)

    • 用途: 专门用于长音频的影片生成,是解决OOM问题的关键
    • 输出: STRING (包含所有生成帧的目录路径) 和 INT (帧总数)。
    • 优势: 在解码过程中,节点以小批量方式处理帧并逐帧保存到磁盘,内存占用极低,可以处理任意长度的音频。
    • 工作流: 此节点的输出目录可以直接作为 视频合并节点frames_directory 输入,构建一个完整的、内存高效的 talking head 视频生成管线。

    音频处理:说话人日志 (Diarization)

    这组节点利用 NeMo Sortformer E2E 模型,为您的音频提供先进的说话人识别功能。在4090RTX显卡上只需2秒钟就能完成10分钟音频的声纹分割聚类任务。

    1. AIIA Generate Speaker Segments

    • 用途: 对一段音频进行分析,找出“谁在什么时候说话”。
    • 输入: AUDIO 张量。
    • 输出: WHISPER_CHUNKS (一个结构化的数据,包含一系列带有说话人标签的时间片段,如 SPEAKER_00, SPEAKER_01 等)。
    • 亮点: 提供多种后处理配置(从宽松到严格),让您可以微调分割的灵敏度,以适应不同质量的音频。

    2. AIIA E2E Speaker Diarization

    • 用途: 将 Generate Speaker Segments 的识别结果精确地应用到由 Whisper 等工具生成的、带有文本的 WHISPER_CHUNKS 上。
    • 输入: WHISPER_CHUNKS (来自文本转录节点) 和 AUDIO 张量。
    • 输出: 更新后的 WHISPER_CHUNKS,其中每个文本块都已被赋予了最匹配的说话人标签。
    • 工作流: (音频) -> Whisper -> (文本Chunks) + (音频) => E2E Diarizer => 最终带有说话人标签的文本稿

    实用工具 (Utilities)

    Image Concatenate (AIIA Utils, Disk)

    • 用途: 将两个图像序列(来自两个不同的目录)逐帧拼接在一起,非常适合创建对比视频多面板视频
    • 核心亮点 (OOM-Safe): 此节点逐帧读取、处理和保存,从不将整个图像序列加载到内存中,因此可以处理任意数量的帧。
    • 功能:
      • 支持上下左右四个方向的拼接。
      • 可自动调整其中一个图像序列的尺寸以匹配另一个,并保持宽高比。
      • 可自定义背景填充颜色。
    • 输出: STRING (包含所有拼接后帧的新目录路径)。

    ❓ 故障排查

    • 错误: "FFmpeg not found" / "NeMo model not found"
    • 错误: "帧目录验证失败"
      • 请确保您填写的路径是绝对路径且真实存在。

    许可证

    本项目采用 MIT 许可证