Skip to content
/ video2x Public

A machine learning-based lossless video super resolution framework. Est. Hack the Valley II, 2018.

License

Notifications You must be signed in to change notification settings

k4yt3x/video2x

Repository files navigation


Important

Versions 4 and 5 have reached end-of-life (EOL) status. Due to limited development resources, issues related to any version earlier than 6 will no longer be addressed.

🌟 Version 6.0.0

Download Windows Installer

TL;DR: Version 6.0.0 is a complete rewrite of the Video2X project in C/C++, featuring a faster, more efficient architecture, cross-platform support, vastly improved output quality, and a new GUI and installer for easy setup on Windows.

6.1.0-screenshot

Version 6.0.0 is a complete rewrite of this project in C/C++. It:

  • genuinely works this time, with much less hassle compared to the 5.0.0 beta;
  • is blazing fast, thanks to the new optimized pipeline and the efficiency of C/C++;
  • is cross-platform, available now for both Windows and Linux;
  • offers significantly better output quality with Anime4K v4 and RealESRGAN;
  • supports Anime4K v4 and all custom MPV-compatible GLSL shaders;
  • includes support for RealESRGAN (all three models) via ncnn and Vulkan;
  • requires zero additional disk space during processing, just space for the final output; and
  • exports a standard C function for easy integration into other projects! (documentations are on the way)

Support for RealCUGAN and frame interpolation with RIFE are coming soon.

You can download the latest Windows release from the releases page. For basic GUI usage, refer to the GUI wiki page. If you're unable to download directly from GitHub, try the mirror. The GUI currently supports the following languages:

  • English (United States)
  • 简体中文(中国)
  • 日本語(日本)
  • Português (Portugal)

You can install Video2X on Arch Linux using the video2x-git AUR package or on Ubuntu/Debian using the .deb package from the releases page. If you'd like to build from source, refer to the PKGBUILD file for a general overview of the required packages and commands. If you'd prefer not to compile the program from source, consider using the container image below.

Video2X container images are available on the GitHub Container Registry for easy deployment on Linux and macOS. If you already have Docker/Podman installed, only one command is needed to start upscaling a video. For more information on how to use Video2X's Docker image, please refer to the documentations.

📔 Google Colab (Outdated: 5.0.0-beta7)

You can use Video2X on Google Colab for free if you don't have a powerful GPU of your own. You can borrow a powerful GPU (NVIDIA T4, L4, or A100) on Google's server for free for a maximum of 12 hours per session. Please use the free resource fairly and do not create sessions back-to-back and run upscaling 24/7. This might result in you getting banned. You can get Colab Pro/Pro+ if you'd like to use better GPUs and get longer runtimes. Usage instructions are embedded in the Colab Notebook.

Join our Telegram discussion group to ask any questions you have about Video2X, chat directly with the developers, or discuss about super resolution technologies and the future of Video2X in general.

Video2X's documentations are hosted on this repository's Wiki page. It includes comprehensive explanations for how to use the GUI, the CLI, the container image, the library, and more. The Wiki is open to edits by the community, so you, yes you, can also correct errors or add new contents to the documentations.

Introduction

Video2X is a machine-learning-powered framework for video upscaling and frame interpolation, built around three main components:

  • libvideo2x: The core C++ library providing upscaling and frame interpolation capabilities.
  • Video2X CLI: A command-line interface that utilizes libvideo2x for video processing.
  • Video2X Qt6: A Qt6-based graphical interface that utilizes libvideo2x for video processing.

Video Demos

Spirited Away Demo
Upscale demo: Spirited Away's movie trailer

  • Spirited Away: YouTube | Bilibili
    • 360P to 4K
    • The original video's copyright belongs to 株式会社スタジオジブリ
  • Bad Apple!!: YouTube | Bilibili
    • 384P 30 FPS to 4K 120 FPS with waifu2x and DAIN
    • The original video's copyright belongs to あにら
  • The Pet Girl of Sakurasou: YouTube | Bilibili
    • 240P 29.97 to 1080P 60 FPS with waifu2x and DAIN
    • The original video's copyright belongs to ASCII Media Works

Standard Test Clip

The following clip can be used to test if your setup works properly. This is also the standard clip used for running performance benchmarks.

The original clip came from the anime "さくら荘のペットな彼女."
Copyright of this clip belongs to 株式会社アニプレックス.

License

This project is licensed under GNU AGPL version 3.
Copyright (C) 2018-2024 K4YT3X and contributors.

AGPLv3

This project includes or depends on these following projects:

Project License
bloc97/Anime4K MIT License
FFmpeg/FFmpeg LGPLv2.1, GPLv2
xinntao/Real-ESRGAN-ncnn-vulkan MIT License
Tencent/ncnn BSD 3-Clause

More licensing information can be found in the NOTICE file.

Special Thanks

Special thanks to the following individuals for their significant contributions to the project, listed in alphabetical order.