github derekshreds/Snacks v2.4.1
Snacks v2.4.1

5 hours ago

Snacks v2.4.1

Automated Video Library Encoder

Maintenance release focused on hardware encoder compatibility. Adds a conservative-flags retry tier for older NVENC silicon and Intel iGPUs that reject newer feature flags, fixes OCR being wastefully re-run on retries, enables QSV full hardware pipeline on Windows, and broadens Sonarr/Radarr path matching to handle containerized Arr deployments.


Bug Fixes

Hardware Encoding

  • Conservative fallback for older hardware encoders -- the retry chain now classifies "encoder feature" errors (not supported, Provided device doesn't support, Error while opening encoder, Invalid FrameType, Function not implemented) and re-runs the encode once with reduced flags before falling back further. NVENC drops -temporal_aq 1 (rejected by Pascal and earlier); QSV drops -extbrc 1 -look_ahead 1 -look_ahead_depth 40 (Tiger Lake iGPUs without oneVPL lookahead fail surface handoff at frame 0). The conservative tier runs before subtitle stripping so OCR'd subtitle tracks are preserved when the failure is actually encoder-side.
  • Intel QSV full hardware pipeline on Windows -- -hwaccel qsv now also sets -hwaccel_output_format qsv, keeping frames on the GPU end-to-end instead of downloading to system memory between decode and encode.
  • AMD hardware label corrected in settings UI -- the Windows AMD option in the Hardware Acceleration dropdown was mislabeled "AMD VAAPI" (VAAPI is the Linux API); it's now "AMD Advanced Media Framework (AMF)", which matches the FFmpeg encoder actually used on Windows.

Retry Reliability

  • OCR is no longer re-extracted on every retry -- previously, a single encode failure would rerun the Tesseract OCR pipeline from scratch on each retry tier, adding thousands of cue extractions per attempt on Blu-ray PGS sources. Extracted SRT results and their temp directory are now threaded through the retry path and reused as-is; the temp dir is only cleaned up once all retries are exhausted.

Integrations

  • Sonarr/Radarr language tag matching for containerized deployments -- path-prefix matching against the Arr cache fails when Sonarr/Radarr run in a container or on a different host and report paths like /movies/TRON - Legacy (2010) while Snacks sees D:\Media\Movies\TRON - Legacy (2010).mkv. Language-tag lookup now falls back to matching the movie/series folder name (Title (year), part of the Arr naming convention) when the prefix miss hits, so subtitle language tags resolve correctly across split filesystems.

Files Changed

  • Snacks/Services/TranscodingService.cs -- conservative hw-flags retry tier, OCR result caching across retries, QSV hwaccel_output_format
  • Snacks/Services/IntegrationService.cs -- Arr path fallback via folder-name matching
  • Snacks/Views/Shared/_GeneralSettings.cshtml -- AMD AMF label fix

Version Bumps

  • Snacks/Controllers/HomeController.cs
  • Snacks/Services/ClusterDiscoveryService.cs -- protocol version bump to 2.4.1
  • Snacks/Views/Shared/_Layout.cshtml
  • README.md
  • build-and-export.bat
  • electron-app/package.json / package-lock.json

Full documentation: README.md

Don't miss a new Snacks release

NewReleases is sending notifications on new releases.