使用 waifu2x、Anime4K、SRMD 和 RealSR 实现的无损视频/GIF/图像 upscaler。始于2018年的《 Hack the Valley 2》。A lossless video/GIF/image upscaler achieved with waifu2x, Anime4K, SRMD and RealSR. Started in Hack the Valley 2, 2018.

Github 星跟踪图

Video2X Lossless Video Enlarger

Official Discussion Group (Telegram): https://t.me/video2x

Download Builds (Windows)

You can go to the releases page to download the latest builds of Video2X. The exe files will require no Python or Python module installation.

The full package provides all packages that will possibly be needed by Video2X, including FFmpeg, waifu2x-caffe, waifu2x-converter-cpp, waifu2x-ncnn-vulkan, and Anime4K. The config file (video2x.json) is also already configured for the environment. All you need to do is just to launch video2x.exe.

The light package provides only the most basic functions of Video2X. Only video2x.exe, video2x_setup.exe and video2x.json are included. To setup dependencies (e.g. FFmpeg and Waifu2X) automatically, simply launch video2x_setup.exe.

Prerequisites

Component names that are bolded can be automatically downloaded and configured with the video2x_setup.py script.

  1. Operating System: Windows / Linux
  2. AMD GPU / Nvidia GPU
  3. AMD GPU driver / Nvidia GPU driver / Nvidia CUDNN
  4. FFmpeg
  5. One of the following drivers

Recent Changes

3.0.0 (November 26, 2019)
  • Linux compatibility
  • Configuration file changed to YAML format
    • You may still use a JSON-formatted config file. To do so, please specify -c video2x.json.
  • Other code clean-up and optimization
2.10.0 (August 16, 2019)
2.9.0 (July 27, 2019)
  • Changed file handling method from os to pathlib
  • Removed f_string dependency and support for legacy versions of Python
  • Organized file import statements
Setup Script 1.6.0 (November 26, 2019)
  • Added compatibility for new YAML configuration file
  • Added better exception handling

Description

Video2X is an automation software based on waifu2x image enlarging engine. It extracts frames from a video, enlarge it by a number of times without losing any details or quality, keeping lines smooth and edges sharp.

For short: Video2X enlarges your video without losing details

Watch for the sharper edges in this screenshot around the shadows:

preview

You can also watch the YouTube video Demo: https://www.youtube.com/watch?v=PG94iPoeoZk

Clip is from trailer of animated movie "千と千尋の神隠し". Copyright belongs to "株式会社スタジオジブリ (STUDIO GHIBLI INC.)". Will delete immediately if use of clip is in violation of copyright.

Screenshot

video2x_gui

screenshot

Documentations

Video2X Wiki

You can find all detailed user-facing and developer-facing documentations in the Video2X Wiki. It covers everything from step-by-step instructions for beginners, to the code structure of this program for advanced users and developers. If this README page doesn't answer all your questions, the wiki page is where you should head to.

Step-By-Step Tutorial

For those who want a detailed walk-through of how to use Video2X, you can head to the Step-By-Step Tutorial wiki page. It includes almost every step you need to perform in order to enlarge your first video.

Waifu2X Drivers

Go to the Waifu2X Drivers wiki page if you want to see a detailed description on the different types of waifu2x drivers implemented by Video2X. This wiki page contains detailed difference between different drivers, and how to download and set each of them up for Video2X.

Q&A

If you have any questions, first try visiting our Q&A page to see if your question is answered there. If not, open an issue and we will respond to your questions ASAP.

Quick Start

Prerequisites
Installing Dependencies

First, clone the video2x repository.

git clone https://github.com/k4yt3x/video2x.git
cd video2x/bin

Then you may run the video2x_setup.py script to install and configure the dependencies automatically. This script is designed and tested on Windows 10.

This script will install the newest version of ffmpeg, any one or all waifu2x-caffe, waifu2x-converter-cpp, and waifu2x-ncnn-vulkan to %LOCALAPPDATA%\\video2x and all required python libraries.

python video2x_setup.py

Alternatively, you can also install the dependencies manually. Please refer to the prerequisites section to see what's needed.

Then you'll need to install python dependencies before start using video2x. Install simply by executing the following command.

pip install -r requirements.txt

Note that all command line arguments/options overwrite configuration file settings.

Sample Videos

