{"id":13456890,"url":"https://github.com/Djdefrag/QualityScaler","last_synced_at":"2025-03-24T11:31:53.748Z","repository":{"id":38411950,"uuid":"477370194","full_name":"Djdefrag/QualityScaler","owner":"Djdefrag","description":"QualityScaler - image/video AI upscaler app","archived":false,"fork":false,"pushed_at":"2024-04-16T09:39:42.000Z","size":222066,"stargazers_count":1718,"open_issues_count":28,"forks_count":117,"subscribers_count":30,"default_branch":"main","last_synced_at":"2024-04-21T11:25:56.455Z","etag":null,"topics":["amd","anime","compression-artifact-reduction","deep-learning","directx-12","gui-application","intel","manga","noise-reduction","nvidia","opencv","python","python3","pytorch","pytorch-directml","super-resolution","video","video-processing","windows"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Djdefrag.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":["https://www.paypal.com/paypalme/jjstd/5","https://jangystudio.itch.io/qualityscaler"]}},"created_at":"2022-04-03T14:42:56.000Z","updated_at":"2024-05-19T08:20:10.741Z","dependencies_parsed_at":"2023-02-16T07:01:17.187Z","dependency_job_id":"bd7486ee-ba04-4527-a008-247864fddd58","html_url":"https://github.com/Djdefrag/QualityScaler","commit_stats":null,"previous_names":[],"tags_count":60,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Djdefrag%2FQualityScaler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Djdefrag%2FQualityScaler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Djdefrag%2FQualityScaler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Djdefrag%2FQualityScaler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Djdefrag","download_url":"https://codeload.github.com/Djdefrag/QualityScaler/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221962483,"owners_count":16908339,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amd","anime","compression-artifact-reduction","deep-learning","directx-12","gui-application","intel","manga","noise-reduction","nvidia","opencv","python","python3","pytorch","pytorch-directml","super-resolution","video","video-processing","windows"],"created_at":"2024-07-31T08:01:29.629Z","updated_at":"2025-03-24T11:31:53.742Z","avatar_url":"https://github.com/Djdefrag.png","language":"Python","readme":"\u003c!DOCTYPE html\u003e\n\u003chtml\u003e\n\u003cbody\u003e\n    \u003cdiv align=\"center\"\u003e    \n        \u003cimg src=\"https://github.com/Djdefrag/QualityScaler/blob/main/Assets/logo.png\" width=\"175\"\u003e \n        \u003cbr\u003e\u003cbr\u003e QualityScaler - image/video AI upscaler app \u003cbr\u003e\u003cbr\u003e\n        \u003ca href=\"https://jangystudio.itch.io/qualityscaler\"\u003e\n            \u003cbutton\u003e\n                \u003cimg src=\"https://static.itch.io/images/badge-color.svg\" width=\"225\" height=\"70\"\u003e\n            \u003c/button\u003e     \n        \u003c/a\u003e\n        \u003ca href=\"https://store.steampowered.com/app/2463110/QualityScaler/\"\u003e\n            \u003cbutton\u003e\n                 \u003cimg src=\"https://images.squarespace-cdn.com/content/v1/5b45fae8b98a78d9d80b9c5c/1531959264455-E7B8MJ3VMPX0593VGCZG/button-steam-available-fixed-2.png\" width=\"250\" height=\"70\"\u003e\n            \u003c/button\u003e                 \n        \u003c/a\u003e\n    \u003c/div\u003e\n    \u003cbr\u003e\n    \u003cdiv align=\"center\"\u003e\n        \u003cimg src=\"https://github.com/user-attachments/assets/951685da-d0c3-4823-b112-b894b2f9e0d8\"\u003e\n    \u003c/div\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n\n\n## What is QualityScaler?\nQualityscaler is a Windows app powered by AI to enhance, upscale and de-noise photographs and videos.\n\n## How to use QualityScaler?\n[movie_max_vp9.webm](https://github.com/user-attachments/assets/4a1984be-c8c8-464b-a3d1-43445635b165)\n\n## Other AI projects.🤓\n- https://github.com/Djdefrag/RealScaler / RealScaler - image/video AI upscaler (Real-ESRGAN)\n- https://github.com/Djdefrag/FluidFrames.RIFE / FluidFrames.RIFE - video AI frame generation\n\n## Credits.\n- BSRGAN - https://github.com/cszn/BSRGAN\n- Real-ESRGAN - https://github.com/xinntao/Real-ESRGAN\n- IRCNN - https://github.com/lipengFu/IRCNN\n\n## Citations. ❤\n- https://80.lv/articles/80-level-digest-great-ai-powered-tools-for-upscaling-images/\n- https://timesavervfx.com/ai-upscale/\n\n## How is made. 🛠\nQualityScaler is completely written in Python, from backend to frontend. \n- [x] pytorch (https://github.com/pytorch/pytorch)\n- [x] onnx (https://github.com/onnx/onnx)\n- [x] onnxconverter-common (https://github.com/microsoft/onnxconverter-common)\n- [x] onnxruntime-directml (https://github.com/microsoft/onnxruntime)\n- [x] customtkinter (https://github.com/TomSchimansky/CustomTkinter)\n- [x] openCV (https://github.com/opencv/opencv)\n- [x] moviepy (https://github.com/Zulko/moviepy)\n- [x] pyInstaller (https://github.com/pyinstaller/pyinstaller)\n\n## Make it work by yourself. 👨‍💻\nPrerequisites.\n- Python installed on your pc (https://www.python.org/downloads/release/python-3119/)\n- VSCode installed on your pc (https://code.visualstudio.com/)\n- AI models downloaded (https://gofile.io/d/jQmbgY)\n- FFMPEG.exe downloaded (https://www.gyan.dev/ffmpeg/builds/) RELEASE BUILD \u003e ffmpeg-release-essentials.7z\n\nGetting started.\n- Download the project on your PC (Green button Code \u003e Download ZIP)\n- Extract the project from the .zip\n- Extract the AI models files in /AI-onnx folder\n- Extract FFMPEG.exe in /Assets folder\n- Open the project with VSCode (Drag\u0026Drop the project directory on VSCode)\n- Click on QualityScaler.py from left bar (VSCode will ask to install Python plugins)\n- Install dependencies. In VSCode there is the \"Terminal\" panel, click there and execute the command \"pip install -r requirements.txt\"\n- Close VSCode and re-open it (this will refresh all the dependecies installed)\n- Click on the \"Play button\" in the upper right corner of VSCode\n\n## Requirements. 🤓\n- Windows 11 / Windows 10\n- RAM \u003e= 8Gb\n- Any Directx12 compatible GPU with  \u003e=  4GB VRAM\n\n## Features.\n- [x] Elegant and easy to use GUI\n- [x] Image and Video upscale\n- [x] Multiple GPUs support\n- [x] Compatible images - jpg, png, tif, bmp, webp, heic\n- [x] Compatible video - mp4, wemb, mkv, flv, gif, avi, mov, mpg, qt, 3gp\n- [x] Automatic image tilling to avoid gpu VRAM limitation\n- [x] Resize image/video before upscaling\n- [x] Interpolation beetween original file and upscaled file\n- [x] Video upscaling STOP\u0026RESUME\n- [x] PRIVACY FOCUSED - no internet connection required / everything is on your PC\n\n## Next steps. 🤫\n- [x] 1.X versions\n    - [x] Switch to Pytorch-directml to support all Directx12 compatible gpu (AMD, Intel, Nvidia)\n    - [x] New GUI with Windows 11 style\n    - [x] Include audio for upscaled video\n    - [x] Optimizing video frame resize and extraction speed\n    - [x] Multi GPU support (for pc with double GPU, integrated + dedicated)\n    - [x] Python 3.10 (expecting ~10% more performance)\n- [x] 2.X versions\n    - [x] New, completely redesigned graphical interface based on @customtkinter\n    - [x] Upscaling images and videos at once (currently it is possible to upscale images or single video)\n    - [x] Upscale multiple videos at once\n    - [x] Choose upscaled video extension\n    - [x] Interpolation between the original and upscaled image/video\n    - [x] More Interpolation levels (Low, Medium, High)\n    - [x] Show the remaining time to complete video upscaling\n    - [x] Support for SRVGGNetCompact AI architecture\n    - [x] Metadata extraction and application from original file to upscaled file (via exiftool)\n- [x] 3.X versions\n    - [x] New AI engine powered by onnxruntime-directml (https://github.com/microsoft/onnxruntime))\n    - [x] Python 3.11 (performance improvements)\n    - [x] Python 3.12 (performance improvements)\n    - [x] Display images/videos upscaled resolution in the GUI\n    - [x] Updated FFMPEG to version 7.x (latest release)\n    - [x] Saving user settings (AI model, GPU, CPU  etc.)\n    - [x] Video AI multi-threading upscale \n    - [x] Video upscaling STOP\u0026RESUME\n- [ ] 4.X version\n    - [x] Hardware accelerated video encoding (nvenc / amf / qsv)\n    - [x] More video extensions (.mp4 / .mkv / .avi / .mov)\n    - [x] Output resolution scaling\n    - [x] Video AI multi-threading improvements\n\n## Some Example.\n\n#### Videos\n![original](https://user-images.githubusercontent.com/32263112/209139620-bdd028f8-d5fc-40de-8f3d-6b80a14f8aab.gif)\n\nhttps://user-images.githubusercontent.com/32263112/209139639-2b123b83-ac6e-4681-b94a-954ed0aea78c.mp4\n\n#### Images\n![test](https://user-images.githubusercontent.com/32263112/166690007-f1601487-7b94-4f2c-b4e2-436bc189a26e.png)\n\n![ORIGINAL](https://user-images.githubusercontent.com/32263112/226847190-e4dbda21-8896-456d-8120-3137f3d2ac62.png)\n\n![Bsrgan x4](https://user-images.githubusercontent.com/32263112/168884625-c869baee-4cca-4a33-bdad-b65d9c29889d.png)\n\n![Bsrgan x4 (2)](https://user-images.githubusercontent.com/32263112/197983965-40785dbd-78c6-48a0-a1eb-39d9c3278f42.png)\n\n![Bsrgan x4 (3)](https://user-images.githubusercontent.com/32263112/197983979-5857a855-d402-4fab-9217-ee5bd057bd01.png)\n\n![Bsrgan x4](https://user-images.githubusercontent.com/32263112/198290909-277e176e-ccb4-4a4b-8531-b182a18d566a.png)\n\n\n","funding_links":["https://www.paypal.com/paypalme/jjstd/5","https://jangystudio.itch.io/qualityscaler"],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDjdefrag%2FQualityScaler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FDjdefrag%2FQualityScaler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDjdefrag%2FQualityScaler/lists"}