学习猫学习猫
AI应用
可获取

ComfyUI-VideoHelperSuite

与视频工作流相关的节点
60 预览
学作者 学习猫
2026-10-18
目录
前言
输入/输出节点
加载视频
加载图像序列
视频合并
加载音频
潜空间/图像节点
拆分批次
合并批次
选择每第N个
获取计数
复制批次
视频预览
高级预览
视频格式

扩展介绍

与视频工作流相关的节点

输入/输出节点

加载视频

将视频文件转换为一系列图像

  • video: 要加载的视频文件
  • force_rate: 根据需要丢弃或复制帧以达到目标帧率。设置为 0 可禁用此功能。这可用于快速匹配建议的帧率,例如 AnimateDiff 的 8 fps。
  • force_size: 允许快速调整到多种建议尺寸。多个选项允许您仅设置宽度或高度,并根据宽高比确定另一个维度。
  • frame_load_cap: 返回的最大帧数。这也可以视为最大批量大小。
  • skip_first_frames: 在调整强制帧率后,从视频开头跳过的帧数。通过将此数字递增 frame_load_cap,您可以轻松地分部分处理较长的输入视频。
  • select_every_nth: 允许跳过一定数量的帧,而无需考虑基础帧率或冒帧重复的风险。在处理动画 GIF 时通常很有用。 加载视频节点存在一个路径变体,允许从外部路径加载视频 step resize 如果在 Web UI 的选项菜单中启用了高级预览,预览将反映节点上的当前设置。

加载图像序列

从子文件夹加载所有图像文件。选项与加载视频类似。

  • image_load_cap: 返回的最大图像数量。这也可以理解为最大批量大小。
  • skip_first_images: 要跳过的图像数量。通过将此数字按 image_load_cap 递增,您可以轻松地将长图像序列分成多个批次。
  • select_every_nth: 允许在每两个返回帧之间跳过一定数量的图像。

加载图像序列也存在路径变体。

视频合并

将一系列图像合并为输出视频
如果提供了可选的音频输入,它也会被合并到输出视频中

  • frame_rate: 每秒显示的输入帧数。较高的帧率意味着输出视频播放更快且持续时间更短。对于 AnimateDiff,这通常应保持为 8,或与加载视频节点的 force_rate 匹配。
  • loop_count: 视频应重复的额外次数
  • filename_prefix: 用于输出的基本文件名。
    • 您可以将输出保存到子文件夹:subfolder/video
    • 与内置的保存图像节点一样,您可以添加时间戳。%date:yyyy-MM-ddThh:mm:ss% 可能变为 2023-10-31T6:45:25
  • format: 要使用的文件格式。有关配置或添加额外视频格式的高级信息,请参阅视频格式部分。
  • pingpong: 使输入以反向播放,以创建无缝循环。
  • save_output:决定图像是放入输出目录还是临时目录。 返回:一个 VHS_FILENAMES ,其中包含一个布尔值,表示是否启用了 save_output,以及一个按创建顺序排列的所有生成输出的完整文件路径列表。相应地,output[1][-1] 将是最完整的输出。

根据所选格式,可能会出现其他选项,包括

  • crf:描述输出视频的质量。数值越低,视频质量越高,文件大小越大;数值越高,视频质量越低,文件大小越小。缩放比例因编解码器而异,但视觉上无损的输出通常出现在 20 左右。
  • save_metadata:在输出视频中包含工作流副本,可以通过拖放视频来加载,就像处理图像一样。
  • pix_fmt:更改像素数据的存储方式。yuv420p10le 具有更高的色彩质量,但可能无法在所有设备上使用。

加载音频

提供加载独立音频文件的方法。

  • seek_seconds:音频文件的可选起始时间(以秒为单位)。

潜空间/图像节点

存在许多用于管理潜空间的实用节点。对于每个节点,都有一个等效的节点用于处理图像。

拆分批次

将潜空间分成两组。前 split_index 个潜空间进入输出 A,其余进入输出 B。如果提供的输入潜空间少于 split_index 个,则所有潜空间都传递给输出 A,输出 B 为空。

