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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

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 Preview

Direct download link for Windows (Installer)

6.0.0-beta-screenshot

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

  • actually works this time, with less pain (in comparison to 5.0.0 beta);
  • is blazing fast, thanks to the redesigned efficient pipeline and the speed of C/C++;
  • is cross-platform, available right now for both Windows and Linux;
  • provides much better output quality with Anime4K v4 and RealESRGAN;
  • supports Anime4K v4 and all other custom MPV-compatible GLSL shaders;
  • supports RealESRGAN (all three models) via ncnn and Vulkan;
  • requires 0 disk space for processing the video, just space for storing the final output; and
  • exports a standard C function that can be easily integrated in your own projects!

These are available for download now:

  • 6.0.0 beta Qt6-based GUI for Windows is on the releases page.
  • 6.0.0 beta CLI preview builds for Windows and Linux are on the releases page.
    • You will need to install the dependencies and set LD_LIBRARY_PATH for the Linux build to work. Refer to the PKGBUILD file to see what needs to be installed.
    • Alternatively, you can build it from source. Take a look at the Makefile.
  • 6.0.0 beta AUR package for Arch Linux (video2x-git).
  • 6.0.0 beta container image.
  • A new Colab will be made for 6.0.0 at a later time.

There is still much to be done and optimize. Stay tuned for more updates. As for why the 5.0.0 branch was abandoned, here are some of the reasons:

  • Wrapped C++ libraries for Python are too painful to build for cross-platform distribution.
  • Some wrapped C++ libraires exhibited unexpected behaviors.
  • Running FFmpeg via commands and piping data through stdin/stdout are inefficient.
  • C/C++ native binaries are much smaller and much more efficient.

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.

The latest Windows release build based on version 4.8.1. Go to the GUI page to see the basic usages of the GUI. Try the mirror if you can't download releases directly from GitHub.

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 (Tesla K80, T4, P4, or P100) 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.

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.

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 video/GIF/image upscaling and frame interpolation software written in Python. It can use these following state-of-the-art algorithms to increase the resolution and frame rate of your video/GIF/image. More information about the algorithms that it supports can be found in the documentations.

Video Upscaling

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 to 4K 120FPS
    • The original video's copyright belongs to ใ‚ใซใ‚‰
  • The Pet Girl of Sakurasou: YouTube | Bilibili
    • 240P to 1080P 60FPS
    • 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 the GNU Affero General Public License Version 3 (GNU AGPL v3)
Copyright (C) 2018-2024 K4YT3X and contributors.

AGPLv3

This project (libvideo2x) includes or depends on these following projects:

Project License
Anime4K MIT License
FFmpeg LGPLv2.1, GPLv2
Real-ESRGAN ncnn Vulkan MIT License
ncnn BSD 3-Clause

More licensing information can be found in the NOTICE file.

Special Thanks

Appreciations are given to the following personnel who have contributed significantly to the project.

Similar Projects

  • Dandere2x: A lossy video upscaler also built around waifu2x, but with video compression techniques to shorten the time needed to process a video.
  • Waifu2x-Extension-GUI: A similar project that focuses more and only on building a better graphical user interface. It is built using C++ and Qt5, and currently only supports the Windows platform.