Skip to content

Releases: Mitzingdash/compression

SmartCompress 3.0.0 — C# rewrite

Choose a tag to compare

@Mitzingdash Mitzingdash released this 15 May 09:37

Full C# rewrite of the original Python prototype. Windows portable build — no installer, no Python, no .NET install required.

What's new

  • Two-path Estimator (QualityFirst vs SizeConstrained) replaces the old single binary-search; most files now finish in 1-2 passes instead of 4-5
  • Benchmark mode with cross-validation report
  • Batch mode — drop a folder, get a preview table, skip-existing on resume
  • Live ETA, benchmark progress bar, clean Ctrl+C, input lockout between prompts
  • Adaptive complexity fingerprinting + per-encoder slope calibration

Install

  1. Download SmartCompress-v3.0.0-win-x64.zip below
  2. Extract anywhere (Desktop / USB / C:\Tools — fully portable)
  3. Run SmartCompress.exe. First launch downloads ffmpeg (~75 MB) automatically.

Old Python version

Preserved on the old branch for reference.


Made utilising AI assistance for parts of the rewrite.

v1.2.1

Choose a tag to compare

@Mitzingdash Mitzingdash released this 09 May 23:14

Windows setup

Download both init.bat and SmartCompress.ps1 into the same empty folder.

  1. First run: right-click init.bat -> "Run as administrator"
    Fixes execution policy, unblocks the PS1, then deletes itself.
  2. Every run after: right-click SmartCompress.ps1 -> "Run with PowerShell"

If Python or Git are missing, the launcher installs them automatically.
It tries Chocolatey first, then winget, then downloads directly from the official source.

Bug fixes

  • PS1 window no longer closes silently -- always pauses on error
  • Microsoft Store Python stub detected and skipped
  • Python/Git auto-install now works without a package manager (direct download fallback)
  • init.bat now also fixes execution policy (Set-ExecutionPolicy RemoteSigned)
  • PS1 saved as UTF-8 with BOM so PowerShell 5.1 parses it correctly

To update: just run SmartCompress.ps1 -- it pulls the latest automatically.

v1.2.0

Choose a tag to compare

@Mitzingdash Mitzingdash released this 09 May 22:21

What's new

Bug fixes

  • CQP search was cutting off quality — the binary search lower bound was set to a bitrate-math estimate (~CQP 40) instead of default_cqp (28). This meant files that fit well under the size limit were never tried at better quality. The search now always covers the full CQP range, finding the best-quality file that still fits.
  • PS1 launcher window closed immediately after compress.py exited — now always pauses for Enter before closing.

New features

  • Session log — each compression run appends to out/compress.log. Records input info, all CQP passes and sizes, SSIM scores, and the final result.
  • Compress another — after a run completes, the tool asks whether to compress another file instead of exiting.

Config

  • max_cqp is now per-encoder (9 entries matching default_cqp) instead of per-family (3 entries) — ready for per-encoder tuning and the future community lookup table.
  • Output folder defaults to the launcher directory instead of inside the cloned repo subfolder.

To update: just run SmartCompress.ps1 / SmartCompress.sh — the launcher pulls the update automatically.

v1.1.0 - Initial Release

Choose a tag to compare

@Mitzingdash Mitzingdash released this 09 May 21:13

First public release

A smart video compressor that figures out codec, quality, and resolution automatically. No manual settings needed.

What's included

  • SmartCompress.ps1 - Windows launcher (right-click -> Run with PowerShell)
  • SmartCompress.sh - Linux / macOS launcher (chmod +x SmartCompress.sh then ./SmartCompress.sh)

Both scripts handle everything automatically: cloning the repo, setting up Python, installing dependencies, and checking for updates on every run. Python and Git are installed automatically on Windows if missing.

Requirements

  • Python 3.10+
  • Git

Features

  • Interactive wizard - guided step by step, no flags to memorize
  • Encoder selection - shows all working encoders with descriptions and a recommendation for your hardware
  • Resolution selection - force a specific resolution or let Auto decide
  • CQP binary search - converges in 3-5 passes using bitrate math as a starting estimate
  • SSIM quality scoring with live progress bar, resolution-normalized against source
  • Content complexity analysis - adjusts quality floors and CQP limits automatically
  • Resolution ladder - drops resolution if quality floor cannot be met
  • Live progress bars for both encoding and quality check passes