VideoScripy
VideoScripy is a collection of video processes including video Optimization, Upscale and frame Interpolation.
It uses Python to generate FFmpeg, Real-ESRGAN and IFRNet command line script to performes serial processing on scanned mp4 and mkv videos.
⚠ Only compatible with Windows users who have Nvidia cards.
Requirements
-
Windows OS
-
NVIDIA card
Following tools in the environment variable PATH :
-
FFmpeg, full build for hardware acceleration.
-
Real-ESRGAN-ncnn-vulkan for video upscaling.
-
Ifrnet-ncnn-vulkan for video frame interpolation.
Usage
from videoscripy import VideoScripy
vs = VideoScripy(__file__)
# get current folder video(s)
vs.getVideo(folderDepthLimit=0)
vs.getVideoInfo()
# run process(es)
vs.optimize()
# vs.resize()
# vs.upscale()
# vs.interpolate()
# vs.merge()
Or directly call vscli.exe
Processes Description
-
optimize
Reduce the video biteRate in order to gain storage space.
The processed videos will have a bitRate = width * height * quality, which 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
Recover old video from 360p to 4K, enhance video quality.
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 "_upscaled_frame" wasn't deleted. -
interpolate
Increase video frame rate (FPS), smooth video motions.
Begin with a transformation of video to image frames, then interpolate between frames, finally reassemble to video. -
merge
Merge all video, including each of its audio and subtitle by option, into mkv. Then use media player as PotPlayer to switch between video/audio/subtitle.
Credits
This project relies on the following software and projects.
TODO list
- ✅ Stop upscale and interpolate process
- ✅ Get video walk optimize
- Check tools
- Sort by name
- replace "&" by "x" in video name
- Add FFmpeg visual quality metrics (PSNR, SSIM, VMAF)
- Better hevc_nvenc parameters
- Better upscale recovery
Metadata
Release files for VideoScripy 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| videoscripy-0.0.1.tar.gz | 10.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| VideoScripy-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.7 kB
Release files / videoscripy-0.0.1.tar.gz
| Download URL | videoscripy-0.0.1.tar.gz |
|---|---|
| Size | 10.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0cf0ac9063f3a01e52a672f4eb6e2cb971f3aa4c1868a05a831ba428d451c2f6
|
|
BLAKE2b-256 checksum How to use checksums |
f099c3b99bc03df5c1a595bb4373c611e8409f3c1be4a75e7f9e84df83889f06
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.10.8
|
Release files / VideoScripy-0.0.1-py3-none-any.whl
| Download URL | VideoScripy-0.0.1-py3-none-any.whl |
|---|---|
| Size | 10.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d8e92188ab2d9f2081b51624330894af1bcf7c17cd19a2b6e01daa3b4c96a540
|
|
BLAKE2b-256 checksum How to use checksums |
6818d949ba2fe31280fc819923f858ef27012809a4d1b844c2821a0189d4b304
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.10.8
|