Awesome
EMA-VFI-WebUI - AI-Based Movie Restoration
🎬 Windows 11 example install steps 4/20/2024
💥 See more samples in the Samples Showcase
Example - Interpolated Frames |
---|
Example - GIF to MP4 (frame size X4, frame rate X8) | Example - Original GIF |
---|---|
https://user-images.githubusercontent.com/825994/224548062-4cad649c-5cdb-4f66-936d-e2296eb0fbc8.mp4 |
Example - Resyntheszed Video (YouTube) |
---|
https://youtube.com/shorts/lKtY2CHqA98?feature=share |
Upper: 8MM footage with heavy dirt and noise |
Lower: Same footage after using Resynthesize Video |
🎬 EMA-VFI-WebUI Features | |
---|---|
➗ Frame Interpolation | Restore Missing Frames, Reveal Hidden Motion |
🔎 Frame Search | Synthesize Between Frames At Precise Times |
🎈 Video Inflation | Create Super Slow-Motion |
💕 Resynthesize Video | Create a Complete Set of Replacement Frames |
🪄 Frame Restoration | Restore Adjacent Missing / Damaged Frames |
🔬 Video Blender | Project-Based Movie Restoration |
📁 File Conversion | Convert between PNG Sequences and Videos |
🔢 Resequence Files | Renumber for Import into Video Editing Software |
🎞️ Change FPS | Convert any FPS to any other FPS |
💎 GIF to MP4 | Convert Animated GIF to MP4 in one click |
📈 Upscale Frames | Use Real-ESRGAN to Enlarge and Clean Frames |
Set Up For Use
- Get EMA-VFI working on your local system
- See their repo at https://github.com/MCG-NJU/EMA-VFI
- I run locally with:
- Anaconda 23.1.0
- Python 3.10.9
- Torch 1.13.1
- Cuda 11.7
- NVIDIA RTX 3090
- Windows 11
- Clone this repo in a separate directory and copy all directories/files on top of your working EMA-VFI installation
- This code makes no changes to their original code (but borrows some) and causes no conflicts with it
- It shouldn't introduce any additional requirements over what EMA-VFI, Gradio-App and Real-ESRGAN need
- If it's set up properly, the following command should write a new file
images/image1.png
using default settings
python interpolate.py
Alternate Set Up / Development
- Get EMA-VFI working on your local system
- See their repo at https://github.com/MCG-NJU/EMA-VFI
- I run locally with:
- Anaconda 23.1.0
- Python 3.10.9
- Torch 1.13.1
- Cuda 11.7
- NVIDIA RTX 3090
- Windows 11
- Clone this repo to a directory in which you intend to use the app and/or develop on it
- Copy the following directories and files from your working EMA-VFI installation to this directory:
benchmark
ckpt
model
config.py
dataset.py
Trainer.py
- If it's set up properly, the following command should write a new file
images/image1.png
python interpolate.py
Real-ESRGAN Add-On Set Up
The GIF to MP4 feature uses Real-ESRGAN to clean and upscale frames
- Get Real-ESRGAN working on your local system
- See their repo at https://github.com/xinntao/Real-ESRGAN
- Clone their repo to its own directory and follow their instructions for local setup
- Copy the
realesrgan
directory to yourEMA-VFI-WebUI
directory
- The Real-ESRGAN 4x+ model (65MB) will automatically download on first use
FFmpeg Set Up
A few features rely on FFmpeg being available on the system path
Starting Web UI Application
The application can be started in any of these ways:
webui.bat
python webui.py
- Command line arguments
--config_path path
path to alternate configuration file, defaultconfig.yaml
--verbose
enables verbose output to the console, default False
- Command line arguments
Using Web UI
All Features
Command Line Tools
The core feature have command-line equivalents
App Configuration
Samples Showcase
Acknowledgements
Thanks! to the EMA-VFI folks for their amazing AI frame interpolation tool
Thans! to the Real-ESRGAN folks for their wonderful frame restoration/upscaling tool
Thanks! to the stable-diffusion-webui folks for their great UI, amazing tool, and for inspiring me to learn Gradio
Thanks to Gradio for their easy-to-use Web UI building tool and great docs