合并批次

将两组潜变量合并为单一输出。输出的顺序为A组潜变量后接B组潜变量。
如果输入组的大小不一致,节点提供了在合并前重新缩放潜变量的选项。

选择每第N个

每 select_every_nth 个输入中的第一个会被传递,其余的被丢弃

获取计数

复制批次

视频预览

加载视频(上传)、加载视频(路径)、加载图像(上传)、加载图像(路径)和视频合并提供动画预览。
带有预览的节点在右键点击时提供额外功能

  • 打开预览
  • 保存预览
  • 暂停预览:在处理非常大的视频时可提高性能
  • 隐藏预览:可提高性能,节省空间
  • 同步预览:重新启动所有预览以进行并排比较

高级预览

高级预览必须通过点击队列提示旁边的设置齿轮并勾选VHS高级预览选项来手动启用。
如果启用,界面中显示的视频将按需使用ffmpeg进行转换。这有几个好处

  • 加载视频节点的预览将反映节点上的设置,如skip_first_frames和frame_load_cap
    • 这使得选择输入视频的精确部分并与其输出同步变得容易
  • 如果远程运行服务器,它可以显著减少带宽使用
  • 通过将视频缩小到界面分辨率,可以大幅提升浏览器性能,尤其对动画GIF非常有用
  • 它允许预览通常无法在浏览器中播放的视频。
  • 如果 VHS_STRICT_PATHS 被设置为环境变量,则可以限制为 ComyUI 的子目录。
  • 此功能已禁用,因为它带来了一些缺点

    • 视频在浏览器中显示之前会有延迟。如果输入视频较长,此延迟可能会变得相当大
    • 预览视频质量较低(原始视频始终可以通过右键单击 -> 打开预览来查看)

    视频格式

    熟悉 ffmpeg 的用户可以向 video_formats 文件夹添加 json 文件,以便为 Video Combine 添加新的输出类型。 考虑以下 av1-webm 的示例

    {
        "main_pass":
        [
            "-n", "-c:v", "libsvtav1",
            "-pix_fmt", "yuv420p10le",
            "-crf", ["crf","INT", {"default": 23, "min": 0, "max": 100, "step": 1}]
        ],
        "audio_pass": ["-c:a", "libopus"],
         "extension": "webm",
         "environment": {"SVT_LOG": "1"}
    }
    

    大多数配置发生在 main_pass 中,这是一个传递给 ffmpeg 的参数列表。

    • "-n" 指定如果同名文件已存在,命令应失败。这种情况不应发生,但如果出现某些错误,它将确保其他文件不会被覆盖。
    • "-c:v", "libsvtav1" 指定视频应使用新的 SVT-AV1 编码器以 av1 编解码器进行编码。SVT-AV1 比 libaom-av1 快得多,但在较旧版本的 ffmpeg 中可能不存在。或者,对于较新的 Nvidia 显卡,可以使用 av1_nvenc 进行 GPU 编码。
    • "-pix_fmt", "yuv420p10le" 指定具有 10 位色彩的标准像素格式。指定某种像素格式以确保不使用不可配置的输入 pix_fmt 非常重要。

    audio pass 包含当音频传入 Video Combine 时传递给 ffmpeg 的参数列表

    extension 既指文件扩展名,也指所使用的容器格式。如果上述某些选项在 main_pass 中被省略,可能会影响所选择的默认选项。
    可选地提供 environment 以在执行期间设置环境变量。对于 av1,它用于减少日志的详细程度,以便仅显示主要错误。
    input_color_depth 影响像素传递给 ffmpeg 子进程的格式。当前有效的选项是 8bit 和 16bit。后者将产生更高质量的输出,但属于实验性功能。

    字段可以在 webui 中以类似于创建自定义节点时使用的格式暴露为小部件。在上述示例中,-crf 的参数将在 webui 中暴露为格式小部件。格式小部件是最多包含 3 个术语的列表

    • 将在 web 界面中显示的小部件名称
    • 要么是诸如“INT”或“BOOLEAN”之类的原始类型,要么是字符串选项的列表
    • 一个选项字典