Skip to content

v142: Faster Hardware Encoding, Reliable GPU Detection, and Improved Job Recovery

Latest

Choose a tag to compare

@JMS1717 JMS1717 released this 18 Aug 19:53
· 0 commits to 6c17bd52d29d53068304dad180ebf6257722e6b0 since this release

What's new

Hardware acceleration reliability

  • Fixed Intel QSV and VAAPI detection and reporting issues.
  • Hardware badges now identify Intel QSV, VAAPI, NVIDIA NVENC, and software
    encoders correctly.
  • Encoder telemetry is structured and durable instead of depending on a
    transient log message.
  • Encoder identity, decoder information, progress, and fallback state survive
    page refreshes and SSE reconnects.
  • Improved cancellation, staged-input cleanup, and retry behavior.
  • Hardware capability refreshes replace stale probe results safely.

Intel QSV

  • Optimized the Linux Intel H.264/HEVC QSV path to use hardware decoding and
    hardware surfaces where the input and device support it.
  • QSV VPP is used where appropriate to keep supported processing on the GPU.
  • Software decode and upload remains the safe fallback for unsupported inputs.
  • The optimization was validated on 10th-generation Intel hardware.
  • HEVC Main10/P010 support and HDR metadata preservation remain supported.
  • 10-bit input is not silently downgraded to 8-bit output.

Encoder presets

  • Fresh installations now use P4 Balanced instead of P6 High Quality.
  • Existing explicit preset selections and customized profiles are preserved.
  • The managed Discord stock profile uses P4 when it is still application-managed.
  • P6 High Quality and P7 Best Quality remain available for users who prefer
    slower, higher-quality encoding.

NVIDIA

  • NVIDIA NVENC, NVDEC, CUDA, and scale_npp remain supported.
  • The P4 default avoids unnecessarily slow P6 behavior for fresh jobs.
  • Hardware capability is verified with real probes; an encoder appearing in an
    FFmpeg list alone is not treated as proof of support.

Docker

  • The universal Docker image is approximately 501 MB, down from the previous
    multi-GB issue #44 image.
  • One universal runtime is retained with repository-owned FFmpeg.
  • NVIDIA NVENC/NVDEC, CUDA scale_npp, Intel QSV, Intel and AMD VAAPI, and CPU
    fallbacks remain supported.
  • No Jellyfin FFmpeg replacement was introduced.

Reliability and storage

  • Improved active-job recovery and SSE reconnect behavior.
  • Cancellation now reaches a durable canceled state without a follow-up generic
    failure state.
  • Retrying a selected file after cancellation or completion can recover staged
    input safely without retaining temporary uploads indefinitely.
  • RAM-preferred media staging remains supported, including cleanup after jobs
    finish.
  • Propagated color metadata is now normalized through a narrow allowlist. Invalid
    or reserved values are omitted independently, so malformed Recorder metadata
    cannot break hardware or CPU encoding while valid HDR metadata remains intact.
  • A bounded retry may remove only rejected optional color flags; metadata parsing
    failures are not misclassified as hardware failures or forced CPU fallback.

Validation

The v142 release candidate was validated with:

  • Intel QSV H.264 and HEVC exact hardware encoding.
  • Intel QSV Main10/P010 HEVC encoding and HDR-path validation.
  • Intel VAAPI exact HEVC encoding.
  • NVIDIA H.264 and HEVC NVENC with CUDA/NVDEC and no fallback.
  • CPU fallback paths.
  • Docker health, structural, and shared-library checks.
  • Frontend, backend, worker, shared, Python, version, and Compose tests.
  • Cancellation/retry, restart/reconnect, RAM staging, and transient cleanup.
  • A controlled Windows Recorder-compatible malformed-metadata regression through
    CPU, Intel QSV, and NVIDIA NVENC application paths.

Physical AMD VAAPI exact encoding has not yet been validated on an AMD host.
AMD VAAPI support remains in the universal image and this is a remaining
hardware-validation gap, not a claim of failure.