ComfyUI-fastblend 插件完全教程
1. 插件简介
ComfyUI-fastblend 是一个专门用于视频处理和图像混合的 ComfyUI 插件,主要功能是让视频变得更加平滑流畅。这个插件就像是一个专业的视频后期处理工具箱,可以帮你制作出电影级别的平滑视频效果!
GitHub 原地址: https://github.com/AInseven/ComfyUI-fastblend
这个插件能给我们带来什么效果?
- 视频平滑处理:就像给视频做美颜一样,让原本卡顿的视频变得丝般顺滑
- 关键帧插值:就像动画师在两个关键动作之间画过渡帧,让动作更自然
- 姿态检测增强:就像给人物识别装上更好的眼睛,能更准确地识别人体姿态
- 图像批处理:就像流水线作业一样,可以同时处理多张图片,大大提高效率
- 智能提醒:就像闹钟一样,处理完成后会播放声音提醒你
当前插件包含节点总数:8个
2. 如何安装
方法一:使用 Git 克隆(推荐)
- 打开终端或命令提示符
- 进入你的 ComfyUI 安装目录下的
custom_nodes文件夹 - 运行以下命令:
git clone https://github.com/AInseven/ComfyUI-fastblend.git
方法二:手动下载
- 访问 https://github.com/AInseven/ComfyUI-fastblend
- 点击绿色的 "Code" 按钮,选择 "Download ZIP"
- 解压到 ComfyUI 的
custom_nodes文件夹中
安装后步骤
- 重启 ComfyUI
- 插件会自动安装所需的依赖包(imageio、cupy、opencv等)
- 如果是NVIDIA显卡用户,会自动安装CUDA版本的cupy以获得更好性能
3. 节点详细解析
3.1 SmoothVideo 节点 - 视频平滑处理器
这个节点就像一个专业的视频修复师,可以把原始视频和处理后的关键帧混合在一起,创造出平滑流畅的视频效果。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| orginalframe | orginalframe | 图片序列 | 连接原始视频帧 | 原始的视频帧序列 | 输入原始视频帧张量 | 连接LoadVideo节点的输出 |
| keyframe | keyframe | 图片序列 | 连接处理后帧 | 经过AI处理的关键帧 | 输入风格化帧张量 | 连接AI处理后的图片输出 |
| accuracy | accuracy | 1-3整数 | 1 | 处理精度等级 | 算法精度模式 | 1=快速,2=平衡,3=精确 |
| window_size | window_size | 1-100整数 | 15 | 平滑窗口大小 | 时间窗口大小 | 15=中等平滑,数值越大越平滑 |
| batch_size | batch_size | 1-100整数 | 16 | 每次处理帧数 | 批处理大小 | 16=每次处理16帧,显存大可调高 |
| tracking_window_size | tracking_window_size | 0-100整数 | 0 | 跟踪窗口大小 | 运动跟踪窗口 | 0=自动,精确模式下有效 |
| minimum_patch_size | minimum_patch_size | 0-100整数 | 5 | 最小补丁尺寸 | 最小匹配块大小 | 5=精细匹配,必须是奇数 |
| num_iter | num_iter | 0-100整数 | 5 | 迭代次数 | 优化迭代次数 | 5=标准质量,越大质量越好但越慢 |
| guide_weight | guide_weight | 1-100浮点数 | 10.0 | 引导权重 | 运动特征权重 | 10.0=标准,控制运动信息影响程度 |
3.2 InterpolateKeyFrame 节点 - 关键帧插值器
这个节点就像动画师的助手,可以在少数几个关键帧之间自动生成中间帧,让动画更流畅。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| orginalframe | orginalframe | 图片序列 | 连接原始视频帧 | 完整的原始视频帧 | 输入完整视频帧序列 | 连接所有原始帧 |
| keyframe | keyframe | 图片序列 | 连接关键帧 | 只有部分处理过的帧 | 输入稀疏关键帧 | 连接每隔几帧处理的结果 |
| select_every_nth | select_every_nth | 0-20整数 | 5 | 每隔几帧选一个 | 关键帧间隔 | 5=每5帧选1个作为关键帧 |
| batch_size | batch_size | 1-100整数 | 16 | 每次处理帧数 | 批处理大小 | 16=每次处理16帧 |
| tracking_window_size | tracking_window_size | 1-100整数 | 1 | 跟踪窗口大小 | 运动跟踪窗口 | 1=最小跟踪窗口 |
| minimum_patch_size | minimum_patch_size | 1-100整数 | 15 | 最小补丁尺寸 | 最小匹配块大小 | 15=中等精度,必须是奇数 |
| num_iter | num_iter | 1-100整数 | 5 | 迭代次数 | 优化迭代次数 | 5=标准质量 |
| guide_weight | guide_weight | 1-100浮点数 | 10.0 | 引导权重 | 运动特征权重 | 10.0=标准权重 |
3.3 MyOpenPoseNode 节点 - 增强姿态检测器
这个节点就像一个智能的人体识别专家,结合了两种不同的姿态检测方法,让人体姿态识别更准确。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| DWPose | DWPose | 图片 | 连接DWPose输出 | DWPose检测的姿态图 | DWPose算法输出 | 连接DWPose节点输出 |
| OpenPose | OpenPose | 图片 | 连接OpenPose输出 | OpenPose检测的姿态图 | OpenPose算法输出 | 连接OpenPose节点输出 |
3.4 reBatchImage 节点 - 图像重新分组器
这个节点就像一个智能的图片分拣机,可以把一大堆图片重新分成小组,让处理更高效。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| image | image | 图片序列 | 连接图片输入 | 要重新分组的图片 | 输入图像张量 | 连接大批量图片 |
| batch_size | batch_size | 0-100整数 | 5 | 每组包含图片数 | 批次大小 | 5=每组5张图片 |
3.5 MaskListcaptoBatch 节点 - 遮罩列表转换器
这个节点就像一个遮罩整理员,可以把多个遮罩整理成一个整齐的组合。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| mask | mask | 遮罩列表 | 连接遮罩输入 | 多个遮罩的列表 | 输入遮罩张量列表 | 连接多个遮罩输出 |
| load_cap | load_cap | -1或正整数 | -1 | 最多加载遮罩数 | 加载数量限制 | -1=全部加载,10=最多10个 |
3.6 FillDarkMask 节点 - 黑色遮罩填充器
这个节点就像一个智能的遮罩修复师,当发现完全黑色的遮罩时,会用前一帧的遮罩来替换。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| masks | masks | 遮罩序列 | 连接遮罩输入 | 一系列遮罩图像 | 输入遮罩张量序列 | 连接遮罩序列输出 |
3.7 alert_when_finished 节点 - 完成提醒器
这个节点就像一个贴心的助手,当图片处理完成后会播放声音提醒你。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| images | images | 图片序列 | 连接图片输入 | 处理完成的图片 | 输入图像张量 | 连接最终处理结果 |
| sound_path | sound_path | 字符串 | 声音文件路径 | 提醒声音文件位置 | 音频文件路径 | 填写完整的wav文件路径 |
3.8 Merge_Image_List 节点 - 图像列表合并器
这个节点就像一个高效的图片装订机,可以快速把多个图片列表合并成一个大的图片组。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| images | images | 图片列表 | 连接图片输入 | 多个图片列表 | 输入图像张量列表 | 连接多个图片批次 |
4. 使用技巧和建议
视频平滑处理工作流建议
- 基础平滑流程:LoadVideo → AI处理 → SmoothVideo → SaveVideo
- 关键帧插值流程:LoadVideo → 选择关键帧 → AI处理 → InterpolateKeyFrame → SaveVideo
- 批量处理优化:使用 reBatchImage 节点提高处理效率
参数调优建议
- accuracy参数:新手建议用1(快速),追求质量用3(精确)
- batch_size参数:显存大的可以调高,显存小的调低
- window_size参数:视频抖动严重时调大,追求细节时调小
- guide_weight参数:运动幅度大时调高,静态场景调低
性能优化建议
- 显存管理:合理设置batch_size,避免显存溢出
- 处理策略:长视频建议使用关键帧插值,短视频用完整平滑
- 质量平衡:根据需求选择合适的accuracy和num_iter
姿态检测使用建议
- MyOpenPoseNode:适合人物转身较多的场景
- 参数组合:DWPose负责正面,OpenPose负责背面
- 后处理:结合其他节点进行进一步优化
5. 常见问题解答
Q1: 安装后提示缺少依赖怎么办?
A: 插件会自动安装依赖,如果失败可以手动安装:
pip install imageio cupy-cuda12x opencv-python-headless
Q2: 处理视频时显存不足怎么办?
A: 降低batch_size参数,从16降到8或更低,或者使用关键帧插值模式。
Q3: 处理结果不够平滑怎么办?
A: 增加window_size和num_iter参数,或者提高accuracy等级。
Q4: 声音提醒不工作怎么办?
A: 确保sound_path填写的是完整的绝对路径,文件格式为wav。
Q5: MyOpenPoseNode输出异常怎么办?
A: 确保DWPose和OpenPose的输入图片尺寸一致,格式正确。
Q6: 处理速度太慢怎么办?
A: 使用accuracy=1的快速模式,增加batch_size,或者使用关键帧插值减少处理帧数。
6. 实际应用场景
场景1:AI视频风格化后处理
- 使用AI模型对视频进行风格化处理
- 用SmoothVideo节点消除帧间闪烁
- 获得平滑的风格化视频
场景2:动画制作加速
- 只处理关键帧(每5-10帧)
- 使用InterpolateKeyFrame生成中间帧
- 大幅减少AI处理时间
场景3:人体姿态视频处理
- 使用MyOpenPoseNode获得更准确的姿态
- 结合视频平滑处理
- 制作高质量的姿态驱动视频
7. 更新和维护
如何更新插件
- 进入插件目录:
cd custom_nodes/ComfyUI-fastblend - 拉取最新代码:
git pull - 重启 ComfyUI
如何卸载插件
- 删除
custom_nodes/ComfyUI-fastblend文件夹 - 重启 ComfyUI
8. 总结
ComfyUI-fastblend 是一个专业的视频后处理插件,特别适合需要制作平滑视频的用户。它的核心优势在于:
- 高效的视频平滑算法:基于FastBlend技术,效果出色
- 灵活的处理模式:支持完整处理和关键帧插值两种模式
- 智能的姿态检测:结合多种算法的优势
- 便捷的批处理功能:提高工作效率
- 贴心的辅助功能:如声音提醒、图像合并等
无论你是AI视频创作者、动画制作者,还是视频后期处理爱好者,这个插件都能为你的工作流程带来显著的改善。记住,合理的参数设置和工作流程设计是获得最佳效果的关键!