60 lines
2.1 KiB
Markdown
60 lines
2.1 KiB
Markdown
# Upscale Module
|
||
|
||
The Upscale module raises video resolution using traditional FFmpeg scaling or AI-based Real-ESRGAN (ncnn).
|
||
|
||
## Status
|
||
- AI upscaling is wired through the Real-ESRGAN ncnn backend.
|
||
- Traditional scaling is always available.
|
||
- Filters and frame rate conversion can be applied before AI upscaling.
|
||
|
||
## AI Upscaling (Real-ESRGAN ncnn)
|
||
|
||
### Requirements
|
||
- `realesrgan-ncnn-vulkan` in `PATH`.
|
||
- Vulkan-capable GPU recommended.
|
||
|
||
### Pipeline
|
||
1. Extract frames from the source video (filters and fps conversion applied here if enabled).
|
||
2. Run `realesrgan-ncnn-vulkan` on extracted frames.
|
||
3. Reassemble frames into a lossless MKV with the original audio.
|
||
|
||
### AI Controls
|
||
- **Model Preset**
|
||
- General (RealESRGAN_x4plus)
|
||
- Anime/Illustration (RealESRGAN_x4plus_anime_6B)
|
||
- Anime Video (realesr-animevideov3)
|
||
- General Tiny (realesr-general-x4v3)
|
||
- 2x General (RealESRGAN_x2plus)
|
||
- Clean Restore (realesrnet-x4plus)
|
||
- **Processing Preset**
|
||
- Ultra Fast, Fast, Balanced (default), High Quality, Maximum Quality
|
||
- Presets tune tile size and TTA.
|
||
- **Upscale Factor**
|
||
- Match Target or fixed 1x/2x/3x/4x/8x.
|
||
- **Output Adjustment**
|
||
- Post-scale multiplier (0.5x–2.0x).
|
||
- **Denoise**
|
||
- Available for `realesr-general-x4v3` (General Tiny).
|
||
- **Tile Size**
|
||
- Auto/256/512/800.
|
||
- **Output Frames**
|
||
- PNG/JPG/WEBP for frame extraction.
|
||
- **Advanced**
|
||
- GPU selection, threads (load/proc/save), and TTA toggle.
|
||
|
||
### Notes
|
||
- Face enhancement requires the Python/GFPGAN backend and is currently not executed.
|
||
- AI upscaling is heavier than traditional scaling; use smaller tiles for low VRAM.
|
||
|
||
## Traditional Scaling
|
||
- **Algorithms:** Lanczos, Bicubic, Spline, Bilinear.
|
||
- **Target:** Match Source, 2x/4x, or fixed resolutions (720p → 8K).
|
||
- **Output Quality:** Lossless (CRF 0), Near-lossless (CRF 16, default), High (CRF 18).
|
||
|
||
## Filters and Frame Rate
|
||
- Filters configured in the Filters module can be applied before upscaling.
|
||
- Frame rate conversion can be applied with or without motion interpolation.
|
||
|
||
## Logging
|
||
- Each upscale job writes a conversion log in the `logs/` folder next to the executable.
|