Eerder heb ik al geschreven over Handbrake. Ik encodeer tegenwoordig al mijn media in HEVC (met H.265 codec) voor een flink besparing in harddisk-opslag met minimaal verlies in beeld kwaliteit.
Aangezien ik tegenwoordig zoveel mogelijk software/services in een Docker container wil hebben was Handbrake een van de laatste applicaties die ik nog native draaide. Nu is hiervan ook een Docker container en dit werkt erg goed. Het installeren gaat eenvoudig door een ‘docker-compose.yml’ file. Ik heb hierin het volgende staan.
services:
handbrake:
image: jlesage/handbrake
container_name: handbrake
ports:
- "5800:5800"
restart: unless-stopped
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
limits:
cpus: 3
memory: 8G
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Amsterdam
- DARK_MODE=1
- WEB_FILE_MANAGER=1
- WEB_FILE_MANAGER_ALLOWED_PATHS=ALL
volumes:
- "./data:/config:rw"
- "./storage:/storage:ro"
- "./watch:/watch:rw"
- "./output:/output:rw"
- /mnt:/mnt
- /tmp:/tmp
devices:
- /dev/dri:/dev/dri
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:5800/"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
Op dit moment wordt met deze Docker container de NVIDIA videokaart niet gebruikt voor encoding maar de Intel GPU wel. Hiervoor moet je in de [Devices] sectie even ‘/dev/dri:/dev/dri’ toevoegen. Er is ook een Docker container waar NVIDIA wel ondersteund wordt, maar die loopt wat achter qua versies van Handbrake. Hopelijk wordt dit binnenkort bij deze Docker container nog goed toegevoegd.
Na het opstarten van de container met ‘docker compose up -d’ is Handbrake beschikbaar op de volgende URL:
http://localhost:5800
Het hoofdscherm ziet er als volgt uit nadat je media hebt geladen met [Open Source].
Zie de documentatie van de Docker container wat je nog allemaal kunt instellen. Voor alle mogelijkheden van Handbrake zelf verwijs ik je door naar de officiele documentatie van Handbrake zelf.