RealScaler
RealScaler copied to clipboard
RealScaler - image/video AI upscaler app (Real-ESRGAN)
What is RealScaler?
RealScaler is a Windows app powered by RealESRGAN AI to enhance, upscale and de-noise photos and videos.
Other AI projects.🤓
- https://github.com/Djdefrag/QualityScaler / QualityScaler - image/video AI upscaler app
- https://github.com/Djdefrag/FluidFrames.RIFE / FluidFrames.RIFE - video AI interpolation app (RIFE-HDv3)
Credits.
Real-ESRGAN - https://github.com/xinntao/Real-ESRGAN
How is made. 🛠
RealScaler is completely written in Python, from backend to frontend. External packages are:
- AI -> torch / onnxruntime-directml
- GUI -> customtkinter
- Image/video -> OpenCV / moviepy
- Packaging -> nuitka
Requirements. 🤓
- Windows 11 / Windows 10
- RAM >= 8Gb
- Any Directx12 compatible GPU with >= 4GB VRAM
Features.
- [x] Easy to use GUI
- [x] Images and Videos upscale
- [x] Multiple AI models
- [x] Automatic image tiling and merging to avoid gpu VRAM limitation
- [x] Resize image/video before AI upscaling
- [x] Interpolation between the original and upscaled image/video
- [x] Multiple Gpu support
- [x] Compatible images - png, jpeg, bmp, webp, tif
- [x] Compatible video - mp4, wemb, gif, mkv, flv, avi, mov, qt
Next steps. 🤫
- [x] 1.X versions
- [x] Switch to Pytorch-directml to support all Directx12 compatible gpu (AMD, Intel, Nvidia)
- [x] New GUI with Windows 11 style
- [x] Include audio for upscaled video
- [x] Optimizing video frame resize and extraction speed
- [x] Multi GPU support (for pc with double GPU, integrated + dedicated)
- [x] Python 3.10 (expecting ~10% more performance)
- [x] 2.X versions
- [x] New, completely redesigned graphical interface based on @customtkinter
- [x] Upscaling images and videos at once (currently it is possible to upscale images or single video)
- [x] Upscale multiple videos at once
- [x] Choose upscaled video extension
- [x] Interpolation between the original and upscaled image/video
- [x] More Interpolation levels (Low, Medium, High)
- [x] Show the remaining time to complete video upscaling
- [x] Support for SRVGGNetCompact AI architecture
- [x] Metadata extraction and application from original file to upscaled file (via exiftool)
- [ ] 3.X versions
- [x] New AI engine powered by onnxruntime-directml (https://pypi.org/project/onnxruntime-directml/)
- [x] Python 3.11 (~10% performance improvements)
- [x] Display images/videos upscaled resolution in the GUI
- [x] FFMPEG 6.1.1 (latest release)
- [ ] Python 3.12
- [ ] Video upscaling pause and restart
Some Examples.
Videos
- Original
- RealESRGANx4 - upscaled in 3 minutes and 23 seconds
https://user-images.githubusercontent.com/32263112/209639499-83eb4609-a842-43f9-b8a2-9fffd23e1d2c.mp4
- RealESR_Gx4 - upscaled in 57 seconds
https://user-images.githubusercontent.com/32263112/209639569-c201a965-c6bf-4b7c-9904-61114b5bf4d5.mp4