# RIFE 实际神经补帧：12→24fps 与 2 倍慢动作

2026-10-24，macOS Apple Silicon，PyTorch 2.12.1，CPU 两线程。

## 实际做法

1. 输入是本站程序绘制的 24 张 256×144 原创几何图，12fps、2 秒。不是 AI 生成视频。第 11→12 帧是已知硬切。
2. 从官方 hzwer/ECCV2022-RIFE 仓库获取 commit 5d8adbdd40e12c2c8f91930eff838aebe561c086，按 README 的 HD 模型链接取得官方 HDv3 权重；本包不再分发权重。
3. `run_rife.py` 严格加载 `train_log/IFNet_HDv3.py` 和 `flownet.pkl`。对 23 个帧对实际运行神经网络中间帧推理，原始输出保留。
4. 已知硬切的中间位置不采用神经中间帧，改为保持前帧；其余 22 个中间帧采用实际 RIFE 输出。末尾再保持最后一帧，凑足 48 帧。没有使用 FFmpeg 光流做推理。
5. FFmpeg 仅编码：48 帧以 24fps 播放为 2 秒；同 48 帧以 12fps 播放为 4 秒，即 2 倍慢动作。
6. ffprobe 实际数帧验证 48 帧、256×144；完整解码没有错误。

## 结果和失败分支

- original-12fps.mp4：24 帧原始输入，2 秒。
- rife-24fps.mp4：48 帧，24fps，2 秒，硬切保留。
- rife-slow-motion-12fps.mp4：48 帧，12fps，4 秒。
- rife-no-cut-guard-negative.mp4：相同模型原始推理的硬切失败反例。两个场景之间的插值格网明显扭曲，不能当成平滑动作。
- result.json：逐对推理耗时、原始/线性中间帧差异、模型权重 SHA256。

本次使用旧版官方 HDv3 权重，未测试新 RIFE 4.x 或 WanGP 原生 UI。小尺寸几何素材的成功不代表真人快速运动、头发和复杂遮挡也无伪影。已知硬切策略不是自动场景检测器。端点完全不变、硬切不混帧、慢动作时长和解码已验证；音频重定时未测试。

官方来源：https://github.com/hzwer/ECCV2022-RIFE

## 下载包复跑

先解压 practice-and-results.zip；在 Python 3.12 独立环境安装 PyTorch、NumPy、Pillow，另行安装 FFmpeg。本次实测版本见 result.json，并非所有未来版本都保证兼容。

```bash
git clone https://github.com/hzwer/ECCV2022-RIFE.git rife-source
git -C rife-source checkout 5d8adbdd40e12c2c8f91930eff838aebe561c086
# 按该仓库 README 的官方 HD 权重链接下载，解压到 rife-source/train_log/
# 需包含 IFNet_HDv3.py 和 flownet.pkl；权重 sha256 见 result.json
python run_rife.py
ffmpeg -framerate 24 -i outputs/rife/with-cut-guard/%04d.png -c:v libx264 -pix_fmt yuv420p result-24fps.mp4
ffmpeg -framerate 12 -i outputs/rife/with-cut-guard/%04d.png -c:v libx264 -pix_fmt yuv420p result-slow-motion.mp4
```

下载包中的 run_rife.py 对应本次实际执行脚本；它使用已知作者剪切点，不会自动发现任意视频的场景切换。
