Jellyfin: Difference between revisions
drop 24.05 compat |
VTimofeenko (talk | contribs) →VAAPI and Intel QSV: add Arc GPU instructions |
||
Line 119: | Line 119: | ||
} | } | ||
</syntaxHighlight> | </syntaxHighlight> | ||
If you want to use an Arc GPU for transcoding, you may need to override the ffmpeg version used by jellyfin to ensure that it is compiled with <code>vpl</code> and, potentially, <code>unfree</code>. An example to achieve this through [[Overlays|an overlay]]:<syntaxhighlight lang="nix"> | |||
{ pkgs, ... }: | |||
let | |||
jellyfin-ffmpeg-overlay = ( | |||
_ prev: { | |||
jellyfin-ffmpeg = prev.jellyfin-ffmpeg.override { | |||
# Exact version of ffmpeg_* depends on what jellyfin-ffmpeg package is using. | |||
# In 24.11 it's ffmpeg_7-full. | |||
# See jellyfin-ffmpeg package source for details | |||
ffmpeg_7-full = prev.ffmpeg_7-full.override { | |||
withMfx = false; # This corresponds to the older media driver | |||
withVpl = true; # This is the new driver | |||
withUnfree = true; | |||
}; | |||
}; | |||
} | |||
); | |||
in | |||
{ | |||
nixpkgs.overlays = [ jellyfin-ffmpeg-overlay ]; | |||
} | |||
</syntaxhighlight>This will trigger a rebuild of Jellyfin package, but the end result is that if you select "Intel QuickSync (QSV)" you should see little to no CPU load when transcoding. | |||
Note that if your system has an integrated GPU (one built into the CPU) and a discrete GPU, you may need to select the QSV device in the "Playback" settings. Otherwise the device may be picked at random and produce random results. You can use <code>intel_gpu_top -L</code> to identify the devices. | |||
Related: [[Accelerated Video Playback]] and [[Intel Graphics]] | Related: [[Accelerated Video Playback]] and [[Intel Graphics]] |