Handbrake en tu servidor NAS
2021-06-14
Índice
En anteriores artículos hemos visto varios programas para poder transcodificar vídeos en nuestro servidor NAS, pero si los anteriores programas no te convencen o no son de tu agrado, tenemos otra solución, handdrake, el famoso software de transcodificación de vídeo multiplataforma y open source.
Haciendo uso de docker podemos instarlo en nuestro servidor (Synology, Raspberry, minipc, etc)
Docker
Podemos hacer la instalación utilizando la imagen de jlesage/handbrake
docker run -d \
--name=handbrake \
-p 5800:5800 \
-p USER_ID = 100
-p GROUP_ID = 101
-v /volume1/docker/handbrake/:/config:rw \
-v /volume1/video:/storage:ro \
-v /volume1/descargas/input:/watch:rw \
-v /volume1/descargas/output:/output:rw \
jlesage/handbrake
Docker-Compose
Si prefieres hacerlo con docker-compose
version: '3'
services:
handbrake:
container_name: tdarr
image: jlesage/handbrake
build: .
ports:
- "5800:5800"
volumes:
- "/volume1/docker/handbrake/:/config:rw"
- "/volume1/video:/storage:ro"
- "/volume1/descargas/input:/watch:rw"
- "/volume1/descargas/output:/output:rw"
environment:
- TZ=Europe/Madrid
- USER_ID=1026
- GROUP_ID=100
Ahora solo necesitas abrir tu navegador web favorito en el puerto 5800 o en el que hayas configurado para poder empezar a trabajar con handdrake
Esta es una configuración bastante sencilla pero en el repositorio de jlesage/handbrake puedes ver todas las opciones disponibles
Tambión está disponible un modo totalmente automatizado: colocas los archivos en una carpeta de vigilancia y handdrake los procesa automáticamente.
QSV
Si dispones de un procesador Intel puedes utilizar Intel Quick Sync Video ya que handdrake pueda utilizar QSV, el dispositivo /dev/dri
debe estar expuesto al contenedor. Esto se hace agregando el parámetro --device/dev/dri
al comando docker run
.
docker run -d \
--name=handbrake \
-p 5800:5800 \
-p USER_ID = 1026
-p GROUP_ID = 101
-v /volume1/docker/handbrake/:/config:rw \
-v /volume1/video:/storage:ro \
-v /volume1/descargas/input:/watch:rw \
-v /volume1/descargas/output:/output:rw \
--device /dev/dri/renderD128:/dev/dri/renderD128 \
--device /dev/dri/card0:/dev/dri/card0 \
jlesage/handbrake
Cuando QSV está habilitado correctamente, handdrake ofrece el siguiente codificador de vídeo:
Si este codificador no aparece en la lista, puede que necesites alguna configuración adicional, como ejecutar el contenedor con permisos root (USER_ID = 0)
Tambión podemos dar en el host permisos de lectura/escritura para todos en el dispositivo /dev/dri
:
sudo chmod a + wr /dev/dri/*
O cambiar en el host el grupo que posee el dispositivo /dev/dri
. Por ejemplo, para cambiar el grupo a video:
sudo chown root:video /dev/dri /*
Espero que te haya gustado, pasa un gran día.