VideoScripy is a collection of video processes including video Upscale and video frame Interpolation, it uses Python to generate FFmpeg, Real-ESRGAN and IFRNet command line script and performes serial processing on scanned mp4 videos with hardware acceleration.
VideoScripyWebUI is a local web user interface developed with Dash, it has the goal of enhancing user experience.
⚠ Currently only compatible with Windows users who have Nvidia cards.
- Windows OS
- NVIDIA GPU
- Atleast 50 Go disk space free for Upscale process | 10 Go for Interpolate process
- Python 3.10
- Tools
Simplest. Python, Tools are already setup.
Advantage : Beginner-friendly
Download and extract the Embedded release
Run the RUN.bat
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
-
Download the source code and extract.
-
Download and install Python 3.10 if you dont have.
-
Install dependencies
pip install -r requirements.txt
-
Download tools
FFmpeg full build for hardware acceleration.
Real-ESRGAN-ncnn-vulkan for video upscaling.
Ifrnet-ncnn-vulkan for video frame interpolation. -
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
Run the VideoScripyWebUI.py
-
optimize
Reduce the video biteRate 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 wont notice the visual difference between video of quality 3 and 6. -
resize
Reduce the video width and height. -
upscale
Increase video size by factor of 2,3 or 4 with AI, enhance video quality.expand more
Begin with a transformation of video to image frames, then upscale each frames, finally reassemble to video. It has the ability to start from last upscal progress if the "_upscaledx?_frame" wasn't deleted. -
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. -
preview
Generate a grid of images.
3x2 grid of 2min countdown video : -
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.
This project relies on the following software and projects :
Sounds come from :