Eerder heb ik TDarr besproken om automatisch video-files te converteren naar HEVC. Dit scheelt vaak de helft in opslag zonder zichtbaar kwaliteitsverlies.
De laatste tijd heb ik echter nogal eens issues met TDarr dat hij bepaalde bestanden niet wilt converteren terwijl dit met Handbrake wel werkt. Ik ben daarom eens gaan rondkijken voor alternatieven voor TDarr en ben uitgekomen op FileFlows. Behalve video files kan deze ook Audio, Images, Archives, Comics en nog veel meer converteren via zogenaamde Flows. Hiervan zijn er een aantal standaard aanwezig die je kunt tweaken, maar je kunt ze ook helemaal zelf opzetten. Erg handig is de mogelijkheid om automatisch ondertitels te extracten.
De installatie is beschikbaar voor erg veel systemen. Ik gebruik de vertrouwde Docker manier. Je kunt op de site de ‘docker-compose.yml’ file voor je laten genereren. Bij mij ziet de ‘docker-compose.yml’ file er als volgt uit:
services:
fileflows:
image: revenz/fileflows
container_name: fileflows
restart: unless-stopped
runtime: nvidia
ports:
- "19200:5000"
environment:
- TempPathHost=/tmp
- BROWSER_START_DIR=/mnt
- TZ=Europe/Amsterdam
- NVIDIA_DRIVER_CAPABILITIES=compute,video,utility
- NVIDIA_VISIBLE_DEVICES=all
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- /tmp:/temp
- ./data:/app/Data
- ./log:/app/Logs
- /mnt/:/mnt
healthcheck:
test: ["CMD", "curl", "--silent", "--fail", "http://localhost:5000/"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
Plaats de ‘docker-compose.yml’ file in een directory en start deze op met het commando ‘docker compose up -d’. Hierna zal de web-applicatie beschikbaar zijn op:
hptt://localhost:19200
Als eerste moet je een wizard doorlopen waarbij de stappen zichzelf wijzen:
Je krijgt tenslotte het Dashboard van FileFlows te zien:
Ik heb als eerste bij ‘Libraries’ een directory (de download directory van Sonarr) ingesteld die nu door FileFlows in de gaten wordt gehouden en waarbij de files in HEVC formaat worden geconverteerd en eventueel aanwezig Nederlandse ondertitels apart worden opgeslagen in SRT formaat.
Ik heb het standaard template ‘Convert to HEVC’ aangepast dat deze ook nog Nederlands ondertitel uit de Video files haalt:
Je kunt de meeste zaken fine-tunen naar jouw behoeften. Voor simpel gebruik heb je aan de gratis versie voldoende, maar als je nog meer wilt kunnen tunen en statistieken wilt zien dan kun je een ‘Personal’ license aanschaffen die je per maand of jaarlijks betaald. Een erg mooi betaalde optie is ‘Video Encode Optimize’ waarmee je je bestaande collectie kunt checken of er nog meer harddisk-space winst is te behalen.
Ik heb nu een tijdje met FileFlows gewerkt en ik moet zeggen dat het erg prettig en stabiel werkt. De NVIDIA kaart wordt goed ondersteund, het werkt snel en de resultaten zijn goed. De documentatie is ook erg goed geregeld en er is veel support aanwezig. Dit is een waardige vervanger van TDarr voor mij.
Update 27 september 2026
Aangezien ik ondertussen een grote lijst van files heb verwerkt met Fileflows, merkte ik dat dit voor SQLite “te zwaar” werd. Ik had hierdoor constant idle CPU load. Dit kun je oplossen door een “echte” database te gebruiken. Ik heb hiervoor MySQL gebruikt. Pas hiervoor de ‘docker-compose.yml’ file als volgt aan:
services:
fileflows:
image: revenz/fileflows
container_name: fileflows
restart: unless-stopped
runtime: nvidia
ports:
- "19200:5000"
environment:
- TempPathHost=/tmp
- BROWSER_START_DIR=/mnt
- TZ=Europe/Amsterdam
- NVIDIA_DRIVER_CAPABILITIES=compute,video,utility
- NVIDIA_VISIBLE_DEVICES=all
deploy:
resources:
limits:
cpus: 3
memory: 18G
reservations:
memory: 16G
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- /tmp:/temp
- ./data:/app/Data
- ./log:/app/Logs
- /mnt/:/mnt
healthcheck:
test: ["CMD", "curl", "--silent", "--fail", "http://localhost:5000/"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
depends_on:
- fileflows-db
fileflows-db:
image: mariadb:latest
container_name: fileflows-db
restart: always
environment:
MYSQL_ROOT_PASSWORD: GenereerZelf
MYSQL_DATABASE: FileFlows
MYSQL_USER: fileflows
MYSQL_PASSWORD: GenereerZelf
volumes:
- ./mariadb/data:/var/lib/mysql
ports:
- "6306:3306"
Vul vervolgens bij Fileflows > Settings > Database het volgende in (pas Server adres aan naar jouw IP adres aan waarop FileFlows draait):
Met de [Test] button kun je kijken of de database verbinding goed werkt. Indien dit het geval is dan kun je de instellingen met de [Save] button opslaan en FileFlows opnieuw opstarten. De gegevens van SQLite worden dan naar de restart migreert naar de MySQL database. Ik merkte meteen verschil en had bijna geen idle CPU verbruik meer.