Skip to content

luewh/VideoScripy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

drawing VideoScripy

English | 中文简体

Quality preserved, Storage saved.

Collection of video processing module such as compression, upscale, interpolation and stream manipulation.

demo.gif

Table of contents

Processing module

  • compress
    Reduce the video bitRate in order to gain storage space.

    expand more The processed videos will have a bitRate = width * height * quality, quality=3 is generally the lowest value before appearance of artifacts (bad images, blurry...). In other words, humain won't notice the visual difference between video of quality 3 and 6.

    demo_upscale_s

  • resize
    Reduce the video width and height.

    demo_upscale_s

  • upscale
    Increase video size by factor of 2,3 or 4 with AI, enhance video quality.
    It has the ability to start from last upscal progress if the "_upscaledx?_frame" wasn't deleted.

    expand more Begin with a transformation of video to image frames, then upscale each frames, finally reassemble to video.

    Original : 266x200

    demo_upscale_s

    Upscal x2 : 532x400

    demo_upscale_b

    Upscal x3 : 798x600

    demo_upscale_b

    Upscal x4 1064x800

    demo_upscale_b

  • interpolate
    Increase video frame rate (FPS), smooth video.

    expand more Begin with a transformation of video to image frames, then interpolate between frames, finally reassemble to video.

    interpolate 25fps -> 60fps

    demo_upscale_s demo_upscale_s

    (The 60fps gif may be slowed down due to markdown, use a proper viewer may solve the problem)

  • preview
    Generate a grid of images.

    3x2 grid of 2min countdown video

    demo_preview

  • frame
    Graph each frame's size of a video

    266x200 10s long video

    demo_preview

  • stream
    Merge selected stream of multiple videos into one video.
    And also modify metadata as tile and language.
    Then use media player as PotPlayer to switch between video/audio/subtitle.

    demo_upscale_s

Requirements

  • Windows OS
  • NVIDIA GPU for faster video process
  • Atleast 50 Go disk space free for Upscale process | 10 Go for Interpolate process
  • Python 3.10
  • Tools

Embedded version

Simplest. Python, Tools are already setup.
Advantage : Beginner-friendly

Installation

Download and extract the Embedded release

Usage

Run the VideoScripyWebUI.bat

Self setup version

Need to download the source codes, install Python and its dependencies, download tools and include them to tools folder or add them to PATH.
Advantage : Freedom

Installation

  1. Download the source code and extract.

  2. Download and install Python 3.10 if you dont have.

  3. Install dependencies

    pip install -r requirements.txt
  4. Download tools

    FFmpeg full build for hardware acceleration.
    Real-ESRGAN-ncnn-vulkan for video upscaling.
    Ifrnet-ncnn-vulkan for video frame interpolation.
    NVEncC for GPU feature detection.

  5. Include tools

    Create a "tools" folder and place tools in like this:

    VideoScripy
    │   ...
    │   VideoScripyWebUI.py 
    └───tools
    │   └───ffmpeg-full_build
    │   │   │   ...
    │   │   └───bin
    │   │       │   ffmpeg.exe
    │   │       │   ffprobe.exe
    │   └───Real-ESRGAN
    │   │   │   ...
    │   │   │   realesrgan-ncnn-vulkan.exe
    │   └───Ifrnet
    │   │   │   ...
    │   │   │   ifrnet-ncnn-vulkan.exe
    |...
    

    Or add them in the environment variable PATH

    • <pathTo>\ffmpeg-full_build\bin
    • <pathTo>\Real-ESRGAN
    • <pathTo>\Ifrnet
    • <pathTo>\NVEnc

Usage

Run the VideoScripyWebUI.py

Credits

This project relies on the following software and projects :

Sounds come from :

About

Collection of video process module such as compression, upscale, interpolation and stream manipulation.

Topics

Resources

License

Stars

Watchers

Forks