Video2x - A lossless video/GIF/image upscaler achieved with waifu2x, Anime4K, SRMD and RealSR.

Overview

GitHub release (latest by date) GitHub Workflow Status Docker Cloud Build Status GitHub All Releases GitHub Platforms Become A Patron!

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

A Discord server is also available. Please note that most developers are only on Telegram. If you join the Discord server, the developers might not be able to see your questions and help you. It is mostly for user-user interactions and those who do not want to use Telegram.

Download Stable/Beta Builds (Windows)

  • Full: full package comes pre-configured with all dependencies like FFmpeg and waifu2x-caffe.
  • Light: ligt package comes with only Video2X binaries and a template configuration file. The user will either have to run the setup script or install and configure dependencies themselves.

Go to the Quick Start section for usages.

Download From Mirror

In case you're unable to download the releases directly from GitHub, you can try downloading from the mirror site hosted by the author. Only releases will be updated in this directory, not nightly builds.

Download Nightly Builds (Windows)

You need to be logged into GitHub to be able to download GitHub Actions artifacts.

Nightly builds are built automatically every time a new commit is pushed to the master branch. The lates nightly build is always up-to-date with the latest version of the code, but is less stable and may contain bugs. Nightly builds are handled by GitHub's integrated CI/CD tool, GitHub Actions.

To download the latest nightly build, go to the GitHub Actions tab, enter the last run of workflow "Video2X Nightly Build, and download the artifacts generated from the run.

Docker Image

Video2X Docker images are available on Docker Hub for easy and rapid Video2X deployment on Linux and macOS. If you already have Docker installed, then 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

You can use Video2X on Google Colab for free. Colab allows you too use a GPU on Google's Servers (Tesla K80, T4, P4, P100). Please bare in mind that Colab can only be provided for free if all users know that they shouldn't abuse it. A single free-tier tier session can last up to 12 hours. Please do not abuse the platform by creating sessions back-to-back and running upscaling 24/7. This might result in you getting banned.

Here is an example Notebook written by @Felixkruemel: Video2X_on_Colab.ipynb. This file can be used in combination of the following modified configuration file: @Felixkruemel's Video2X configuration for Google Colab.

Introduction

Video2X is a video/GIF/image upscaling software based on Waifu2X, Anime4K, SRMD and RealSR written in Python 3. It upscales videos, GIFs and images, restoring details from low-resolution inputs. Video2X also accepts GIF input to video output and video input to GIF output.

Currently, Video2X supports the following drivers (implementations of algorithms).

  • Waifu2X Caffe: Caffe implementation of waifu2x
  • Waifu2X Converter CPP: CPP implementation of waifu2x based on OpenCL and OpenCV
  • Waifu2X NCNN Vulkan: NCNN implementation of waifu2x based on Vulkan API
  • SRMD NCNN Vulkan: NCNN implementation of SRMD based on Vulkan API
  • RealSR NCNN Vulkan: NCNN implementation of RealSR based on Vulkan API
  • Anime4KCPP: CPP implementation of Anime4K

Video Upscaling

Spirited Away Demo
Upscale Comparison Demonstration

You can watch the whole demo video on YouTube: https://youtu.be/mGEfasQl2Zo

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.

GIF Upscaling

This original input GIF is 160x120 in size. This image is downsized and accelerated to 20 FPS from its original image.

catfru
Catfru original 160x120 GIF image

Below is what it looks like after getting upscaled to 640x480 (4x) using Video2X.

catfru4x
Catfru 4x upscaled GIF

Image Upscaling

jill_comparison
Image upscaling example

Original image from [email protected], edited by K4YT3X.

All Demo Videos

Below is a list of all the demo videos available. The list is sorted from new to old.


Screenshots

Video2X GUI

GUI Preview
Video2X GUI Screenshot

Video2X CLI

Video2X CLI Screenshot
Video2X CLI Screenshot


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
Sample Upscale Videos

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


Quick Start

Prerequisites

Before running Video2X, you'll need to ensure you have installed the drivers' external dependencies such as GPU drivers.

  • waifu2x-caffe
    • GPU mode: Nvidia graphics card driver
    • cuDNN mode: Nvidia CUDA and cuDNN
  • Other Drivers
    • GPU driver if you want to use GPU for processing

Running Video2X (GUI)

The easiest way to run Video2X is to use the full build. Extract the full release zip file and you'll get these files.

Video2X Release Files
Video2X release files

Simply double click on video2x_gui.exe to launch the GUI.

Video2X GUI Main Tab
Video2X GUI main tab

Then, drag the videos you wish to upscale into the window and select the appropriate output path.

drag-drop
Drag and drop file into Video2X GUI

Tweak the settings if you want to, then hit the start button at the bottom and the upscale will start. Now you'll just have to wait for it to complete.

upscale-started
Video2X started processing input files

Running Video2X (CLI)

Basic Upscale Example

This example command below uses waifu2x-caffe to enlarge the video sample-input.mp4 two double its original size.

python video2x.py -i sample-input.mp4 -o sample-output.mp4 -r 2 -d waifu2x_caffe

Advanced Upscale Example

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.

python video2x.py -i sample-input.mp4 -o sample-output.mp4 -r 2 -d waifu2x_caffe -- --tta 1

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.

python video2x.py -d waifu2x_caffe -- --help

Running Video2X (Docker)

Video2X can be deployed via Docker. The following command upscales the video sample_input.mp4 two times with Waifu2X NCNN Vulkan and outputs the upscaled video to sample_output.mp4. For more details on Video2X Docker image usages, please refer to the documentations.

docker run --rm -it --gpus all -v /dev/dri:/dev/dri -v $PWD:/host k4yt3x/video2x:4.6.0 -d waifu2x_ncnn_vulkan -r 2 -i sample_input.mp4 -o sample_output.mp4

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.

Run From Source Code

This wiki page contains all instructions for how you can run Video2X directly from Python source code.

Drivers

