improve-transcode #46

Merged
cameron merged 5 commits from improve-transcode into main 2026-07-17 07:58:20 -04:00
Owner

Summary

  • Enable VAAPI hardware transcoding on the UHD 630 iGPU (decode/encode for H.264/HEVC, OpenCL HDR tonemapping), replacing software libx264 transcodes that were pegging the CPU.
  • Use intel-compute-runtime-legacy1 instead of the current runtime — upstream dropped Gen 9-11 GPU support, which broke OpenCL tonemapping on this hardware.
  • Enable hardware acceleration for Trickplay image generation (decode + MJPEG encode on the iGPU).
  • Drop the manual FFmpeg thread caps now that the CPU is no longer the bottleneck — back to auto/default.
## Summary - Enable VAAPI hardware transcoding on the UHD 630 iGPU (decode/encode for H.264/HEVC, OpenCL HDR tonemapping), replacing software libx264 transcodes that were pegging the CPU. - Use `intel-compute-runtime-legacy1` instead of the current runtime — upstream dropped Gen 9-11 GPU support, which broke OpenCL tonemapping on this hardware. - Enable hardware acceleration for Trickplay image generation (decode + MJPEG encode on the iGPU). - Drop the manual FFmpeg thread caps now that the CPU is no longer the bottleneck — back to auto/default.
The i5-8500T's UHD 630 iGPU supports hardware decode/encode for
H.264/HEVC (incl. 10-bit) plus OpenCL tonemapping, but Jellyfin was
software-transcoding everything with libx264 — a 4K HDR transcode
pegged ~5 of 6 cores.

- Install intel-media-driver (iHD VAAPI) and intel-compute-runtime
  (OpenCL for HDR tonemapping / subtitle burn-in)
- Add jellyfin user to render/video groups
- Switch Nixflix encoding config to VAAPI with hardware decoding for
  h264/hevc/mpeg2/vc1/vp9, GPU tonemapping, and HEVC encoding

VAAPI instead of QSV because QSV on pre-Gen-12 chips requires
intel-media-sdk, which is EOL and marked insecure in nixpkgs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Upstream NEO dropped Gen 9-11 GPU support after 24.35, so the current
intel-compute-runtime can't enumerate the UHD 630 and ffmpeg's OpenCL
device init fails with CL_PLATFORM_NOT_FOUND_KHR, breaking hardware
HDR tonemapping. Switch to intel-compute-runtime-legacy1 (24.35.x).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Trickplay image extraction now uses the iGPU for both source decode
and MJPEG encoding (supported on VA-API) instead of software ffmpeg.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The 3-thread caps predate hardware acceleration, when libx264 software
transcodes could peg the CPU. With decode/encode/tonemapping on the
GPU, revert to the defaults: encodingThreadCount -1 (auto) and
trickplay processThreads 1.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
cameron deleted branch improve-transcode 2026-07-17 07:58:20 -04:00
cameron referenced this pull request from a commit 2026-07-17 07:58:20 -04:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cameron/infrastructure!46
No description provided.