If you can't find a video clip to begin with, or if you want to see a before-after comparison, we have prepared some sample clips for you. The quick start guide down below will also be based on the name of the sample clips.

sample_video

Clip is from anime "さくら荘のペットな彼女". Copyright belongs to "株式会社アニプレックス (Aniplex Inc.)". Will delete immediately if use of clip is in violation of copyright.

Nvidia CUDA (waifu2x-caffe)

Enlarge the video to 1920x1080 using CUDA. You may also use the -r/--ratio option.

python video2x.py -i sample_input.mp4 -o sample_output.mp4 -m gpu --width=1920 --height=1080
Nvidia CUDNN

Enlarge the video to 1920x1080 using CUDNN. You may also use the -r/--ratio option.

python video2x.py -i sample_input.mp4 -o sample_output.mp4 -m cudnn --width=1920 --height=1080
AMD or Nvidia (waifu2x-converter-cpp OpenCL)

Enlarge the video by 2 times using OpenCL. Note that waifu2x-converter-cpp doesn't support width and height. You'll also have to explicitly specify that the driver to be used is waifu2x_converter.

python video2x.py -i sample_input.mp4 -o sample_output.mp4 -m gpu -r 2 -d waifu2x_converter
AMD or Nvidia (waifu2x-ncnn-vulkan Vulkan)
python video2x.py -i sample_input.mp4 -o sample_output.mp4 -m gpu -r 2 -d waifu2x_ncnn_vulkan
Anime4K

Enlarge the video by 2 times using Anime4K. Remember to install and configure JRE 12 path in the configuration file.

python video2x.py -i sample_input.mp4 -o sample_output.mp4 -r 2 -d anime4k
CPU

Enlarge the video to 1920x1080 using the CPU. You may also use the -r/--ratio option. waifu2x-based upscalers potentially run much slower than using a GPU, but Anime4K is more CPU-dependant. The configuration file for this method is similar to the previous methods.

python video2x.py -i sample_input.mp4 -o sample_output.mp4 -m cpu --width=1920 --height=1080

Full Usage

General Options

-h, --help
show this help message and exit

File Options

-i INPUT, --input INPUT
Source video file/directory (default: None)
-o OUTPUT, --output OUTPUT
Output video file/directory (default: None)

Upscaling Options

-m {cpu,gpu,cudnn}, --method {cpu,gpu,cudnn}
Upscaling method (default: gpu)
-d {waifu2x_caffe,waifu2x_converter}, --driver {waifu2x_caffe,waifu2x_converter}
Waifu2x driver (default: waifu2x_caffe)
-y MODEL_DIR, --model_dir MODEL_DIR
Folder containing model JSON files
-t THREADS, --threads THREADS
Number of threads to use for upscaling (default: 5)
-c CONFIG, --config CONFIG
Video2X config file location (default: video2x\bin\video2x.json)
-b, --batch
Enable batch mode (select all default values to questions)

Scaling Options

--width WIDTH
Output video width
--height HEIGHT
Output video height
-r RATIO, --ratio RATIO
Scaling ratio

License

Licensed under the GNU General Public License Version 3 (GNU GPL v3) https://www.gnu.org/licenses/gpl-3.0.txt

GPLv3 Icon

(C) 2018-2020 K4YT3X

Credits

This project relies on the following software and projects.

Special Thanks

Appreciations given to the following code contributors:

  • @BrianPetkovsek
  • @SAT3LL

Related Resources

  • Dandere2x: Dandere2x is a lossy video upscaler also built around waifu2x, but with video compression techniques to shorten the time needed to process a video.

项目概况

主要编程语言Python
编程语言Python
许可证GNU Affero General Public License v3.0
最新版本名称5.0.0-beta6
第一版名称2.7.0
最后发布时间2022-09-04 21:56:40
首次发布2019-03-31 02:17:10
最后一次提交2022-09-04 21:56:40
创建于2018-02-24T16:34:41
推送于2022-09-22T19:18:15
平台Docker Linux Windows
提交数805
关注者数97
名称与所有者k4yt3x/video2x
派生数573
星数5.4k
问题数644
打开的问题数72
发布数27
语言数3
拉请求数33
关闭的拉请求数18
已启用问题?
已启用Wiki?
已存档?
是分叉?
已锁定?
是镜像?
是私有?
To the top