Skip to main content
Real-ESRGAN provides specialized compact models for video upscaling. These models are designed to be lightweight and fast while maintaining good quality across video frames.

Available Video Models

realesr-animevideov3

Optimized for anime videos with XS size

realesr-general-x4v3

Compact model for general video content

realesr-animevideov3

This model is specifically optimized for anime videos with extra-small (XS) size for efficient video processing.

Model Specifications

Key Features

Temporal Consistency

Designed to maintain consistency across video frames

Lightweight

XS size enables fast processing of video sequences

Variable Scale

Supports 1x, 2x, 3x, and 4x upscaling

Low Memory

Consumes minimal GPU memory for longer videos

realesr-general-x4v3

Model Specifications

This model can be used for both general images and videos. It’s slightly larger than the anime video model but still very efficient.

Usage

PyTorch Inference

Command Line Options

int
Number of processes per GPU. Total processes = num_gpu × num_process_per_gpu. Helps with GPU utilization since video processing is often IO-bound.
boolean
Extract all frames before processing. Enable this if you encounter ffmpeg errors with multi-processing.
float
Output scale: 1, 2, 3, or 4. Both video models support variable scaling.
string
Input video file path.
string
Model name: realesr-animevideov3 or realesr-general-x4v3.

NCNN Executable (Manual Workflow)

For systems without Python or CUDA, use the NCNN portable executable with a manual frame extraction workflow.
1

Extract Frames from Video

Use ffmpeg to extract frames:
2

Download NCNN Executable

Download for your platform:
3

Process Frames

4

Get Original FPS

Check the original video’s FPS:
Look for the fps value in the output (e.g., “23.98 fps”).
5

Merge Frames Back to Video

Merge enhanced frames into video:

FFmpeg Options Explained

Model Comparison

Anime Video vs General Video

Video Models vs Image Models

Video models trade some quality for speed and efficiency, making them practical for processing thousands of video frames.

Performance Optimization

Multi-Processing for Better GPU Utilization

Video processing is often IO-bound (reading/writing frames), leaving GPUs underutilized. Multi-processing helps maximize GPU usage:
Monitor GPU memory and adjust num_process_per_gpu accordingly.

Handling FFmpeg Errors

If you encounter ffmpeg errors with multi-processing:
This extracts all frames before processing, avoiding concurrent ffmpeg access issues.

Best Practices

Choose Right Scale

Start with 2x for faster processing, use 4x only if needed:

Optimize GPU Usage

Use multi-processing for better GPU utilization:

Preserve Audio

Always include audio when merging frames back:

Match FPS

Use original video’s FPS for smooth playback:

Example Workflows

Quick 2x Upscaling (Anime)

High Quality 4x Upscaling (General)

Batch Processing Multiple Videos

Next Steps

Anime Models

Learn about anime image upscaling

General Models

Explore general image models