Go to the 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

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. Alternatively, you can also join our Telegram discussion group and ask your questions there.

History

Are you interested in how the idea of Video2X was born? Do you want to know the stories and histories behind Video2X's development? Come into this page.


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-2021 K4YT3X

Credits

This project relies on the following software and projects.

Special Thanks

Appreciations given to the following personnel who have contributed significantly to the project (specifically the technical perspective).

Related 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.
Issues
  • Sound problems

    Sound problems

    I used COLAB to upscale a few FullHD videos (recorded with FilMiC on my iPhone) to 4K using RealSR. Worked like a charm but the output file doesn‘t have any sound after a few seconds.

    Any ideas what I can do to fix it?

    opened by shooter110 0
  • Command '['D:\\迅雷云盘\\video2x-4.8.1-win32-full\\video2x-4.8.1-win32-full\\dependencies\\waifu2x-caffe\\waifu2x-caffe-cui', '--tta', '0', '--gpu', '0', '--batch_size', '1', '--crop_size', '128', '--output_depth', '24', '--output_quality', '-1', '--process', 'gpu', '--model_dir', 'D:\\迅雷云盘\\video2x-4.8.1-win32-full\\video2x-4.8.1-win32-full\\dependencies\\waifu2x-caffe\\models\\cunet', '--noise_level', '3', '--mode', 'noise_scale', '--output_extention', 'png', '--scale_width', '2250', '--scale_height', '4002', '--input_path', 'C:\\Users\\daizf\\AppData\\Local\\Temp\\video2x\\tmpn9bb2by2\\0', '--output_path', 'C:\\Users\\daizf\\AppData\\Local\\Temp\\video2x\\tmpaxjimhk_']' returned non-zero exit status 3221226505.

    Command '['D:\\迅雷云盘\\video2x-4.8.1-win32-full\\video2x-4.8.1-win32-full\\dependencies\\waifu2x-caffe\\waifu2x-caffe-cui', '--tta', '0', '--gpu', '0', '--batch_size', '1', '--crop_size', '128', '--output_depth', '24', '--output_quality', '-1', '--process', 'gpu', '--model_dir', 'D:\\迅雷云盘\\video2x-4.8.1-win32-full\\video2x-4.8.1-win32-full\\dependencies\\waifu2x-caffe\\models\\cunet', '--noise_level', '3', '--mode', 'noise_scale', '--output_extention', 'png', '--scale_width', '2250', '--scale_height', '4002', '--input_path', 'C:\\Users\\daizf\\AppData\\Local\\Temp\\video2x\\tmpn9bb2by2\\0', '--output_path', 'C:\\Users\\daizf\\AppData\\Local\\Temp\\video2x\\tmpaxjimhk_']' returned non-zero exit status 3221226505.

    The error log is as follows

    [+] INFO: 正在将文件添加到处理队列中 2022-07-27 20:09:02.970594 [+] INFO: 输入路径:C:\Users\daizf\Desktop\微信图片_20220702134139.jpg 2022-07-27 20:09:02.971593 [+] INFO: 文件 MIME 类型:image/jpeg [+] INFO: 文件已添加到处理队列 2022-07-27 20:09:02.980959 [+] INFO: 输入文件:C:\Users\daizf\Desktop\微信图片_20220702134139.jpg [+] INFO: 正在读取视频信息 2022-07-27 20:09:02.981961 [+] INFO: Executing: D:\迅雷云盘\video2x-4.8.1-win32-full\video2x-4.8.1-win32-full\dependencies\ffmpeg\bin\ffprobe -v quiet -print_format json -show_format -show_streams -i C:\Users\daizf\Desktop\微信图片_20220702134139.jpg 2022-07-27 20:09:04.843247 [+] INFO: 创建缓存目录 C:\Users\daizf\AppData\Local\Temp\video2x 2022-07-27 20:09:04.846239 [+] INFO: 提取的帧将被保存到:C:\Users\daizf\AppData\Local\Temp\video2x\tmpn9bb2by2 2022-07-27 20:09:04.848323 [+] INFO: 已放大的帧将被保存到:C:\Users\daizf\AppData\Local\Temp\video2x\tmpaxjimhk_ [+] INFO: 开始放大图像 [+] INFO: 正在计算缩放参数 2022-07-27 20:09:04.850714 [+] INFO: 帧率:1 2022-07-27 20:09:04.850714 [+] INFO: 宽:750 2022-07-27 20:09:04.850714 [+] INFO: 高:1334 2022-07-27 20:09:04.851709 [+] INFO: 总帧数:1 2022-07-27 20:09:04.851709 [+] INFO: 输出宽度:2250 2022-07-27 20:09:04.851709 [+] INFO: 输出高度:4002 2022-07-27 20:09:04.851709 [+] INFO: 需要的缩放比例:3.0 2022-07-27 20:09:04.851709 [+] INFO: 放大工作队列:[3.0] 2022-07-27 20:09:04.851709 [+] INFO: Executing: D:\迅雷云盘\video2x-4.8.1-win32-full\video2x-4.8.1-win32-full\dependencies\ffmpeg\bin\ffprobe -v quiet -pix_fmts 2022-07-27 20:09:04.921210 [+] INFO: {'yuv420p': 12, 'yuyv422': 16, 'rgb24': 24, 'bgr24': 24, 'yuv422p': 16, 'yuv444p': 24, 'yuv410p': 9, 'yuv411p': 12, 'gray': 8, 'monow': 1, 'monob': 1, 'pal8': 8, 'yuvj420p': 12, 'yuvj422p': 16, 'yuvj444p': 24, 'uyvy422': 16, 'uyyvyy411': 12, 'bgr8': 8, 'bgr4': 4, 'bgr4_byte': 4, 'rgb8': 8, 'rgb4': 4, 'rgb4_byte': 4, 'nv12': 12, 'nv21': 12, 'argb': 32, 'rgba': 32, 'abgr': 32, 'bgra': 32, 'gray16be': 16, 'gray16le': 16, 'yuv440p': 16, 'yuvj440p': 16, 'yuva420p': 20, 'rgb48be': 48, 'rgb48le': 48, 'rgb565be': 16, 'rgb565le': 16, 'rgb555be': 15, 'rgb555le': 15, 'bgr565be': 16, 'bgr565le': 16, 'bgr555be': 15, 'bgr555le': 15, 'vaapi_moco': 0, 'vaapi_idct': 0, 'vaapi_vld': 0, 'yuv420p16le': 24, 'yuv420p16be': 24, 'yuv422p16le': 32, 'yuv422p16be': 32, 'yuv444p16le': 48, 'yuv444p16be': 48, 'dxva2_vld': 0, 'rgb444le': 12, 'rgb444be': 12, 'bgr444le': 12, 'bgr444be': 12, 'ya8': 16, 'bgr48be': 48, 'bgr48le': 48, 'yuv420p9be': 13, 'yuv420p9le': 13, 'yuv420p10be': 15, 'yuv420p10le': 15, 'yuv422p10be': 20, 'yuv422p10le': 20, 'yuv444p9be': 27, 'yuv444p9le': 27, 'yuv444p10be': 30, 'yuv444p10le': 30, 'yuv422p9be': 18, 'yuv422p9le': 18, 'gbrp': 24, 'gbrp9be': 27, 'gbrp9le': 27, 'gbrp10be': 30, 'gbrp10le': 30, 'gbrp16be': 48, 'gbrp16le': 48, 'yuva422p': 24, 'yuva444p': 32, 'yuva420p9be': 22, 'yuva420p9le': 22, 'yuva422p9be': 27, 'yuva422p9le': 27, 'yuva444p9be': 36, 'yuva444p9le': 36, 'yuva420p10be': 25, 'yuva420p10le': 25, 'yuva422p10be': 30, 'yuva422p10le': 30, 'yuva444p10be': 40, 'yuva444p10le': 40, 'yuva420p16be': 40, 'yuva420p16le': 40, 'yuva422p16be': 48, 'yuva422p16le': 48, 'yuva444p16be': 64, 'yuva444p16le': 64, 'vdpau': 0, 'xyz12le': 36, 'xyz12be': 36, 'nv16': 16, 'nv20le': 20, 'nv20be': 20, 'rgba64be': 64, 'rgba64le': 64, 'bgra64be': 64, 'bgra64le': 64, 'yvyu422': 16, 'ya16be': 32, 'ya16le': 32, 'gbrap': 32, 'gbrap16be': 64, 'gbrap16le': 64, 'qsv': 0, 'mmal': 0, 'd3d11va_vld': 0, 'cuda': 0, '0rgb': 24, 'rgb0': 24, '0bgr': 24, 'bgr0': 24, 'yuv420p12be': 18, 'yuv420p12le': 18, 'yuv420p14be': 21, 'yuv420p14le': 21, 'yuv422p12be': 24, 'yuv422p12le': 24, 'yuv422p14be': 28, 'yuv422p14le': 28, 'yuv444p12be': 36, 'yuv444p12le': 36, 'yuv444p14be': 42, 'yuv444p14le': 42, 'gbrp12be': 36, 'gbrp12le': 36, 'gbrp14be': 42, 'gbrp14le': 42, 'yuvj411p': 12, 'bayer_bggr8': 8, 'bayer_rggb8': 8, 'bayer_gbrg8': 8, 'bayer_grbg8': 8, 'bayer_bggr16le': 16, 'bayer_bggr16be': 16, 'bayer_rggb16le': 16, 'bayer_rggb16be': 16, 'bayer_gbrg16le': 16, 'bayer_gbrg16be': 16, 'bayer_grbg16le': 16, 'bayer_grbg16be': 16, 'xvmc': 0, 'yuv440p10le': 20, 'yuv440p10be': 20, 'yuv440p12le': 24, 'yuv440p12be': 24, 'ayuv64le': 64, 'ayuv64be': 64, 'videotoolbox_vld': 0, 'p010le': 15, 'p010be': 15, 'gbrap12be': 48, 'gbrap12le': 48, 'gbrap10be': 40, 'gbrap10le': 40, 'mediacodec': 0, 'gray12be': 12, 'gray12le': 12, 'gray10be': 10, 'gray10le': 10, 'p016le': 24, 'p016be': 24, 'd3d11': 0, 'gray9be': 9, 'gray9le': 9, 'gbrpf32be': 96, 'gbrpf32le': 96, 'gbrapf32be': 128, 'gbrapf32le': 128, 'drm_prime': 0, 'opencl': 0, 'gray14be': 14, 'gray14le': 14, 'grayf32be': 32, 'grayf32le': 32, 'yuva422p12be': 36, 'yuva422p12le': 36, 'yuva444p12be': 48, 'yuva444p12le': 48, 'nv24': 24, 'nv42': 24, 'vulkan': 0, 'y210be': 20, 'y210le': 20} [+] INFO: 开始对提取的帧进行放大 2022-07-27 20:09:04.927905 [+] INFO: [upscaler] Subprocess 15332 executing: D:\迅雷云盘\video2x-4.8.1-win32-full\video2x-4.8.1-win32-full\dependencies\waifu2x-caffe\waifu2x-caffe-cui --tta 0 --gpu 0 --batch_size 1 --crop_size 128 --output_depth 24 --output_quality -1 --process gpu --model_dir D:\迅雷云盘\video2x-4.8.1-win32-full\video2x-4.8.1-win32-full\dependencies\waifu2x-caffe\models\cunet --noise_level 3 --mode noise_scale --output_extention png --scale_width 2250 --scale_height 4002 --input_path C:\Users\daizf\AppData\Local\Temp\video2x\tmpn9bb2by2\0 --output_path C:\Users\daizf\AppData\Local\Temp\video2x\tmpaxjimhk_ 2022-07-27 20:09:06.201222 [+] INFO: 启动进度监视器 2022-07-27 20:09:06.202209 [+] INFO: 启动已放大图像清理程序 2022-07-27 20:09:06.219474 [+] INFO: 主进程开始等待子进程结束

    正在处理:微信图片_20220702134139.jpg(进度): 0%| | 0/1 [00:00<?, ?it/s] 正在处理:微信图片_20220702134139.jpg(进度): 0%| | 0/1 [00:01<?, ?it/s] 正在处理:微信图片_20220702134139.jpg(进度): 0%| | 0/1 [00:02<?, ?it/s] 正在处理:微信图片_20220702134139.jpg(进度): 0%| | 0/1 [00:03<?, ?it/s] 正在处理:微信图片_20220702134139.jpg(进度): 0%| | 0/1 [00:04<?, ?it/s] 正在处理:微信图片_20220702134139.jpg(进度): 0%| | 0/1 [00:05<?, ?it/s] 正在处理:微信图片_20220702134139.jpg(进度): 0%| | 0/1 [00:06<?, ?it/s] 正在处理:微信图片_20220702134139.jpg(进度): 0%| | 0/1 [00:07<?, ?it/s] 正在处理:微信图片_20220702134139.jpg(进度): 0%| | 0/1 [00:08<?, ?it/s]Could not create log file: File exists COULD NOT CREATE LOGFILE '20220727-200915.23352'! F0727 20:09:15.001786 21560 cudnn_conv_layer.cpp:54] Check failed: status == CUDNN_STATUS_SUCCESS (1 vs. 0) CUDNN_STATUS_NOT_INITIALIZED *** Check failure stack trace: ***

    正在处理:微信图片_20220702134139.jpg(进度): 0%| | 0/1 [00:09<?, ?it/s] 正在处理:微信图片_20220702134139.jpg(进度): 0%| | 0/1 [00:10<?, ?it/s] 正在处理:微信图片_20220702134139.jpg(进度): 0%| | 0/1 [00:11<?, ?it/s] 正在处理:微信图片_20220702134139.jpg(进度): 0%| | 0/1 [00:12<?, ?it/s] 正在处理:微信图片_20220702134139.jpg(进度): 0%| | 0/1 [00:13<?, ?it/s] 正在处理:微信图片_20220702134139.jpg(进度): 0%| | 0/1 [00:14<?, ?it/s] 正在处理:微信图片_20220702134139.jpg(进度): 0%| | 0/1 [00:15<?, ?it/s][!] ERROR: 子进程 23352 结束,返回码 3221226505 [!] ERROR: 子进程执行遇到错误 [!] WARNING: 正在终止所有进程 2022-07-27 20:09:22.395866 [+] INFO: 终结进度监视器

    正在处理:微信图片_20220702134139.jpg(进度): 0%| | 0/1 [00:16<?, ?it/s] 2022-07-27 20:09:22.399839 [+] INFO: 终结已放大图像清理程序 清理缓存目录:C:\Users\daizf\AppData\Local\Temp\video2x\tmpn9bb2by2 清理缓存目录:C:\Users\daizf\AppData\Local\Temp\video2x\tmpaxjimhk_ 清理缓存目录:C:\Users\daizf\AppData\Local\Temp\video2x Traceback (most recent call last): File "video2x_gui.py", line 105, in run File "upscaler.py", line 1022, in run File "upscaler.py", line 849, in run File "upscaler.py", line 416, in _upscale_frames File "upscaler.py", line 408, in _upscale_frames File "upscaler.py", line 489, in _wait File "upscaler.py", line 467, in _wait subprocess.CalledProcessError: Command '['D:\迅雷云盘\video2x-4.8.1-win32-full\video2x-4.8.1-win32-full\dependencies\waifu2x-caffe\waifu2x-caffe-cui', '--tta', '0', '--gpu', '0', '--batch_size', '1', '--crop_size', '128', '--output_depth', '24', '--output_quality', '-1', '--process', 'gpu', '--model_dir', 'D:\迅雷云盘\video2x-4.8.1-win32-full\video2x-4.8.1-win32-full\dependencies\waifu2x-caffe\models\cunet', '--noise_level', '3', '--mode', 'noise_scale', '--output_extention', 'png', '--scale_width', '2250', '--scale_height', '4002', '--input_path', 'C:\Users\daizf\AppData\Local\Temp\video2x\tmpn9bb2by2\0', '--output_path', 'C:\Users\daizf\AppData\Local\Temp\video2x\tmpaxjimhk_']' returned non-zero exit status 3221226505.

    opened by whomustnotbename 0
  • [question] Where to modify (perpetually) output path?

    [question] Where to modify (perpetually) output path?

    I know I can change it from the GUI but this change is temporal and after relaunching the program this goes to default again.. I found some clues on the yaml config file but I fear breaking everything.

    Can I just modify this line?:

    waifu2x_ncnn_vulkan: path: 'dependencies\waifu2x-ncnn-vulkan\waifu2x-ncnn-vulkan' v: null # verbose output #i: null # input-path: input image path (jpg/png/webp) or directory #o: null # output-path: output image path (jpg/png/webp) or directory <--- THIS ONE 'n': 2 # noise-level: denoise level (-1/0/1/2/3, default=0) s: 2 # scale: upscale ratio (1/2, default=2) t: 400 # tile-size: tile size (>=32, default=400) m: null # model-path: waifu2x model path (default=models-cunet) g: 0 # gpu-id: gpu device to use (default=0) j: '1:2:2' # thread count for load/proc/save (default=1:2:2) can be 1:2,2,2:2 for multi-gpu x: false # enable tta mode #f: png # output image format (jpg/png/webp, default=ext/png)


    EDIT: that didn't work.

    opened by masterofobzene 0
  • For some reason it crashes before processing the first frame.

    For some reason it crashes before processing the first frame.

    It starts working and does so for a while. After a minute or two it crashes with this message and the attached log.

    Command '['D:\video2x-4.8.1-win32-full\dependencies\waifu2x-caffe\waifu2x-caffe-cui', '--tta', '0', '--gpu', '0', '--batch_size', '1', '--crop_size', '128', '--output_depth', '24', '--output_quality', '-1', '--process', 'gpu', '--model_dir', 'D:\video2x-4.8.1-win32-full\dependencies\waifu2x-caffe\models\cunet', '--noise_level', '3', '--mode', 'noise_scale', '--output_extention', 'png', '--scale_width', '3840', '--scale_height', '2160', '--input_path', 'D:\Temp\video2x\tmp969v38f4\0', '--output_path', 'D:\Temp\video2x\tmphxiihs5i']' returned non-zero exit status 3221226505.

    video2x_error.log

    opened by guillemdc 0
