HorosCompress is the open-source home of HorosUpscaling, a Windows desktop app by HorosCode for shrinking large video files with FFmpeg, a clear queue UI, and sensible output options.
Deutsch: Desktop-App zum Verkleinern von Videos — Multi-Auswahl, Warteschlange, Einstellungen für Ausgabe und „Original ersetzen“. Beim Start keine Demo-Jobs.
Topics: #HorosCompress #HorosCode #Avalonia #FFmpeg #VideoCompression
- Compress — Drag-and-drop or file picker; quality slider and estimated target size
- Multi-select — Pick several files or a folder; batch queue with combined size summary
- Empty start — No seeded demo jobs; active processes and history are empty until you add real files
- FFmpeg — H.264 via libx264 (CPU) or NVIDIA NVENC when enabled in settings and available in your FFmpeg build
- Output modes — Default same folder as source (
*_klein.mp4) or a fixed output folder (Documents\HorosCompress\Outputby default) - Replace original — Optional setting to overwrite the source after a successful encode (via temp file)
- Active jobs — Progress, status, queue, cancel; pause holds the progress display (encode continues)
- History — Completed jobs with savings and paths (in-session; persistence planned)
- Settings — Export mode, replace original, default quality, GPU toggle, placeholders for language/theme/notifications
- starter.bat — One-click Windows bootstrap (.NET 8 + FFmpeg via winget, then
dotnet run)
UI mockups and reference screens live under mockups/app-v2/ (see screenshots below).
| Compress | Active processes |
|---|---|
![]() |
![]() |
| History | Settings |
|---|---|
![]() |
![]() |
- Windows (primary target)
- .NET 8 SDK
- FFmpeg on
PATH(or use the starter script to install via winget)
Windows (recommended): from the repo root, run:
starter.batstarter.bat calls scripts/bootstrap.ps1, which checks for .NET 8 and FFmpeg, installs them with winget when missing, then runs the desktop app in Release.
Check dependencies only (no app start):
powershell -ExecutionPolicy Bypass -File scripts/bootstrap.ps1 -CheckOnlyManual:
git clone https://github.com/HorosCodeOriginal/HorosCompress.git
cd HorosCompress
dotnet run --project HorosUpscaling.Desktop -c ReleaseEncoded files are written according to your settings (same folder as source or your fixed folder). The repo Output/ directory is git-ignored except for .gitkeep (local dev convenience).
HorosCompress/
├── HorosUpscaling.sln # Solution
├── HorosUpscaling.Desktop/ # Avalonia UI (MVVM), FFmpeg services
├── mockups/app-v2/ # UI reference PNGs + README
├── scripts/bootstrap.ps1 # Dependency check + dotnet run
├── starter.bat # One-click Windows entry
├── Output/ # Optional local output (.gitkeep only in repo)
├── CONTRIBUTING.md
├── SECURITY.md
└── LICENSE
dotnet build HorosUpscaling.sln -c Release
dotnet build HorosUpscaling.sln -c DebugCI runs on GitHub Actions (Windows, .NET 8) — see .github/workflows/dotnet.yml.
| Area | Current behavior |
|---|---|
| Pause | Toggles UI progress only; FFmpeg keeps encoding |
| Language / theme buttons | Stored in settings; full UI switch not yet wired |
| Notifications | Setting stored; no OS notifications yet |
| History | Session memory only (no disk persistence yet) |
| GPU | NVENC when available; otherwise libx264 |
See CONTRIBUTING.md. Issues and pull requests are welcome.
See SECURITY.md for how to report vulnerabilities.
MIT — Copyright (c) 2026 HorosCode. See LICENSE.
Product name in the app: HorosUpscaling. Repository name: HorosCompress.



