Local-first offline video enhancement CLI and Python desktop app.
Project description
silukman_video_enhancer
silukman_video_enhancer is a local-first, offline video enhancement application designed to run entirely on your own machine. It improves video quality without sending data to the cloud, utilizing hardware-accelerated AI models locally.
This project is a video-focused evolution of silukman_image_enhancer.
Repository social preview asset: docs/assets/github-social-preview.svg.
Key Features
- Offline Video Upscaling: Increase video resolution (e.g., 720p to 1080p, 1080p to 4K) using local neural networks.
- Denoising & Deblurring: Remove camera noise, low-light grain, and light motion blurs.
- Compression Artifact Cleanup: Clean up pixelation and blocky artifacts caused by aggressive video compression.
- Color Correction: Simple automatic adjustments to restore vibrance, contrast, and color balance.
- Audio Preservation: Automatically extracts, syncs, and merges the original audio back into the enhanced video.
- Hardware Acceleration: Built on ONNX Runtime, leveraging local GPU/NPU acceleration (NVIDIA CUDA, Apple CoreML, Windows DirectML) where available.
- CLI Workflow: Optimized command-line interface for batch processing and integration into automation scripts.
- Python Desktop UI: Planned cross-platform desktop interface using a Python GUI stack so the CLI, pipeline, inference, and UI layers can share one language/runtime.
Technical Architecture (Simplified)
[Input Video] ──> [FFmpeg Frame Extraction] ──> [Frame Queue]
│
▼
[Output Video] <── [FFmpeg Muxing + Audio] <── [ONNX Inference Engine]
Prerequisites
To run this application locally, you will need:
- Python 3.9+
- FFmpeg installed and added to your system's PATH (if missing, the application will automatically download static binaries to a local
bin/folder on first run). - Hardware Accelerator Drivers (optional but highly recommended):
- NVIDIA CUDA Toolkit (for NVIDIA GPUs)
- DirectML (supported out-of-the-box on Windows)
- CoreML (supported out-of-the-box on macOS)
- Desktop UI Toolkit (planned): PySide6/Qt for the Python desktop application.
Installation
# Clone the repository
git clone https://github.com/lukman-ss/silukman_video_enhancer.git
cd silukman_video_enhancer
# Set up virtual environment
python3 -m venv .venv
source .venv/bin/activate # On Windows use: .venv\Scripts\activate
# Upgrade pip (required for pyproject.toml editable installs)
pip install --upgrade pip
# Option 1: Install directly from PyPI (recommended)
pip install silukman-video-enhancer
# Option 2: Install in development/editable mode from source
pip install --no-compile -r requirements.txt -e ".[onnx,dev]"
# Option 3: Install a wheel downloaded from the tagged GitHub Release assets
pip install silukman_video_enhancer-*.whl
Usage
# Basic enhancement (upscaling)
python -m app enhance -i input.mp4 --scale 2 --output output.mp4
# Run denoise and color correction
python -m app enhance -i input.mp4 --denoise --color-correct --output output.mp4
# Launch the Python desktop app
python -m app desktop
# or
python -m ui.desktop
Project Status & Roadmap
This project is currently in active implementation. Phase 1 through Phase 10 are documented as completed.
- Phase 1 (MVP): Core video pipeline with frame-by-frame extraction, ONNX scaling model integration, and CLI support.
- Phase 2 (Refinement): Temporal consistency checks, advanced noise/blur removal models, and batch CLI processing.
- Phase 3 (Desktop UI): Python desktop interface with PySide6/Qt, side-by-side preview, and offline packaging.
- Phase 4 (Production): Release QA, job control, render farm hardening, subtitle engines, INT8, and timeline preview.
- Phase 5 (Advanced Media & Runtime): Vulkan/WebGPU, OpenVINO/QNN, HDR/LUT workflows, tone mapping, professional codecs, hardware encoder profiling, high-resolution render planning, and model toolchain improvements.
- Phase 6 (Headless API & Operations): REST API, client tooling, access controls, durable queues, worker pools, retries, graceful shutdown, LAN discovery, service diagnostics, log streaming, disk quotas, observability, and containerized render nodes.
- Phase 7 (Ecosystem Governance & Lifecycle): Plugin SDK, sandboxing, workflow automation, reproducible manifests, configuration migration, audit logs, compatibility matrix tests, signed updates, model quarantine, telemetry, maintenance, and SDK docs.
- Phase 8 (Desktop UX & Batch Processing): Multi-file queueing, batch progress, cancellation, retry, recent files, ETA, post-job actions, queue reordering, and output format selection.
- Phase 9 (CI/CD & Cross-Platform Release Workflow): GitHub Actions test matrix, version tagging, signed Windows/macOS/Linux release artifacts, draft releases, smoke tests, and dependency caching.
- Phase 10 (GitHub Repository Presence): Repository metadata, social preview asset, release badges, release/package publication workflows, issue templates, release naming policy, and security disclosure policy.
GitHub Repository Setup
Repository metadata is documented in .github/repository.yml. Apply the same values in GitHub repository settings:
- Description:
Local-first offline video enhancement CLI and Python desktop app. - Website:
https://github.com/lukman-ss/silukman_video_enhancer - Topics:
video-enhancement,upscaling,onnx,ffmpeg,pyside6,ai,python,offline-first,desktop-app - Social preview: upload docs/assets/github-social-preview.svg
Contributing
Contributions are welcome! Please read our Documentation first to understand the architecture and pipeline.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file silukman_video_enhancer-0.2.0.tar.gz.
File metadata
- Download URL: silukman_video_enhancer-0.2.0.tar.gz
- Upload date:
- Size: 133.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66f5111b16db2a22191a59e0487565f18494ed0a7b9b03553a16004db443fd7c
|
|
| MD5 |
5ee38c7a1cdce69d2e0186abe5dadb8b
|
|
| BLAKE2b-256 |
c1fab72097aa63194d72aacd7b5387b69e7a84873da1ee4668976e6428abda1b
|
File details
Details for the file silukman_video_enhancer-0.2.0-py3-none-any.whl.
File metadata
- Download URL: silukman_video_enhancer-0.2.0-py3-none-any.whl
- Upload date:
- Size: 120.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8254f106e98beaec7bf60c7bf55c8877bf8dee53cc81821ebdb813d4cfb73e15
|
|
| MD5 |
13e358b48ba33bd8c21ecd98fe98ce79
|
|
| BLAKE2b-256 |
f4b55ac12c4585c47da3caaba96d5e7d3509818077ce2c9b0470070d7bef9af6
|