VideoTools/docs/Upscale.md

72 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Upscale Module (Planned)
The `upscale-video` command will provide loss-minimized video upscaling.
---
## Overview
This module will allow upscaling of existing videos to higher resolutions such as:
- 720p (HD)
- 1080p (Full HD)
- 2160p (4K)
It will use FFmpegs native scaling filters first and optionally integrate machine learning tools later.
---
## Planned Syntax
```bash
video-tools upscale-video <input> <output.mp4> --scale 1920x1080
```
Optional parameters:
```
--scale <WxH> Set explicit resolution
--filter <name> Choose scaling filter (lanczos, bicubic, spline36)
--hevc Encode using H.265 for smaller output
--keep-audio Copy original audio stream without re-encoding
```
---
## Default Behavior
If no resolution is provided, the tool will upscale intelligently to the nearest standard resolution above the input video.
Example:
- Input: 960×540 → Output: 1280×720
- Input: 1280×720 → Output: 1920×1080
---
## Technical Notes
### FFmpeg Filter Example
```bash
ffmpeg -i input.mp4 -vf scale=1920:1080:flags=lanczos \
-c:v libx264 -crf 18 -preset slow -c:a aac -b:a 192k output_1080p.mp4
```
- `scale=1920:1080:flags=lanczos` → high-quality resampling
- `lanczos` offers sharp, low-artifact upscale
- Later versions may support `zscale` or ML-based filters
---
## Planned Features
| Feature | Status |
|----------|--------|
| FFmpeg scaler (lanczos) | 🔜 Planned |
| ML-based upscaling (Real-ESRGAN / waifu2x) | 🚧 Research |
| Auto resolution detection | 🔜 Planned |
| GPU acceleration support | 🔜 Planned |
| Configurable presets | 🔜 Planned |
---
End of File