Docker: Transcodificación por hardware en Jellyfin

2020-04-13

Índice

  1. Habilitando la aceleración por hardware
    1. Docker
    2. Jellyfin
  2. Referencia

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.

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

En mi equipo tengo disponible la aceleración por QSV

/dev/dri/renderD128
/dev/dri/card0

Le pasamos el dispositivo al contenedor para su despliegue

docker create \
       --name=jellyfin \
       -e PUID=1000 \
       -e PGID=1000 \
       -e TZ=Europe/Madrid \
       -p 8096:8096 \
       -v /srv/jellyfin/config/:/config \
       -v /srv/jellyfin/cache:/cache \
       --net=host \
       --restart always \
       --device /dev/dri/renderD128:/dev/dri/renderD128 \
       --device /dev/dri/card0:/dev/dri/card0 \
       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.

img

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

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

Referencia


Ingrese la dirección de su instancia