Ir al contenido
  1. Archivo/

Handbrake en tu servidor NAS

·360 palabras·2 mins

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
   feature: 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

img

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:

img

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)

img

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.