ComfyUI_DiffuEraser 插件完全教程 - 视频橡皮擦,让视频中的东西消失!
1. 插件简介
插件原地址: https://github.com/smthemex/ComfyUI_DiffuEraser
这个插件就像一个"神奇橡皮擦",专门用来擦掉视频里不想要的东西!你知道美图秀秀可以把照片里的路人擦掉吗?这个插件就是做同样的事情,但是是针对视频的。比如你拍了一段美美的风景视频,但是有个讨厌的路人甲一直在画面里晃来晃去,用这个插件就能把他完全"擦掉",就像他从来没有出现过一样!
能给我们带来什么效果:
- 🎬 视频去水印:把视频里烦人的水印、logo完全擦掉
- 👤 移除路人:把不想要的人物从视频中彻底消失
- 🏗️ 去除杂物:擦掉画面中的垃圾桶、电线杆等杂物
- 🎨 视频修复:修复视频中的瑕疵和不完美的地方
- 🔄 智能填补:擦掉东西后,会智能地填补背景,看起来天衣无缝
工作原理简单说:
就像用橡皮擦擦掉纸上的字,然后用画笔重新画上背景一样。这个插件先用"橡皮擦"把不要的东西擦掉,然后用AI"画笔"根据周围的画面智能地填补空白区域。
2. 如何安装
方法一:手动下载安装
- 打开你的 ComfyUI 安装目录
- 进入
custom_nodes文件夹 - 下载插件:
git clone https://github.com/smthemex/ComfyUI_DiffuEraser.git - 安装依赖:
pip install -r requirements.txt - 重启 ComfyUI
方法二:ComfyUI Manager 安装
- 在 ComfyUI 界面点击 "Manager" 按钮
- 搜索 "DiffuEraser"
- 点击安装并重启
需要下载的模型文件:
这个插件需要几个"大脑"文件才能工作,就像不同的专家负责不同的工作:
- SD1.5 基础模型(主画师):负责生成新的画面内容
- PCM LoRA 模型(加速器):让生成速度更快
- ProPainter 模型(修补师):负责初步修补工作
- UNet 和 BrushNet 模型(精细师):负责精细化处理
模型存放位置:
ComfyUI/models/checkpoints/
|-- v1-5-pruned-emaonly.safetensors (SD1.5模型)
ComfyUI/models/loras/
|-- pcm_sd15_smallcfg_2step_converted.safetensors (PCM加速模型)
ComfyUI/models/DiffuEraser/
|-- brushnet/
|-- config.json
|-- diffusion_pytorch_model.safetensors
|-- unet_main/
|-- config.json
|-- diffusion_pytorch_model.safetensors
|-- propainter/
|-- ProPainter.pth
|-- raft-things.pth
|-- recurrent_flow_completion.pth
3. 节点详细解析
本插件总共包含 2 个节点,本次全部输出完成,无遗漏。
3.1 DiffuEraserLoader 节点 - 模型加载器
这个节点就像一个"工具箱管理员",负责把所有需要的"工具"(模型)都准备好,让后面的擦除工作能够顺利进行。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| checkpoint | checkpoint | 下拉选择框 | 选择SD1.5模型 | 就像选择主画师,这个画师负责画出新的背景内容 | 选择Stable Diffusion 1.5基础模型用于图像生成 | 选择"v1-5-pruned-emaonly.safetensors"作为主要的图像生成模型 |
| lora | lora | 下拉选择框 | 选择PCM LoRA | 就像给画师配个助手,让画画速度更快更好 | 选择PCM LoRA模型来加速推理过程 | 选择"pcm_sd15_smallcfg_2step_converted.safetensors"来提高生成速度 |
重要提醒:
- 这两个参数都不能选择"none",必须要选择具体的模型文件
- 如果没有对应的模型文件,插件会自动从网上下载(需要网络连接)
- 第一次使用时加载会比较慢,因为要下载和准备各种模型文件
3.2 DiffuEraserSampler 节点 - 视频橡皮擦主工作台
这个节点就是真正的"魔法橡皮擦",把你不想要的东西从视频中彻底擦掉,并且智能地填补背景。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| model | model | 模型连接 | 连接加载器输出 | 就像连接工具箱,获取所有需要的工具 | 接收DiffuEraserLoader输出的模型组合 | 用线连接DiffuEraserLoader的输出到这里 |
| images | images | 图像序列 | 连接视频帧 | 就像一叠连续的照片,组成你要处理的视频 | 输入要处理的视频帧序列 | 连接从视频文件加载的图像序列 |
| fps | fps | 浮点数 | 根据原视频设置 | 就像电影的播放速度,每秒显示多少张图片 | 视频的帧率,决定播放速度 | 如果原视频是30fps,就设置30.0 |
| seed | seed | 整数 | -1(随机)或固定值 | 就像抽奖的种子号,-1表示每次都不一样,固定数字表示结果可重复 | 随机种子,控制生成结果的随机性 | 设置-1让每次结果都不同,或设置42让结果可重复 |
| num_inference_steps | num_inference_steps | 整数 | 2-4 | 就像画师修改画作的次数,次数越多越精细但越慢 | 推理步数,影响生成质量和速度 | 设置2可以快速预览,设置4可以获得更好质量 |
| guidance_scale | guidance_scale | 浮点数 | 0.0 | 就像给画师的指导强度,0表示完全自由发挥 | 引导强度,控制生成内容与输入的匹配程度 | 通常设置为0.0,让AI自由发挥效果更好 |
| video_length | video_length | 整数 | 10-50 | 就像每次处理多少张照片,数字越大处理越多但越慢 | 每次处理的视频帧数量 | 短视频设置10-20,长视频设置30-50 |
| mask_dilation_iter | mask_dilation_iter | 整数 | 8 | 就像橡皮擦的"扩散力度",数字越大擦除范围越大 | 遮罩膨胀迭代次数,扩大擦除区域 | 擦除小物体用5-8,擦除大物体用10-15 |
| ref_stride | ref_stride | 整数 | 10 | 就像参考照片的间隔,每隔多少张照片作为参考 | 参考帧的间隔步长 | 一般保持默认值10即可 |
| neighbor_length | neighbor_length | 整数 | 10 | 就像看邻居照片的数量,看越多邻居效果越好 | 邻近帧的参考长度 | 一般保持默认值10即可 |
| subvideo_length | subvideo_length | 整数 | 50 | 就像把长视频切成小段处理,每段多少张照片 | 子视频片段的长度 | 内存小的电脑设置30-40,内存大的设置50-80 |
| video2mask | video2mask | 布尔值 | False/True | 就像自动识别开关,开启后会自动找出要擦除的东西 | 是否自动从视频生成遮罩 | 如果没有遮罩图,开启此选项让AI自动识别 |
| seg_repo | seg_repo | 字符串 | "briaai/RMBG-2.0" | 就像选择自动识别的"眼睛",不同的眼睛识别能力不同 | 用于自动分割的模型仓库 | 用"briaai/RMBG-2.0"识别人物,用"ZhengPeng7/BiRefNet"识别更复杂物体 |
| save_result_video | save_result_video | 布尔值 | False/True | 就像保存开关,开启后会把结果保存成视频文件 | 是否保存处理结果为视频文件 | 想要视频文件就开启,只想要图片序列就关闭 |
| video_mask | video_mask | 图像序列(可选) | 连接遮罩序列 | 就像告诉橡皮擦哪里要擦,白色部分会被擦掉 | 可选的遮罩序列,指定要擦除的区域 | 用其他工具制作的遮罩图片序列 |
输出说明:
- images:处理后的视频帧,就是擦除后的最终结果
- propainter_img:初步处理的结果,可以用来对比效果
- output_path:如果保存了视频文件,这里会显示文件路径
4. 使用技巧和建议
4.1 选择合适的遮罩方式
方式一:自动生成遮罩(适合新手)
- 开启
video2mask选项 - 选择合适的
seg_repo:briaai/RMBG-2.0:适合去除人物背景ZhengPeng7/BiRefNet:适合更复杂的物体识别
方式二:手动制作遮罩(适合精确控制)
- 使用其他工具(如SAM2)制作精确的遮罩
- 遮罩中白色部分会被擦除,黑色部分会保留
- 可以使用单张遮罩处理整个视频(适合固定水印)
4.2 参数调优建议
追求速度:
num_inference_steps: 2video_length: 10-20subvideo_length: 30-40
追求质量:
num_inference_steps: 4-6video_length: 30-50mask_dilation_iter: 适当增加
内存不足时:
- 减小
subvideo_length - 减小
video_length - 分段处理长视频
4.3 常见应用场景
去除固定水印:
- 制作一张遮罩图片覆盖水印位置
- 使用单张遮罩处理整个视频
- 设置较小的
mask_dilation_iter
移除移动物体:
- 使用自动遮罩生成
- 或者逐帧制作精确遮罩
- 设置较大的
neighbor_length获得更好的时间一致性
5. 常见问题解答
Q1: 为什么加载模型这么慢?
A:
- 第一次使用需要下载多个大模型文件(几GB)
- 确保网络连接稳定
- 后续使用会快很多,因为模型已经下载到本地
Q2: 处理视频时内存不足怎么办?
A:
- 减小
subvideo_length参数(比如从50改为30) - 减小
video_length参数 - 关闭其他占用内存的程序
- 考虑分段处理长视频
Q3: 擦除效果不理想怎么办?
A:
- 检查遮罩是否准确(白色区域是要擦除的部分)
- 适当增加
mask_dilation_iter扩大擦除范围 - 增加
num_inference_steps提高质量 - 尝试不同的
seg_repo模型
Q4: 自动遮罩识别不准确怎么办?
A:
- 尝试不同的分割模型(
seg_repo) - 手动制作精确的遮罩图片
- 使用专业的遮罩制作工具(如SAM2)
Q5: 处理后的视频有闪烁怎么办?
A:
- 增加
neighbor_length参数提高时间一致性 - 确保输入视频质量良好
- 避免遮罩边缘过于锐利
Q6: 支持哪些视频格式?
A:
- 需要先将视频转换为图片序列
- 支持常见的图片格式(PNG、JPG等)
- 可以使用其他ComfyUI节点进行视频格式转换
6. 实际应用案例
案例1:去除视频水印
- 准备带水印的视频(转换为图片序列)
- 制作一张遮罩图片,白色覆盖水印位置
- 设置较小的处理参数快速预览
- 满意后增加质量参数进行最终处理
案例2:移除路人甲
- 导入有路人的视频
- 开启
video2mask自动识别人物 - 选择合适的分割模型
- 调整参数获得最佳效果
案例3:修复视频瑕疵
- 识别视频中的瑕疵区域
- 手动制作精确遮罩
- 使用较高的质量参数
- 逐段处理确保效果一致
7. 性能优化建议
7.1 硬件要求
- 显卡:建议8GB以上显存的NVIDIA显卡
- 内存:建议16GB以上系统内存
- 存储:需要足够空间存储模型文件(约10GB)
7.2 处理策略
- 短视频:可以一次性处理
- 长视频:建议分段处理,每段30-60秒
- 高分辨率视频:考虑先降低分辨率处理,再放大
7.3 质量与速度平衡
- 预览阶段:使用低质量参数快速查看效果
- 最终输出:使用高质量参数获得最佳结果
- 批量处理:可以写脚本自动化处理多个视频
8. 总结
ComfyUI_DiffuEraser 插件是一个强大的视频内容擦除工具,它就像给你的视频配备了一个智能橡皮擦。虽然使用起来需要一些学习,但掌握后可以轻松处理各种视频编辑需求。
核心优势:
- 🎯 智能擦除:AI驱动的内容感知擦除
- 🔄 时间一致性:保持视频帧间的连贯性
- 🎨 自然填补:智能生成背景内容
- ⚡ 灵活配置:丰富的参数可以适应不同需求
适用人群:
- 视频创作者:去除不想要的元素
- 内容编辑:修复视频瑕疵
- 研究人员:视频内容分析和处理
- 爱好者:个人视频美化
记住,这个工具虽然强大,但也需要耐心和练习。从简单的案例开始,逐步掌握各个参数的作用,你就能创造出令人惊艳的视频效果!
插件信息总结:
- 总节点数: 2 个
- 本次输出: 2 个(全部完成)
- 遗漏节点: 0 个
- 前端代码: 无(纯后端处理)
- 推荐程度: ⭐⭐⭐⭐⭐(功能强大,效果出色)