v0.4.9
Fixed
- Conversion failing with
Invalid UTF-8 in decoded subtitles texton whole series with non-English / older releases. Root cause: whenmerge_external_subswas enabled and the folder had a sidecar.srtfile, the converter mapped it as a separate ffmpeg input AND used-c:s srtto re-encode it — forcing a decode→encode roundtrip through ffmpeg's strict UTF-8 SRT encoder. SRT files in the wild are frequently Windows-1252 / ISO-8859-1, which fail the UTF-8 validator and abort the entire encode with exit code 69 (Conversion failed!). Fix: byte-copy SRT/ASS/SSA external subs (-c:s copy) instead of re-encoding. Bothbackend/converter.pyandbackend/audio.pyhad the same bug; both fixed. Most MKV players handle non-UTF-8 SRT via charset auto-detection, so the byte-copy result is more compatible than what the re-encode would have produced anyway. - Failed jobs not showing the ffmpeg command + log in the new collapsible sections that v0.4.8 added. Backend bug: the converter's failure return paths only included
error(the short message) —ffmpeg_commandandffmpeg_logweren't included on failure, so the worker never wrote them to the DB. Frontend dutifully looked for fields that were always null. Fix: failure returns now include both fields, and the worker callsupdate_conversion_logon failure (withencoding_stats=None) parallel to the success path.
Docker images
Pinned to this release:
docker pull ghcr.io/i-ial9000/shrinkerr:0.4.9 # portable (amd64 + arm64, CPU)
docker pull ghcr.io/i-ial9000/shrinkerr:0.4.9-nvenc # x86_64 + NVIDIA GPU (NVENC)
docker pull ghcr.io/i-ial9000/shrinkerr:0.4.9-edge # as above but ffmpeg master
docker pull ghcr.io/i-ial9000/shrinkerr:0.4.9-edge-nvencFloating tags (:latest, :edge, :nvenc, :edge-nvenc) track the most recent release of each lineage.