Installation de Jellyfin avec accélération matériel sur Proxmox

27 février 2025 Linux LinuxProxmoxDebianServerJellyfin

Installation de Jellyfin

Sur votre proxmox créer un container à partir d'une Debian. Puis connectez vous à ce container. Je ne vais pas détailler en profondeur la creation de ce container. Mais prévoir :

  • 100 go d'espace disque (pour le transcodcage)
  • 4 coeurs
  • 2 go de ram
  • non privilégié

Ajout du dépo et installation

En root :

apt install extrepo
extrepo enable jellyfin
apt update
apt install jellyfin

Je ne sais plus pour quelle raison mais j'ai installé :

apt install jellyfin-ffmpeg6

Configuration

Dans /etc/jellyfin/encoding.xml vous pouvez activer le support du HEVC ou AV1. Avec les balises :

<AllowHevcEncoding>true</AllowHevcEncoding>
<AllowAv1Encoding>true</AllowAv1Encoding>

Accélération matériel

Ici j'utilise une Intel Arc A310. Certes en jeux c'est pas une foudre de guerre mais pour le transcodage vidéo c'est ce qui donne la meilleure qualité.

Cependant si vous avez un processeur Intel avec un GPU intégré cela suffit amplement. Dans mon cas possédant un serveur à base de Xéon, je n'en ai pas et j'ai donc opté pour une carte dédié.

Passthrought du GPU

Sur votre Proxmox dans /dev/dri vous devriez avoir quelque chose ressemblant à renderDXXX, dans mon cas j'ai renderD128. Ensuite il faut identifier l'ID du group render dans votre conteneur Jellyfin.

getent group render

Dans mon cas cette commande me renvoi render:x:104:jellyfin. Ici ce qui m'intéresse c'est 104.

Maintenant qu'on a identifié le périphérique et le group on peu passthrought notre composant. Vous pouvez le faire via l'interface de Proxmox.

Ou en ajoutant dans le fichier de configuration du container dans /etc/pve/lxc/XXX.conf:

dev0: /dev/dri/renderD128,gid=104

Une fois cela fait vous pouvez relancer votre conteneur et normalement dans /dev/dri vous devriez retrouver votre périphérique en 660 avec root:render.

root@Jellyfin:/dev/dri# ll
total 0
crw-rw---- 1 root render 226, 128 Nov  7 12:11 renderD128
root@Jellyfin:/dev/dri# 

Installer l'accélération matériel :

Il faut installer le package opencl, pour vérifier si vous avez la bonne version faire un apt policy intel-opencl-icd. Il vous faut :

  • une version supérieur à 22.xx pour un gpu intégré au processeur.
  • une version supérieur à 23.xx pour une intel Arc

Si votre repo ne possède pas la bonne version vous pouvez les télécharger et installer à la main
les packages depuis github.

Dans mon cas il me faut aussi installer l'extension ffmpeg7 de jellyfin.

apt install jellyfin-ffmpeg7

Activation

Cela se passe dans le tableau de bord de Jellyfin dans l'interface web.

Résultat

Avec cette configuration, ma machine transcode un flux 4K en HEVC 10bit vers de l'AV1 4K à environ 180 fps. Ce qui est assez :p. En software malgré l'attribution de 20 coeur, je plafonnais a 15 fps.

Source

par Shionn, le 27 février 2025.

Commentaires

Ajouter un commentaire

Calendrier