mirror of
https://github.com/k4yt3x/video2x.git
synced 2025-01-30 15:48:13 +00:00
updated README for version 4.0.0
This commit is contained in:
parent
5b3e5604cc
commit
ec1327b5d8
137
README.md
137
README.md
@ -6,9 +6,9 @@
|
||||
|
||||
You can go to the [releases page](https://github.com/k4yt3x/video2x/releases) 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`, `Anime4K` and `srmd-ncnn-vulkan`. The config file (`video2x.json`) is also already configured for the environment. All you need to do is just to launch `video2x.exe`.
|
||||
The **`full`** package provides all packages that will possibly be needed by `Video2X`, including `FFmpeg`, `waifu2x-caffe`, `waifu2x-converter-cpp`, `waifu2x-ncnn-vulkan`, `srmd-ncnn-vulkan` and `Anime4KCPP`. The config file (`video2x.yaml`) 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`.
|
||||
The **`light`** package provides only the most basic functions of `Video2X`. Only `video2x.exe`, `video2x_setup.exe` and `video2x.yaml` are included. To setup dependencies (e.g. `FFmpeg` and `Waifu2X`) automatically, simply launch `video2x_setup.exe`.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
@ -22,11 +22,22 @@ Component names that are **bolded** can be automatically downloaded and configur
|
||||
- [**waifu2x-caffe**](https://github.com/lltcggie/waifu2x-caffe/releases)
|
||||
- [**waifu2x-converter-cpp**](https://github.com/DeadSix27/waifu2x-converter-cpp/releases)
|
||||
- [**waifu2x-ncnn-vulkan**](https://github.com/nihui/waifu2x-ncnn-vulkan)
|
||||
- [**Anime4K**](https://github.com/bloc97/Anime4K)
|
||||
- [**srmd-ncnn-vulkan**](https://github.com/nihui/srmd-ncnn-vulkan)
|
||||
- [**Anime4KCPP**](https://github.com/TianZerL/Anime4KCPP)
|
||||
|
||||
## Recent Changes
|
||||
|
||||
### 4.0.0 (May 5, 2020)
|
||||
|
||||
- Added internationalization support
|
||||
- Added language zh_CN (简体中文)
|
||||
- Language will change automatically according to system locale settings
|
||||
- Added support for [Anime4KCPP](https://github.com/TianZerL/Anime4KCPP) in replacement for Anime4K (Java)
|
||||
- Driver-specific settings can now be specified in the command line by specifying them after a `--`
|
||||
- All driver-specific settings are parsed by the corresponding driver
|
||||
- Modularized driver wrappers in Video2X
|
||||
- Cleaned up some clutters in the code
|
||||
|
||||
### 3.2.0 (April 26, 2020)
|
||||
|
||||
- Added support for [SRMD-NCNN-Vulkan](https://github.com/nihui/srmd-ncnn-vulkan)
|
||||
@ -37,22 +48,15 @@ Component names that are **bolded** can be automatically downloaded and configur
|
||||
- Added support for graceful exit upon `KeyboardInterrupt` or termination signals
|
||||
- Other minor improvements such as replacing `' '.join(execute)` with `shlex.join(execute)`
|
||||
|
||||
### 3.0.0 (November 26, 2019)
|
||||
### Setup Script 1.8.0 (May 5, 2020)
|
||||
|
||||
- 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
|
||||
|
||||
### Setup Script 1.7.0 (April 26, 2020)
|
||||
|
||||
- Added support for srmd-ncnn-vulkan
|
||||
- Added support for Anime4KCPP
|
||||
|
||||
## 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**
|
||||
For short: **Video2X enlarges your video without losing details**.
|
||||
|
||||
Watch for the sharper edges in this screenshot around the shadows:
|
||||
|
||||
@ -80,9 +84,9 @@ You can find all detailed user-facing and developer-facing documentations in the
|
||||
|
||||
For those who want a detailed walk-through of how to use `Video2X`, you can head to the [Step-By-Step Tutorial](https://github.com/k4yt3x/video2x/wiki/Step-By-Step-Tutorial) wiki page. It includes almost every step you need to perform in order to enlarge your first video.
|
||||
|
||||
### [Waifu2X Drivers](https://github.com/k4yt3x/video2x/wiki/Waifu2X-Drivers)
|
||||
### [Drivers](https://github.com/k4yt3x/video2x/wiki/Drivers)
|
||||
|
||||
Go to the [Waifu2X Drivers](https://github.com/k4yt3x/video2x/wiki/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`.
|
||||
Go to the [Drivers](https://github.com/k4yt3x/video2x/wiki/Drivers) wiki page if you want to see a detailed description on the different types of 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](https://github.com/k4yt3x/video2x/wiki/Q&A)
|
||||
|
||||
@ -98,14 +102,14 @@ If you have any questions, first try visiting our [Q&A](https://github.com/k4yt3
|
||||
Download: https://www.python.org/downloads/windows/
|
||||
- **FFmpeg Windows Build**
|
||||
Download: https://ffmpeg.org/download.html
|
||||
- **waifu2x-caffe** (for Nvidia CUDA/CUDNN)
|
||||
- **waifu2x-caffe** (designed for Nvidia CUDA/cuDNN)
|
||||
Download: https://github.com/lltcggie/waifu2x-caffe/releases
|
||||
- **waifu2x-converter-cpp** (required for AMD, OpenCL and OpenGL processing)
|
||||
- **waifu2x-converter-cpp**
|
||||
Download: https://github.com/DeadSix27/waifu2x-converter-cpp/releases
|
||||
- **waifu2x-ncnn-vulkan**
|
||||
Download: https://github.com/nihui/waifu2x-ncnn-vulkan/releases
|
||||
- **Anime4K**
|
||||
Download: https://github.com/bloc97/Anime4K/releases
|
||||
- **Anime4KCPP**
|
||||
Download: https://github.com/TianZerL/Anime4KCPP/releases
|
||||
- **srmd-ncnn-vulkan**
|
||||
Download: https://github.com/nihui/srmd-ncnn-vulkan/releases
|
||||
|
||||
@ -115,12 +119,12 @@ First, clone the video2x repository.
|
||||
|
||||
```shell
|
||||
git clone https://github.com/k4yt3x/video2x.git
|
||||
cd video2x/bin
|
||||
cd video2x/src
|
||||
```
|
||||
|
||||
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.
|
||||
This script will install the newest version of `ffmpeg`, and all upscaling drivers to `%LOCALAPPDATA%\\video2x` and all required python libraries.
|
||||
|
||||
```shell
|
||||
python video2x_setup.py
|
||||
@ -134,112 +138,78 @@ Then you'll need to install python dependencies before start using video2x. Inst
|
||||
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](https://user-images.githubusercontent.com/21986859/52905766-d5512b00-3236-11e9-9aea-077636539679.png)
|
||||
|
||||
- [Sample Video Original (240P) 1.7MB](https://files.flexio.org/Resources/Videos/sample_input.mp4)
|
||||
- [Sample Video Upscaled (1080P) 4.8MB](https://files.flexio.org/Resources/Videos/sample_output.mp4)
|
||||
- [Sample Video Original (240P) 1.7MB](https://files.k4yt3x.com/Resources/Videos/sample_input.mp4)
|
||||
- [Sample Video Upscaled (1080P) 4.8MB](https://files.k4yt3x.com/Resources/Videos/sample_output.mp4)
|
||||
|
||||
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)
|
||||
### Basic Upscale Example
|
||||
|
||||
Enlarge the video to 1920x1080 using CUDA. You may also use the `-r/--ratio` option.
|
||||
This example command below uses `waifu2x-caffe` to enlarge the video `sample-input.mp4` two double its original size.
|
||||
|
||||
```shell
|
||||
python video2x.py -i sample_input.mp4 -o sample_output.mp4 -m gpu --width=1920 --height=1080
|
||||
python video2x.py -i sample-input.mp4 -o sample-output.mp4 -r 2 -d waifu2x_caffe
|
||||
```
|
||||
|
||||
### Nvidia CUDNN
|
||||
### Advanced Upscale Example
|
||||
|
||||
Enlarge the video to 1920x1080 using CUDNN. You may also use the `-r/--ratio` option.
|
||||
If you would like to tweak engine-specific settings, either specify the corresponding argument after `--`, or edit the corresponding field in the configuration file `video2x.yaml`. **Command line arguments will overwrite default values in the config file.**
|
||||
|
||||
This example below adds enables TTA for `waifu2x-caffe`.
|
||||
|
||||
```shell
|
||||
python video2x.py -i sample_input.mp4 -o sample_output.mp4 -m cudnn --width=1920 --height=1080
|
||||
python video2x.py -i sample-input.mp4 -o sample-output.mp4 -r 2 -d waifu2x_caffe -- --tta 1
|
||||
```
|
||||
|
||||
### 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`.
|
||||
To see a help page for driver-specific settings, use `-d` to select the driver and append `-- --help` as demonstrated below. This will print all driver-specific settings and descriptions.
|
||||
|
||||
```shell
|
||||
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)
|
||||
|
||||
```shell
|
||||
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](https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase12-5440181.html) path in the configuration file.**
|
||||
|
||||
```shell
|
||||
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.
|
||||
|
||||
```shell
|
||||
python video2x.py -i sample_input.mp4 -o sample_output.mp4 -m cpu --width=1920 --height=1080
|
||||
python video2x.py -d waifu2x_caffe -- --help
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Full Usage
|
||||
|
||||
## General Options
|
||||
## General Options:
|
||||
|
||||
### -h, --help
|
||||
show this help message and exit
|
||||
|
||||
## File Options
|
||||
|
||||
### -i INPUT, --input INPUT
|
||||
Source video file/directory (default: None)
|
||||
source video file/directory
|
||||
|
||||
### -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)
|
||||
output video file/directory
|
||||
|
||||
### -c CONFIG, --config CONFIG
|
||||
Video2X config file location (default: video2x\bin\video2x.json)
|
||||
video2x config file path
|
||||
|
||||
### -b, --batch
|
||||
Enable batch mode (select all default values to questions)
|
||||
### -d {waifu2x_caffe,waifu2x_converter_cpp,waifu2x_ncnn_vulkan,srmd_ncnn_vulkan,anime4kcpp}, --driver {waifu2x_caffe,waifu2x_converter_cpp,waifu2x_ncnn_vulkan,srmd_ncnn_vulkan,anime4kcpp}
|
||||
upscaling driver (default: waifu2x_caffe)
|
||||
|
||||
### -p PROCESSES, --processes PROCESSES
|
||||
number of processes to use for upscaling (default: 1)
|
||||
|
||||
### -v, --version
|
||||
display version, lawful information and exit
|
||||
|
||||
## Scaling Options
|
||||
|
||||
### --width WIDTH
|
||||
Output video width
|
||||
output video width
|
||||
|
||||
### --height HEIGHT
|
||||
Output video height
|
||||
output video height
|
||||
|
||||
### -r RATIO, --ratio RATIO
|
||||
Scaling ratio
|
||||
scaling ratio
|
||||
|
||||
---
|
||||
|
||||
@ -260,7 +230,8 @@ This project relies on the following software and projects.
|
||||
- [waifu2x-caffe](https://github.com/lltcggie/waifu2x-caffe)
|
||||
- [waifu2x-converter-cpp](https://github.com/DeadSix27/waifu2x-converter-cpp)
|
||||
- [waifu2x-ncnn-vulkan](https://github.com/nihui/waifu2x-ncnn-vulkan)
|
||||
- [Anime4K](https://github.com/bloc97/Anime4K)
|
||||
- [srmd-ncnn-vulkan](https://github.com/nihui/srmd-ncnn-vulkan)
|
||||
- [Anime4KCPP](https://github.com/TianZerL/Anime4KCPP)
|
||||
|
||||
## Special Thanks
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user