2020-11-27 14:35:32 +01:00
# Flowframes - Windows GUI for Video Interpolation
2020-12-18 14:27:10 +01:00
Flowframes Windows GUI for video interpolation - Supports RIFE, RIFE-NCNN, DAIN-NCNN networks.
2020-11-27 14:35:32 +01:00
2020-12-07 00:48:08 +01:00
Flowframes is **open-source donationware ** . Builds are released for free on itch after an early-access period on Patreon. This repo's code is complete and does not "paywall" experienced users who want to compile the program themselves.
However, **I do not provide support for self-built versions ** as I can't guarantee that the code of this repo is stable at any given moment.
2020-11-27 14:35:32 +01:00
## Installation
2020-12-07 00:44:33 +01:00
* Download on [itch ](https://nmkd.itch.io/flowframes ) or, for the most recent beta versions, on [Patreon ](https://www.patreon.com/n00mkrad ). This repo does not provide builds.
2020-11-27 14:35:32 +01:00
* Run Flowframes.exe
2020-12-18 14:27:10 +01:00
* Pre-1.18: Select the components you want to install (certain packages are required, cannot be unticked)
2020-11-27 14:35:32 +01:00
2020-12-18 14:27:10 +01:00
Starting with 1.18, the installer has been removed, and Flowframes is instead distributed as an all-in-one archive. Download the "Full" file if you are using a Maxwell/Pascal/Turing GPU and want to use embedded Pytorch. Use "NoPython" if you run an AMD GPU or want to use your system Python/Pytorch installation.
2020-11-27 14:35:32 +01:00
2020-12-18 14:27:10 +01:00
## Using A Pytorch Implementation
2020-11-27 14:35:32 +01:00
Some of the AI networks run on Tencent's NCNN framework, which allows them to run on any modern (Vulkan-capable) GPU.
However, others (like RIFE) run best via their original Pytorch implementation.
The requirements to run these are the following:
* A **modern Nvidia GPU ** (750 Ti, 900/1000/1600/2000/3000 Series).
* A **Python ** installation including Pytorch (1.5 or later) as well as the packages `opencv-python` and `imageio` .
2020-11-27 15:11:46 +01:00
* You can install a portable version of all those requirements from the Flowframes Installer. This does not support RTX 3000 cards yet.
2020-11-27 14:35:32 +01:00
2020-12-08 14:44:36 +01:00
[More Details On Python Dependencies ](PythonDependencies.md )
2020-11-27 14:35:32 +01:00
2020-12-18 14:27:10 +01:00
## Running A Pytorch Implementation on Nvidia Ampere GPUs
2020-11-27 14:35:32 +01:00
I do not have an Ampere card yet, so I can't fully test Flowframes on an RTX 3000 series GPU.
2020-12-07 00:44:33 +01:00
However, users have reported that you can run RIFE on Ampere cards by installing a recent **Pytorch 1.7 build ** . CUDA 11 is also required, but you should already have it if you use up-to-date GPU drivers. NCNN-based AIs should work out of the box.
2020-11-27 15:11:46 +01:00
## Configuration
All Settings have reasonable defaults, so users do not need to do any configuration before using the program.
Here is an explanation of some of the more important settings.
### General
* Maximum Video Size: Frames are exported at this resolution if the video is larger. Lower resolutions speed up interpolation a lot.
### Interpolation
* Copy Audio: Audio will be saved to a separate file when extracting the frames and will afterwards be merged into the output.
* Not guaranteed to work with all audio codecs. Supported are: M4A/AAC, Vorbis, Opus, MP2, PCM/Raw.
* Remove Duplicate Frames: This is meant for 2D animation. Removing duplicates makes a smooth interpolation possible.
* You can disable this completely if you only use content without duplicates (e.g. camera footage, CG renders).
* Animation Loop: This will make looped animations interpolate to a perfect loop by copying the first frame to the end of the frames.
* Don't Interpolate Scene Changes: This avoids interpolating scene changes (cuts) as this would produce weird a morphing effect.
2020-12-18 14:27:10 +01:00
* Auto-Encode: Encode video while interpolating. Optionally delete the already encoded frames to minimize disk space usage.
2020-11-27 15:11:46 +01:00
* Save Output Frames As JPEG: Save interpolated frames as JPEG before encoding. Not recommended unless you have little disk space.
### AI Specific Settings
2020-12-18 14:27:10 +01:00
* RIFE - UHD Mode - This mode changes some scaling parameters and should improve results on high-resolution video.
2020-11-27 15:11:46 +01:00
* GPU IDs: `0` is the default for setups with one dedicated GPU. Four dedicated GPUs would mean `0,1,2,3` for example.
* NCNN Processing Threads: Increasing this number to 2, 3 or 4 can improve GPU utilization, but also slow things down.
### Video Export
2020-11-27 15:31:15 +01:00
* Encoding Options: Set options for video/GIF encoding. Refer to the **FFmpeg ** and **Gifski ** documentations.
2020-11-27 15:11:46 +01:00
* Minimum Video Length: Make sure the output is as long as this value by looping it.
* Maximum Output Frame Rate: Limit frame rate, for example, if you want a 60 FPS output from a 24 FPS video.
### Debugging / Experimental
* Show Hidden CMD Windows: This will show the windows for AI processes. Can be useful for debugging.
* FFprobe: Count Frames Manually: This uses a slower way of getting the input video's total frame count, but works reliably.