Docker: Jellyfin y Aceleración por hardware VAAPI

2020-08-03

Ya escribí un articulo donde explicaba como tener aceleración por hardware para la transcodificación de vídeo usando FFMPpeg en un contenedor docker de Jellyfin, en ese articulo expliquó como utilizar Intel Quicksync para ello.

El rendimiento no fue el esperado, es verdad que utilizaba la transcodificacion y que la reproducción de vídeo era algo mas fluida pero como digo, no me terminaba de convencer, así que despuós de bucear por Reddit, recomendaban utilizar VAAPI para la transcodificacion.

Si ya creaste el contenedor siguiendo las instrucciones del anterior articulo puedes saltar al punto de la configuración, si no, o es la primera vez que lees esta serie de artículos, deberás comprobar que dispositivos de vídeo tienes disponibles:

sudo lshw -c video

Y para la creación del contenedor has de pasarle los parámetros:

--device /dev/dri/renderD128:/dev/dri/renderD128 \
--device /dev/dri/card0:/dev/dri/card0 \

Creación del contenedor

Cuando tengas claro que dispositivos de vídeo tienes disponibles en tu sistema, podemos crear el contenedor, en vez de utilizar la imagen oficial, utilizaró la de Linuxserver:

docker create \
  --name=jellyfin-ls \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Europe/Madrid \
  -p 8096:8096 \
  -v /srv/jellyfin-ls/config/:/config \
  -v /srv/jellyfin-ls/cache:/cache \
  --device /dev/dri/renderD128:/dev/dri/renderD128 \
  --device /dev/dri/card0:/dev/dri/card0 \
  --restart always \
  linuxserver/jellyfin:amd64-latest

Habilitando la aceleración

Para terminar debemos de configurar la aceleración por hardware, con un usuario con privilegios de administrador, entramos en el Panel de Control -> Reproducción -> Video Acceleration API (VAAPI) y selecciona tu dispositivo VAAPI

Verificando el funcionamiento

Para comprobar que utilizamos las librerías correctas podemos examinar el log del programa, que podemos encontrar en Avanzaco -> Registros y buscar un log con la entrada ffmpeg-transcode-xxxx

Y buscamos la cadena de texto Stream mapping

En la captura de pantalla vemos que cuando se realiza la transcodificación esta utilizado VAAPI

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

Ingrese la dirección de su instancia


Más publicaciones como esta

Adiós a Google Analitycs con umami

2021-07-12 | #docker

En este artículo escribí como tener una alternativa Open Source a Google Analitycs para tu blog o sitio web, tambión escribí que para mi Shynet no era una alternativa realmente válida ya que te ofrecía la posibilidad de poder guardar las direccione IP de tus visitantes, cosa que no cumple con la GDPR y edja a tu criterior hacer uso o no de esta característica.

Continuar leyendo 