Name | VideoScripy JSON |
Version |
0.0.1
JSON |
| download |
home_page | None |
Summary | Collection of video processes such as Optimize, Upscale and Interpolation. |
upload_time | 2024-11-13 21:07:59 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | None |
keywords |
ffmpeg
upscale
interpolate
video process
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# 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](https://www.gyan.dev/ffmpeg/builds/), full build for hardware acceleration.
- [Real-ESRGAN-ncnn-vulkan](https://github.com/xinntao/Real-ESRGAN-ncnn-vulkan/releases) for video upscaling.
- [Ifrnet-ncnn-vulkan](https://github.com/nihui/ifrnet-ncnn-vulkan/releases) for video frame interpolation.
## Usage
```python
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.
- [alive-progress](https://github.com/rsalmei/alive-progress)
- [Real-ESRGAN](https://github.com/xinntao/Real-ESRGAN)
- [IFRNet](https://github.com/ltkong218/IFRNet)
- [FFmpeg](https://www.ffmpeg.org/)
## 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
Raw data
{
"_id": null,
"home_page": null,
"name": "VideoScripy",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "ffmpeg, upscale, interpolate, video process",
"author": null,
"author_email": "luezhi <sunluezhi520@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/f0/99/c3b99bc03df5c1a595bb4373c611e8409f3c1be4a75e7f9e84df83889f06/videoscripy-0.0.1.tar.gz",
"platform": null,
"description": "\r\n# VideoScripy\r\n\r\nVideoScripy is a collection of video processes including video Optimization, Upscale and frame Interpolation.\r\n\r\nIt uses Python to generate **FFmpeg**, **Real-ESRGAN** and **IFRNet** command line script to performes serial processing on scanned mp4 and mkv videos.\r\n\r\n**\u26a0 Only compatible with Windows users who have Nvidia cards.**\r\n\r\n\r\n\r\n## Requirements\r\n\r\n- Windows OS\r\n\r\n- NVIDIA card\r\n\r\nFollowing tools in the environment variable **PATH** :\r\n\r\n- [FFmpeg](https://www.gyan.dev/ffmpeg/builds/), full build for hardware acceleration.\r\n\r\n- [Real-ESRGAN-ncnn-vulkan](https://github.com/xinntao/Real-ESRGAN-ncnn-vulkan/releases) for video upscaling.\r\n\r\n- [Ifrnet-ncnn-vulkan](https://github.com/nihui/ifrnet-ncnn-vulkan/releases) for video frame interpolation. \r\n\r\n\r\n\r\n## Usage\r\n\r\n```python\r\nfrom videoscripy import VideoScripy\r\n\r\nvs = VideoScripy(__file__)\r\n\r\n# get current folder video(s)\r\nvs.getVideo(folderDepthLimit=0)\r\nvs.getVideoInfo()\r\n\r\n# run process(es)\r\nvs.optimize()\r\n# vs.resize()\r\n# vs.upscale()\r\n# vs.interpolate()\r\n# vs.merge()\r\n```\r\n\r\nOr directly call vscli.exe\r\n\r\n\r\n\r\n\r\n## Processes Description\r\n\r\n- optimize\r\n\r\n Reduce the video biteRate in order to gain storage space. \r\n 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.\r\n\r\n- resize\r\n\r\n Reduce the video width and height.\r\n\r\n- upscale\r\n\r\n Recover old video from 360p to 4K, enhance video quality. \r\n Begin with a transformation of video to image frames, then upscale each frames, finally reassemble to video. \r\n It has the ability to start from last upscal progress if the \"_upscaled_frame\" wasn't deleted.\r\n\r\n- interpolate\r\n\r\n Increase video frame rate (FPS), smooth video motions. \r\n Begin with a transformation of video to image frames, then interpolate between frames, finally reassemble to video.\r\n\r\n- merge\r\n\r\n 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.\r\n\r\n\r\n\r\n## Credits\r\n\r\nThis project relies on the following software and projects.\r\n- [alive-progress](https://github.com/rsalmei/alive-progress)\r\n- [Real-ESRGAN](https://github.com/xinntao/Real-ESRGAN)\r\n- [IFRNet](https://github.com/ltkong218/IFRNet)\r\n- [FFmpeg](https://www.ffmpeg.org/)\r\n\r\n\r\n\r\n## TODO list\r\n\r\n- \u2705 Stop upscale and interpolate process\r\n- \u2705 Get video walk optimize\r\n- [ ] Check tools\r\n- [ ] Sort by name\r\n- [ ] replace \"&\" by \"x\" in video name\r\n- [ ] Add FFmpeg visual quality metrics (PSNR, SSIM, VMAF)\r\n- [ ] Better hevc_nvenc parameters\r\n- [ ] Better upscale recovery\r\n\r\n\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Collection of video processes such as Optimize, Upscale and Interpolation.",
"version": "0.0.1",
"project_urls": {
"Homepage": "https://github.com/luewh/Video-Script",
"Issues": "https://github.com/luewh/Video-Script/issues"
},
"split_keywords": [
"ffmpeg",
" upscale",
" interpolate",
" video process"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6818d949ba2fe31280fc819923f858ef27012809a4d1b844c2821a0189d4b304",
"md5": "4f05a4dc94ec9586237ccb36960e19da",
"sha256": "d8e92188ab2d9f2081b51624330894af1bcf7c17cd19a2b6e01daa3b4c96a540"
},
"downloads": -1,
"filename": "VideoScripy-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4f05a4dc94ec9586237ccb36960e19da",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 10649,
"upload_time": "2024-11-13T21:07:58",
"upload_time_iso_8601": "2024-11-13T21:07:58.776949Z",
"url": "https://files.pythonhosted.org/packages/68/18/d949ba2fe31280fc819923f858ef27012809a4d1b844c2821a0189d4b304/VideoScripy-0.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f099c3b99bc03df5c1a595bb4373c611e8409f3c1be4a75e7f9e84df83889f06",
"md5": "bba12df89d85d01cb564841411c1227d",
"sha256": "0cf0ac9063f3a01e52a672f4eb6e2cb971f3aa4c1868a05a831ba428d451c2f6"
},
"downloads": -1,
"filename": "videoscripy-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "bba12df89d85d01cb564841411c1227d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 10053,
"upload_time": "2024-11-13T21:07:59",
"upload_time_iso_8601": "2024-11-13T21:07:59.891165Z",
"url": "https://files.pythonhosted.org/packages/f0/99/c3b99bc03df5c1a595bb4373c611e8409f3c1be4a75e7f9e84df83889f06/videoscripy-0.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-13 21:07:59",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "luewh",
"github_project": "Video-Script",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "videoscripy"
}