4.4 KiB
4.4 KiB
ComfyUI-RIFE
English | 中文
用于 ComfyUI 的 RIFE 视频插帧节点,基于 Practical-RIFE 实现。
功能特性
- 实时视频插帧: 使用 RIFE(Real-Time Intermediate Flow Estimation)算法在视频帧之间生成平滑的中间帧
- 自动模型下载: 首次使用时会自动从 GitHub Releases 下载所需模型
- 模型缓存: 自动缓存已加载的模型,避免重复加载
- 多种精度支持: 支持 float32、float16、bfloat16 精度,可在速度和精度间权衡
- Torch Compile: 可选 PyTorch 2.0+ 的
torch.compile()加速(首次编译较慢,后续推理更快) - 批量推理: 支持批量处理插帧任务,提高吞吐量
支持的模型
| 模型名称 | 版本 | 说明 |
|---|---|---|
rife47.pth |
4.7 | RIFE 4.7 版本 |
rife49.pth |
4.7 | RIFE 4.9 版本 |
rife417.pth |
4.17 | RIFE 4.17 版本 |
rife426.pth |
4.26 | RIFE 4.26 版本(不支持 ensemble) |
模型会自动下载到 ComfyUI/models/rife/ 目录。
安装
-
将本节点文件夹放入 ComfyUI 的
custom_nodes目录:cd ComfyUI/custom_nodes git clone git@github.com:er1cw00/ComfyUI-RIFE.git ComfyUI-RIFE -
安装依赖:
cd ComfyUI-RIFE pip install -r requirements.txt
节点参数
RIFE_VFI
必需参数:
| 参数名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
ckpt_name |
下拉选择 | - | 选择 RIFE 模型(自动下载) |
frames |
IMAGE | - | 输入视频帧序列 |
clear_cache_after_n_frames |
INT | 10 | 每处理 N 帧后清理显存缓存(1-1000) |
multiplier |
INT | 2 | 插帧倍数,如 2 表示在每帧之间生成 1 个中间帧 |
fast_mode |
BOOLEAN | True | 快速模式,牺牲少量质量换取速度 |
ensemble |
BOOLEAN | True | 使用 ensemble 模式提高质量(4.26 版本强制关闭) |
scale_factor |
下拉选择 | 1.0 | 光流计算缩放比例 [0.25, 0.5, 1.0, 2.0, 4.0] |
dtype |
下拉选择 | float32 | 推理精度:float32(最安全)、float16(快/省显存)、bfloat16(需 RTX 30xx+) |
torch_compile |
BOOLEAN | False | 使用 torch.compile() 加速(需 PyTorch 2.0+) |
batch_size |
INT | 1 | 每批次处理的插帧任务数(提高吞吐量但增加显存占用,1-64) |
可选参数:
| 参数名 | 类型 | 说明 |
|---|---|---|
optional_interpolation_states |
INTERPOLATION_STATES | 插帧状态列表,用于控制跳过特定帧 |
输出:
| 输出名 | 类型 | 说明 |
|---|---|---|
IMAGE |
IMAGE | 插帧后的视频帧序列 |
使用示例
基本流程
- 使用
Load Video或Load Image Batch节点加载视频帧 - 连接到
RIFE_VFI节点 - 从下拉菜单选择模型(如
rife426.pth) - 设置
multiplier(如 2 表示 30fps → 60fps) - 使用
Save Video或Preview Image节点输出结果
参数调优建议
- 追求质量:
dtype=float32,ensemble=True,fast_mode=False - 追求速度:
dtype=float16,fast_mode=True,torch_compile=True(PyTorch 2.0+) - 显存不足: 降低
batch_size至 1,使用dtype=float16 - RTX 30xx/40xx: 可尝试
dtype=bfloat16,比 float16 更稳定且速度相近
文件结构
ComfyUI-RIFE/
├── __init__.py # 节点注册入口
├── rife_node.py # 节点主要实现(模型加载、推理逻辑)
├── rife_model.py # RIFE IFNet 模型定义
├── requirements.txt # Python 依赖
└── README.md # 本文件
模型下载说明
模型文件会自动下载到 ComfyUI/models/rife/ 目录:
- 首次使用某个模型时,节点会自动从
https://github.com/Fannovel16/ComfyUI-Frame-Interpolation/releases/download/models/下载 - 如果下载失败,请检查网络连接或手动下载模型放到上述目录
注意事项
- RIFE 4.26 版本: 该版本不支持
ensemble模式,会自动强制关闭 - torch.compile(): 首次推理会很慢(编译阶段),后续推理会快 10-30%
- bfloat16: 仅在 Ampere 架构(RTX 30xx/40xx)或更新的 GPU 上支持
- 模型缓存: 修改
ckpt_name、dtype或torch_compile会触发重新加载模型
依赖
- torch >= 2.0.0(推荐)
- einops
- packaging
- numpy
许可证
本项目基于 Practical-RIFE 实现,遵循相应开源协议。