Docker: Transcodificación por hardware en Jellyfin

2 minutos de lectura

Si estás utilizando docker para desplegar tu servidor multimedia Jellyfin quizás no sepas que puedes utilizar la aceleración por hardware (HWA) para de codificación/decodificación de video usando FFMpeg.

FFMpeg y Jellyfin pueden soportar múltiples implementaciones de aceleración por hardware como Intel Quicksync (QSV), AMD AMF, nVidia NVENC/NVDEC, OpenMax OMX y MediaCodec a través de API’s de aceleración de vídeo.

S.O. Aceleración por HW Recomendada
Linux QSV, NVENC, VAAPI
Windows QSV, NVENC, AMF, VAAPI
MacOS None (videotoolbox support coming)
Android MediaCodec, OMX
RPi OMXç

Habilitando la aceleración por hardware

Docker

Para utilizar la aceleración por hardware en Docker, los dispositivos deben pasarse al contenedor.

Para ver qué dispositivos de vídeo están disponibles en nuestro sistema, ejecutamos sudo lshw -c video

Las GPU NVIDIA actualmente no son compatibles con docker-compose.

En mi equipo tengo disponible la aceleración por QSV

1/dev/dri/renderD128
2/dev/dri/card0

Le pasamos el dispositivo al contenedor para su despliegue

 1docker create \
 2       --name=jellyfin \
 3       -e PUID=1000 \
 4       -e PGID=1000 \
 5       -e TZ=Europe/Madrid \
 6       -p 8096:8096 \
 7       -v /srv/jellyfin/config/:/config \
 8       -v /srv/jellyfin/cache:/cache \
 9       --net=host \
10       --restart always \
11       --device /dev/dri/renderD128:/dev/dri/renderD128 \
12       --device /dev/dri/card0:/dev/dri/card0 \
13       jellyfin/jellyfin:latest

En caso de tener una tarjeta nvidia deberás de seguir las instrucciones del siguiente enlace.

Jellyfin

También debemos de configurar Jellyfin para que realice la transcodificacion, desde el panel de control, en el menú Reproducción elegimos el tipo de aceleración por hardware que vamos a utilizar y el dispositivo que la va a realizar.

Para finalizar debemos de reiniciar el contenedor para que los cambios tengan efecto.

Espero que te haya gustado, pasa un buen día… :penguin:

Referencia

https://jellyfin.org/docs/general/administration/hardware-acceleration.html