Docker: Transcodificación por hardware en Jellyfin
2020-04-13
Índice
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.
Para finalizar debemos de reiniciar el contenedor para que los cambios tengan efecto.
Espero que te haya gustado, pasa un buen día… 🐧