// the find
nihui/rife-ncnn-vulkan
RIFE, Real-Time Intermediate Flow Estimation for Video Frame Interpolation implemented with ncnn library
A command-line tool that runs RIFE frame interpolation on Vulkan through Tencent's ncnn, so it works on Intel, AMD, and Nvidia GPUs without a CUDA or PyTorch install. It suits people who want to double or retime footage from a terminal or batch script without setting up a Python ML stack.
- The release is a portable binary plus bundled model folders, with no Python, CUDA, or PyTorch runtime. Anyone who has tried to get the original RIFE repo running on Windows will see the difference.
- The -g and -j flags are more useful than they look. One run can split frames across a discrete GPU, an integrated GPU, and CPU workers, with separate thread counts for decode, inference, and encode, which is how you keep a GPU fed on large frame sets.
- The model table maps each bundled model to the upstream RIFE version it came from, and the anime and UHD variants are separate folders instead of flags on one model. It is clear what you are getting.
- Spatial TTA (-x), temporal TTA (-z), and a UHD mode are plain command-line flags, so the quality-versus-speed trade-off is a parameter choice, not a code change.
- It does not handle video at all. The README's answer is to have ffmpeg extract every frame as an image, run the tool, then have ffmpeg re-encode. For a long clip that means a lot of disk space and wall-clock time spent outside the interpolator.
- Nothing has been pushed since January 2024, and the newest bundled model is v4.6. Treat this as a snapshot of ncnn and RIFE as they stood then, and check that the model you need is actually in the repo before assuming upstream fixes have landed.
- Vulkan driver quality is the real failure mode. The README's first troubleshooting step is to upgrade your GPU driver, which says a lot about how often it crashes on older or quirky drivers. Outside of -g -1 for CPU, which is slow, there is no fallback.
- Building from source needs the Vulkan SDK and the ncnn and libwebp git submodules. A clone without --recursive will not build.