github I-IAL9000/shrinkerr v0.5.4

latest releases: v0.9.97, v0.9.96, v0.9.95...
2 months ago

Fixed

  • DVD MPEG-2 (and any non-h264 source) files treated as already-converted in the queue estimation modal — savings showed 0 MB, the job got dispatched as cleanup_only, and only flipping "Force re-encode all files (including x265)" actually transcoded them. Root cause: scan_results.needs_conversion is a derived field (video_codec × source_codecs setting) but stored at scan time. When users widened "Convert From (source codecs)" in Settings to enable MPEG-2 / MPEG-4 / VC-1 after their files were first scanned, the stored needs_conversion=0 values stayed stale. The queue's estimation loop reads the stored field (routes/jobs.py:1773), returns 0 savings, and dispatches as cleanup-only. Fix: (1) new recompute_needs_conversion helper in scanner.py that recomputes the field for every converted=0 row against any source_codecs list (using the canonical CODEC_FAMILIES mapping); (2) one-shot heal _v0_5_4_recompute_needs_conversion runs once on upgrade and realigns existing rows against the user's current setting; (3) settings PUT handler now calls the same recompute whenever source_codecs changes, so this can't recur on the next setting tweak. Symptom-matching behavior — including the "MPEG-2 file with no estimated savings" you'd see on DVD rips — fixes itself on first container restart.

Docker images

Pinned to this release:

docker pull ghcr.io/i-ial9000/shrinkerr:0.5.4         # portable (amd64 + arm64, CPU)
docker pull ghcr.io/i-ial9000/shrinkerr:0.5.4-nvenc   # x86_64 + NVIDIA GPU (NVENC)
docker pull ghcr.io/i-ial9000/shrinkerr:0.5.4-edge    # as above but ffmpeg master
docker pull ghcr.io/i-ial9000/shrinkerr:0.5.4-edge-nvenc

Floating tags (:latest, :edge, :nvenc, :edge-nvenc) track the most recent release of each lineage.

Don't miss a new shrinkerr release

NewReleases is sending notifications on new releases.