Releases(5.0.0-beta5)
  • 5.0.0-beta5(Apr 1, 2022)

    • Added support for RealCUGAN ncnn Vulkan
    • Added pause function
      • Use the global hotkey Ctrl+Alt+V or send SIGUSR1 to the main process to pause
    • Fixed various problems with the progress bar

    The container has also been patched so it will run fine on both AMD and NVIDIA GPUs. The required Docker arguments have changed for AMD GPUs. See the Wiki page for more information.

    Source code(tar.gz)
    Source code(zip)
  • 5.0.0-beta4(Feb 19, 2022)

  • 5.0.0-beta3(Feb 15, 2022)

    • Changed the use of term "driver" to "algorithm" since the backend implementation is now mostly abstracted from the user.
      • The argument -d, --driver has been renamed to -a, --algorithm.
    Source code(tar.gz)
    Source code(zip)
  • 5.0.0-beta2(Feb 15, 2022)

  • 5.0.0-beta1(Feb 11, 2022)

    ⚠️ Known Issues

    • Errors in handling queued images results in abnormal memory consumption. The program will fill your RAM in a short time if you attempt to process a large video file. This issue has been fixed in 5.0.0-beta2.
    Source code(tar.gz)
    Source code(zip)
  • 4.8.1(Dec 21, 2020)

    Bug Fixes

    • Fixed Anime4KCPP driver import error
    • Rolled Gifski back to a version without output bugs

    Checksums:

    • video2x-4.8.1-win32-light.zip
      • SHA-256: 9C746151CBFA432887759FB783C78A70ED273A6A4008C0BF030220FCD79D29BE
    • video2x-4.8.1-win32-full.zip
      • SHA-256: 45FCE1334762B6BF8190FE0603C8F16087BC225AFA2D87D1B472B98D4DB1C048

    ⚠️ Known Issues

    • Warning: Some users have reported that the software did not make it clear that the cache folder will be deleted after the upscale is completed. If you want to use a custom cache folder, make sure to use a designated folder with no other contents in it as the cache folder will be wiped after upscaling is done. A warning will be added into the GUI in the upcoming version.

    Update

    The light version has been taken off since some upstream changes broke the setup script.

    Source code(tar.gz)
    Source code(zip)
    video2x-4.8.1-win32-full.zip(999.91 MB)
  • 4.8.0(Dec 13, 2020)

    New Features

    • Updated waifu2x-ncnn-vulkan arguments
    • Added custom frame format for waifu2x/srmd/realsr-ncnn-vulkan
    • Re-added mimetypes fallback for MIME type detection for if python-magic fails to detect the correct MIME types
    • Console subprocess.Popen outputs are now redirected to the error log instead of the console output

    Bug Fixes

    • Fixed setup script FFmpeg invalid provider
    • Fixed GUI hwaccel value overwrite issue
    • Fixed 1.0 upscale ratio issues
    • Fixed setup script Gifski installation issues

    Checksums:

    • video2x-4.8.0-win32-light.zip
      • SHA-256: C3E7C235CF2922266CA15AEB631C92849E3312B0A35BB700A4C310B4A93EE4D9
    • video2x-4.8.0-win32-full.zip
      • SHA-256: 80CD7D491BA96537A492C2E0931E3B34321006308A71142E4148376F7C90173B
    Source code(tar.gz)
    Source code(zip)
    video2x-4.8.0-win32-full.zip(997.71 MB)
    video2x-4.8.0-win32-light.zip(68.20 MB)
  • 4.7.0(Sep 14, 2020)

    New Features

    • Arbitrary scaling ratio support for all drivers
    • Arbitrary scaling resolution (width/height) support for all drivers
      • Allows only one of width/height to be specified and the other side will be calculated automatically according to the scaling ratio
    • Removed the use of shlex.join and := to make the program compatible with Python 3.6 and higher
    • Updated UI design for better visibility of the preview image
    • Redesigned logging system and error reporting system
      • Logs can now be saved optionally when the program runs into an error
      • If unspecified, logs will be deleted automatically upon normal exit of the program
      • Logs are now written to a tempfile.TemporaryFile object by default instead of a conventional log file
    • Various other improvements and code optimizations

    Bug Fixes

    • Fixed waifu2x-caffe output quality option
    • Fixed Gifski output resolution issues

    Other Notes

    • waifu2x-caffe has recently upgraded their CUDA Toolkit (11.0) and cuDNN (8.0.3) versions. This makes it incompatible with some of NVIDIA's older models of GPUs
      • To run the newest waifu2x-caffe (version 1.2.0.4 at the time of writing this note), your GPU must have a Compute Capability >= 3.5
      • Check this link for a list of NVIDIA's GPUs and their Compute Capabilities

    Checksums:

    • video2x-4.7.0-win32-light.zip
      • SHA-256: 6D5A5BF9C3CCC7CFE3FED369D80BBD24C690336BFB3D43A8853E8D30485E68FE
    • video2x-4.7.0-win32-full.zip
      • SHA-256: 18104BE7FD5E355EA77F4DB10D2AD8A9DB60201FB736CF3E0B6E45043620B43C
    Source code(tar.gz)
    Source code(zip)
    video2x-4.7.0-win32-full.zip(1005.81 MB)
    video2x-4.7.0-win32-light.zip(131.20 MB)
  • 4.6.1(Sep 1, 2020)

  • 4.6.0(Jun 8, 2020)

    In this release:

    New Features

    • Anime4KCPP 2.0 support (new CNNMode)
    • Customizable output file extensions
    • Added disable logging check box in GUI
    • Various code optimizations and other improvements

    Bug Fixes

    • Fixed GUI file-deletion-related bugs
    • Fixed more python-magic issues, backing off to mimetypes when python-magic fails
    • Fixed config loading issues in exe (frozen) mode
    • Fixed duplicate file name race condition issues

    Docker and Linux

    • Added Ubuntu setup script
    • Dockerfile now uses Ubuntu setup script
    • Ubuntu setup script and Dockerfile now downloads waifu2x/srmd/realsr-ncnn-vulkan releases instead of compiling them
    • Fixed lots of other issues existed in the previous versions

    image

    Checksums:

    • video2x-4.6.0-win32-light.zip
      • SHA-256: 8D11B511FC46ACAB353343B5A67464178401D55D4A741B20C62AF199C9121147
    • video2x-4.6.0-win32-full.zip
      • SHA-256: E8D6E809219FC308A84ACF3D685AAD95AE9A5E57D212AB0E893ADE31C6FC4AD6
    Source code(tar.gz)
    Source code(zip)
    video2x-4.6.0-win32-full.zip(494.55 MB)
    video2x-4.6.0-win32-light.zip(73.21 MB)
  • 4.5.0(Jun 5, 2020)

  • 4.4.1(May 30, 2020)

    In this release:

    • Updated the setup script for new waifu2x/srmd/realsr-ncnn-vulkan release structure
    • Updated waifu2x/srmd/realsr-ncnn-vulkan packages
    • More comments in the config file

    Checksums:

    • video2x-4.4.1-win32-light.zip
      • SHA-256: A680385B1CA958A206B22D8AA947A3E5B33EA7FE15AD3C755ED4140AE361D8CA
    • video2x-4.4.1-win32-full.zip
      • SHA-256: 7ECAA400582169DCF81A69309A9A5B9BDB17D8411669711DE9F0278EF504A57B
    Source code(tar.gz)
    Source code(zip)
    video2x-4.4.1-win32-full.zip(499.11 MB)
    video2x-4.4.1-win32-light.zip(73.24 MB)
  • 4.4.0(May 29, 2020)

  • 4.3.0(May 23, 2020)

    Changes in this release:

    • Using mimetypes as a backup method for mime type detection when python-magic fails
    • Added GUI shortcut keys
    • Added H264/H265 tune option
    • Requiring CLI input/output path to be specified when help is not specified
    • Some other minor tweaks and fixes

    image

    Checksums:

    • video2x-4.3.0-win32-light.zip
      • SHA-256: 4E130B7C50507FC4FAC8CDBF8EDE8BFE78AAFA420513CEE734D1C2B2EDBB0180
    • video2x-4.3.0-win32-full.zip
      • SHA-256: 58F7F3822A1F25C3A7A22570CA25010891700D25DDD1CAB3FA196F4D276F40A9
    Source code(tar.gz)
    Source code(zip)
    video2x-4.3.0-win32-full.zip(447.34 MB)
    video2x-4.3.0-win32-light.zip(73.26 MB)
  • 4.2.0(May 18, 2020)

    Changes in this release:

    • Added FFmpeg frame interpolation option (minterpolate)
    • Added stopping confirmation dialog
    • Changed default output pixel format to yuv420p for better compatibility
    • GUI component minor tweaks

    image

    Checksums:

    • video2x-4.2.0-win32-light.zip
      • SHA-256: A49043384C4C138C981A2C09F8EB174A6A15099DB42C355F4CF49CDB8BB3B0EB
    • video2x-4.2.0-win32-full.zip
      • SHA-256: AC5D19C7AE0069E8BF7CBA85C042E8F5C4E080BA997DCF98C24C497634115E87
    Source code(tar.gz)
    Source code(zip)
    video2x-4.2.0-win32-full.zip(447.34 MB)
    video2x-4.2.0-win32-light.zip(73.26 MB)
  • 4.1.0(May 16, 2020)

    Changes in this release:

    • Added FFmpeg settings in GUI
    • Added Gifski settings in GUI
    • Added FFprobe tool in GUI
    • Display upscaler version number in about page
    • Fixed setup script pyunpack PyInstaller bugs (or maybe not bugs)
    • Various bug fixes and enhancements. Check commit history for details

    image

    Checksums:

    • video2x-4.1.0-win32-light.zip
      • SHA-256: 67913323B456207F6B262ACD1CA764A07A8B7C58DACFFEC3E2E28224F442B82A
    • video2x-4.1.0-win32-full.zip
      • SHA-256: 73598F869C19F68185CDFC2743EE591BD2042E6F3CF107B17FDD44CAC6FBFE57
    Source code(tar.gz)
    Source code(zip)
    video2x-4.1.0-win32-full.zip(443.35 MB)
    video2x-4.1.0-win32-light.zip(73.26 MB)
  • 4.0.0(May 11, 2020)

    New features in 4.0.0 release as compared to the previous stable release:

    • Added internationalization support for CLI
      • Added language zh_CN (简体中文)
      • Language will change automatically according to system locale settings
    • Added support for 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
    • Completely redesigned GUI
    • Added stop button (or actually making it do something)
    • Added time elapsed, time remaining and processing speed under progress bar
    • Added environment variable expansion for paths (e.g., %LOCALAPPDATA%\video2x)
    • Redesigned exception handling
    • Added soft interruption. setting self.stop_signal = True in Upscaler object stops execution
    • Added comments for all drivers in the config file
    • Added folder processing functionalities for GUI
    • Added drag and drop support
    • Upgraded input line edit to table view
    • Redesigned UI progress display
    • Other tweaks and minor bug fixes
    • Added drag and drop support
    • Upgraded input line edit to table view
    • Redesigned UI progress display
    • Other tweaks and minor bug fixes
    • Cleaned up some clutters in the code

    New in this release compared to beta versions:

    • Frame preview
    • Output intermediate file if stream migration fails instead of losing all progress
    • More GUI options for waifu2x-converter-cpp
    • Better about and error dialogs
    • Redesigned driver argument parsing procedure that's more accurate
    • SRMD-NCNN-Vulkan and Waifu2X-NCNN-Vulkan native multi-threading support
    • Bug fixes for preview releases

    image

    Checksums:

    • video2x-4.0.0-win32-light.zip
      • SHA-256: 55D68C19A986CCC28E7D49888A0541914F6F00E203EE46D519CC7C28F6A0A3BC
    • video2x-4.0.0-win32-full.zip
      • SHA-256: 977AC9201A7C4BAA3A18E84AF3622E07A70A441C3821F8D7F361D1680F482E7B
    Source code(tar.gz)
    Source code(zip)
    video2x-4.0.0-win32-full.zip(447.07 MB)
    video2x-4.0.0-win32-light.zip(70.93 MB)
  • 4.0.0-beta3(May 9, 2020)

    New in this release:

    • Added drag and drop support
    • Upgraded input line edit to table view
    • Redesigned UI progress display
    • Other tweaks and minor bug fixes

    image

    Checksums:

    • video2x-4.0.0_beta3-win32-light.zip
      • SHA-256: 2D724B97CFB8DA4373347B6BE0E81A5346FC628F6F24E764952D1BC117800A5C
    • video2x-4.0.0_beta3-win32-full.zip
      • SHA-256: 20DEBE7442AE4BFC90D3711EB9D5342D03C8393B5B2668BE6F28B4F1617D91E7
    Source code(tar.gz)
    Source code(zip)
    video2x-4.0.0_beta3-win32-full.zip(446.90 MB)
    video2x-4.0.0_beta3-win32-light.zip(70.78 MB)
  • 4.0.0-beta2(May 7, 2020)

    Lots of improvements and bug fixes compared to the previous version.

    • Added stop button (or actually making it do something)
    • Added time elapsed, time remaining and processing speed under progress bar
    • Added environment variable expansion for paths (e.g., %LOCALAPPDATA%\video2x)
    • Redesigned exception handling
    • Added soft interruption. setting self.stop_signal = True in Upscaler object stops execution
    • Added comments for all drivers in the config file
    • Added folder processing functionalities for GUI

    image

    Checksums:

    • video2x-4.0.0_beta2-win32-light.zip
      • SHA-256: 0641CB40ADB2B0D13B6CEE8D289D44B3C190B5E73F98524203A454C8AFC14D2C
    • video2x-4.0.0_beta2-win32-full.zip
      • SHA-256: 3AA61A29DD2945C3F8B22CE0F1E4DEE668D2A2D7975BA9691F27E97E010FF180
    Source code(tar.gz)
    Source code(zip)
    video2x-4.0.0_beta2-win32-full.zip(440.74 MB)
    video2x-4.0.0_beta2-win32-light.zip(70.76 MB)
  • 4.0.0-beta1(May 7, 2020)

    This pre-release contains an experimental version of Video2X CLI 4.0.0 and GUI 2.0.0. Both the CLI and GUI are completely redesigned. This version is still in beta testing, and is yet stable.

    image

    Checksums:

    • video2x-4.0.0_beta1-win32-light.zip
      • SHA-256: 5391085E2D14A234A80E3953F0C3AE531FDC8917309BFC38BD8DBA42C342B088
    • video2x-4.0.0_beta1-win32-full.zip
      • SHA-256: C6A54C257DDAB4AB3766F01D5B35BCC29745DF779F033364D4D70A6BBCBC4DD4
    Source code(tar.gz)
    Source code(zip)
    video2x-4.0.0_beta1-win32-full.zip(446.86 MB)
    video2x-4.0.0_beta1-win32-light.zip(70.75 MB)
  • 3.0.0(Feb 20, 2020)

    The 3.0.0 release contains the newest version of the code after Linux compatibility has been added. For Windows users, this version resolves bugs such as temp directory cleaning issues and some logical errors that might trigger crashes.

    Since the PE files are unsigned, it's recommended to do a checksum before executing anything.

    Checksums:

    • video2x-3.0.0-win32-light.zip
      • SHA-256: E64CE16C657E8AD5CDCCE01360D669BF86A929DF52B90AAE743545BCD0BC7674
    • video2x-3.0.0-win32-full.zip
      • SHA-256: 8F17D3F8EC59C2CF9F70F89C12810E2AA741DBDC05ADCA1C85DD80C6C01ED3B8
    Source code(tar.gz)
    Source code(zip)
    video2x-3.0.0-win32-full.zip(354.90 MB)
    video2x-3.0.0-win32-light.zip(42.20 MB)
  • 2.10.0(Sep 28, 2019)

  • 2.9.0(Aug 3, 2019)

  • 2.7.1(May 18, 2019)

    This release addressed some bugs that existed in the previous version, where the most important one being that the FFmpeg arguments are not passed in the correct order.

    Checksums:

    • video2x-2.7.1-win32-full.zip
      • SHA224: f771bf66d98e5869fade15dc3d8ebcfc68f6cc7f6160f97c47123058
      • MD5: 7efe61175ffce26ca4b81d99f77e4b15
    • video2x-2.7.1-win32-light.zip
      • SHA224: 8974fa2f400c690fd7088501a82c8580e7a69957219024a532cc9327
      • MD5: a7175c31eb1805c58523bc3eb610d2e8
    Source code(tar.gz)
    Source code(zip)
    video2x-2.7.1-win32-full.zip(308.78 MB)
    video2x-2.7.1-win32-light.zip(22.40 MB)
  • 2.7.0(Mar 31, 2019)

    This is the first release of Video2X in exe format. Files are packaged using pyinstaller 3.4 and Python 3.7.2. If you have any suggestions for the release format, please open a new issue to leave a comment.

    The full package contains ffmpeg, waifu2x-caffe and waifu2x-converter-cpp. The configuration file is already configured for the environment. The light package only contains the basic video2x.exe and video2x_setup.exe. To setup dependencies, run the video2x_setup.exe.

    Checksums:

    • video2x-2.7.0-win32-full.zip
      • SHA224: ccc9f55d27ddac482d6823b5737b21d1576b47149851b48a1a69f57e
      • MD5: 20620c557af208eb23583795b187d78e
    • video2x-2.7.0-win32-light.zip
      • SHA224: 5663932385db8734acdc2ebf6d6fb5b7e57c002b16d77b9c77458a3e
      • MD5: 91760658f717becfdf9e4759a533931f
    Source code(tar.gz)
    Source code(zip)
    video2x-2.7.0-win32-full.zip(308.79 MB)
    video2x-2.7.0-win32-light.zip(22.39 MB)
