Hardware transcoding (GPU)Transcodage matériel (GPU)

Optional. When a device cannot read a video, Jellyfin converts it; a graphics chip does it much faster than the processor.Facultatif. Quand un appareil ne sait pas lire une vidéo, Jellyfin la convertit ; une puce graphique le fait bien plus vite que le processeur.

Do you need it?En avez-vous besoin ?

Jellyfin converts a video only when a device cannot read it as is — an old TV, a weak connection away from home. A processor can do it, but slowly; a graphics chip (GPU) does it fast and cool. Optional: most homes never need it.Jellyfin ne convertit une vidéo que quand un appareil ne sait pas la lire telle quelle — une vieille TV, une connexion faible hors de la maison. Un processeur sait le faire, mais lentement ; une puce graphique (GPU) le fait vite et sans chauffer. Facultatif : la plupart des foyers n’en ont jamais besoin.

The conversion is done by Jellyfin: the GPU is given to the jellyfin service of the Tentacle + Jellyfin stack (or to the Jellyfin server you already run). The blocks are already in compose.yaml, as comments. After changing them: docker compose up -d, then turn it on in Jellyfin › Dashboard › Playback › Transcoding.La conversion est faite par Jellyfin : le GPU se donne au service jellyfin de la pile Tentacle + Jellyfin (ou au serveur Jellyfin que vous faites déjà tourner). Les blocs sont déjà dans compose.yaml, en commentaire. Après les avoir changés : docker compose up -d, puis activez-le dans Jellyfin › Tableau de bord › Lecture › Transcodage.

Intel (Quick Sync) and AMDIntel (Quick Sync) et AMD

compose.yaml
  jellyfin:
    devices:
      - /dev/dri:/dev/dri
    group_add:
      - "105"   # the id of your "render" group

The id of the render group depends on the system: getent group render | cut -d: -f3. Check that /dev/dri exists on the machine (ls -l /dev/dri).L’identifiant du groupe render dépend du système : getent group render | cut -d: -f3. Vérifiez que /dev/dri existe sur la machine (ls -l /dev/dri).

NVIDIANVIDIA

Install the NVIDIA Container Toolkit on the machine, then:Installez le NVIDIA Container Toolkit sur la machine, puis :

compose.yaml
  jellyfin:
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]

PodmanPodman

  • Intel/AMD with root: the same devices and group_add lines.Intel/AMD avec root : les mêmes lignes devices et group_add.
  • Intel/AMD rootless: your account must belong to render; the service gets userns_mode: keep-id and group_add: ["keep-groups"] (reported by the community, not yet verified by the project).Intel/AMD sans root : votre compte doit faire partie de render ; le service reçoit userns_mode: keep-id et group_add: ["keep-groups"] (rapporté par la communauté, pas encore vérifié par le projet).
  • NVIDIA: CDI instead of deploy — devices: ["nvidia.com/gpu=all"] (generate the spec with nvidia-ctk cdi generate).NVIDIA : CDI au lieu de deploy — devices: ["nvidia.com/gpu=all"] (générez la spécification avec nvidia-ctk cdi generate).

On a NASSur un NAS

Synology models with an Intel processor have Quick Sync: the /dev/dri block works the same way. On Unraid, install the Intel GPU TOP or Nvidia Driver plugin first.Les Synology à processeur Intel ont Quick Sync : le bloc /dev/dri marche de la même façon. Sur Unraid, installez d’abord le greffon Intel GPU TOP ou Nvidia Driver.

Questions you might haveLes questions qu’on se pose

How do I know it works?Comment savoir si ça marche ?

Play a video that needs converting (lower the quality in the player), then look at Jellyfin › Dashboard: the session shows the transcoding and its method. Tentacle’s Administration › Overview shows it too.

Lancez une vidéo qui doit être convertie (baissez la qualité dans le lecteur), puis regardez Jellyfin › Tableau de bord : la session montre le transcodage et sa méthode. Administration › Vue d’ensemble de Tentacle le montre aussi.

The video stays black or stuttersLa vidéo reste noire ou saccade

Usually a wrong render group id or a disabled option in Jellyfin’s Transcoding settings. Jellyfin’s logs (ffmpeg) name the cause.

Le plus souvent un mauvais identifiant de groupe render ou une option désactivée dans les réglages de transcodage de Jellyfin. Les journaux de Jellyfin (ffmpeg) nomment la cause.

Will HDR survive the conversion?Le HDR survit-il à la conversion ?

No: any re-encoding of an HDR video comes out in SDR. HDR and Dolby Vision only survive direct play — which is why direct play is always tried first.

Non : tout réencodage d’une vidéo HDR sort en SDR. Le HDR et le Dolby Vision ne survivent qu’à la lecture directe — c’est pourquoi la lecture directe est toujours tentée d’abord.

Still stuck?Toujours bloqué ?Look at Troubleshooting and the questions & answers, or write to us from the support page — or on Discord.Regardez le Dépannage et les questions-réponses, ou écrivez-nous depuis la page support — ou sur Discord.