Awesome
<p align="center"> <img src="https://github.com/user-attachments/assets/5cd63373-e806-474f-94ec-6e04963bf90f"/> </br> <img src="https://img.shields.io/github/v/release/k4yt3x/video2x?style=flat-square"/> <img src="https://img.shields.io/github/actions/workflow/status/k4yt3x/video2x/build.yml?label=Build&style=flat-square"/> <img src="https://img.shields.io/github/downloads/k4yt3x/video2x/total?style=flat-square"/> <img src="https://img.shields.io/github/license/k4yt3x/video2x?style=flat-square"/> <img src="https://img.shields.io/badge/dynamic/json?color=%23e85b46&label=Patreon&query=data.attributes.patron_count&suffix=%20patrons&url=https%3A%2F%2Fwww.patreon.com%2Fapi%2Fcampaigns%2F4507807&style=flat-square"/> <img src="https://img.shields.io/github/sponsors/k4yt3x?style=flat-square&link=https%3A%2F%2Fgithub.com%2Fsponsors%2Fk4yt3x"/> </p>[!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
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.
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.
🪟 Download for Windows
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)
🐧 Install on Linux
You can install Video2X on Arch Linux using the video2x-git package or download pre-compiled binaries 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.
📦 Container Image
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.
💬 Telegram Discussion Group
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.
📖 Documentations
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
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.
- Standard Test Clip (240P) 4.54 MiB
- waifu2x Upscaled Sample (1080P) 4.54 MiB
- Ground Truth (1080P) 22.2 MiB
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.
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.