Owner
K4YT3X
所謂的正確之物會隨人們各自的意志而遷移無常。| The so-called correctness will change with people's will.
K4YT3X
Implementation of Uniformer, a simple attention and 3d convolutional net that achieved SOTA in a number of video classification tasks

Uniformer - Pytorch Implementation of Uniformer, a simple attention and 3d convolutional net that achieved SOTA in a number of video classification ta

Phil Wang 83 Jul 8, 2022
An MQA (Studio, originalSampleRate) identifier for lossless flac files written in Python.

An MQA (Studio, originalSampleRate) identifier for "lossless" flac files written in Python.

Daniel 8 Jun 29, 2022
A lossless neural compression framework built on top of JAX.

Kompressor Branch CI Coverage main (active) main development A neural compression framework built on top of JAX. Install setup.py assumes a compatible

Rosalind Franklin Institute 2 Mar 14, 2022
Converts given image (png, jpg, etc) to amogus gif.

Image to Amogus Converter Converts given image (.png, .jpg, etc) to an amogus gif! Usage Place image in the /target/ folder (or anywhere realistically

Hank Magan 1 Nov 24, 2021
A small tool to joint picture including gif

README 做设计的时候遇到拼接长图的情况,但是发现没有什么好用的能拼接gif的工具。 于是自己写了个gif拼接小工具。 可以自动拼接gif、png和jpg等常见格式。 效果 从上至下 从下至上 从左至右 从右至左 使用 克隆仓库 git clone https://github.com/Dels

null 3 Dec 15, 2021
Video-Captioning - A machine Learning project to generate captions for video frames indicating the relationship between the objects in the video

Video-Captioning - A machine Learning project to generate captions for video frames indicating the relationship between the objects in the video

null 1 Jan 23, 2022
Search Youtube Video and Get Video info

PyYouTube Get Video Data from YouTube link Installation pip install PyYouTube How to use it ? Get Videos Data from pyyoutube import Data yt = Data("ht

lokaman chendekar 32 Jun 28, 2022
We present a framework for training multi-modal deep learning models on unlabelled video data by forcing the network to learn invariances to transformations applied to both the audio and video streams.

Multi-Modal Self-Supervision using GDT and StiCa This is an official pytorch implementation of papers: Multi-modal Self-Supervision from Generalized D

Facebook Research 39 Aug 5, 2022
Video lie detector using xgboost - A video lie detector using OpenFace and xgboost

video_lie_detector_using_xgboost a video lie detector using OpenFace and xgboost

null 2 Jan 11, 2022
[NeurIPS 2020] Blind Video Temporal Consistency via Deep Video Prior

pytorch-deep-video-prior (DVP) Official PyTorch implementation for NeurIPS 2020 paper: Blind Video Temporal Consistency via Deep Video Prior TensorFlo

Yazhou XING 84 Jul 25, 2022
Pytorch implementation of our method for high-resolution (e.g. 2048x1024) photorealistic video-to-video translation.

vid2vid Project | YouTube(short) | YouTube(full) | arXiv | Paper(full) Pytorch implementation for high-resolution (e.g., 2048x1024) photorealistic vid

NVIDIA Corporation 8k Aug 6, 2022
PySlowFast: video understanding codebase from FAIR for reproducing state-of-the-art video models.

PySlowFast PySlowFast is an open source video understanding codebase from FAIR that provides state-of-the-art video classification models with efficie

Meta Research 5k Aug 2, 2022
Eff video representation - Efficient video representation through neural fields

Neural Residual Flow Fields for Efficient Video Representations 1. Download MPI

null 34 Jul 20, 2022
Video-face-extractor - Video face extractor with Python

Python face extractor Setup Create the srcvideos and faces directories Put your

null 2 Feb 3, 2022
[CVPR 2022] Official PyTorch Implementation for "Reference-based Video Super-Resolution Using Multi-Camera Video Triplets"

Reference-based Video Super-Resolution (RefVSR) Official PyTorch Implementation of the CVPR 2022 Paper Project | arXiv | RealMCVSR Dataset This repo c

Junyong Lee 116 Aug 5, 2022
Code of U2Fusion: a unified unsupervised image fusion network for multiple image fusion tasks, including multi-modal, multi-exposure and multi-focus image fusion.

U2Fusion Code of U2Fusion: a unified unsupervised image fusion network for multiple image fusion tasks, including multi-modal (VIS-IR, medical), multi

Han Xu 102 Aug 6, 2022
This repository contains several image-to-image translation models, whcih were tested for RGB to NIR image generation. The models are Pix2Pix, Pix2PixHD, CycleGAN and PointWise.

RGB2NIR_Experimental This repository contains several image-to-image translation models, whcih were tested for RGB to NIR image generation. The models

null 2 Dec 14, 2021
Face Mask Detection on Image and Video using tensorflow and keras

Face-Mask-Detection Face Mask Detection on Image and Video using tensorflow and keras Train Neural Network on face-mask dataset using tensorflow and k

Nahid Ebrahimian 9 May 31, 2022