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

Synology: Dashboard Homarr

2023-02-13 | #docker

Introducción Homarr es un tablero o dashboard ligero donde centralizar servicios y enlaces para tu servidor. También se integra perfectamente con otros servicios como pueden ser docker, clientes torrent como qBittorrent, aplicaciones -arr como Radarr, etc. Después de probar varios tableros para mi servidor, me decidi por Homarr precisamente por esa integración, sobre todo por el ecosistema -arr (prowlarr, radarr, etc) Despliegue La instalación de Homarr es muy sencilla, si utilizas portainer puedes crear un stack y copiar el siguiente código

Continuar leyendo 


Synology: Transcodificación por hardware en Jellyfin

2023-01-30 | #docker #jellyfin

En este artículo publiqué como activar la transcodificación por hardware en un contenedor de Jellyfin, pero a la hora de activarla mediante docker en mi NAS Synology, modelo 920+, no funcionaba, más por culpa de Jellyfin que de Synology. Después de leer y buscar por la red, básicamente encontré dos soluciones, la primera era utilizando la imagen oficial proporcionada por Jellyfin, exportar la configuración en un fichero json, modificarlo y volver a crear el contenedor con esa nueva configuración.

Continuar leyendo 