---
title: HandBrake Web
created: 2026-06-08
updated: 2026-06-08
type: app
tags: [catalogue, file-conversion, video, transcoding, app-marathon-batch-rattrapage-3]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=File+Conversion, https://handbrake.fr]
---

# 🔄 HandBrake Web

> **Transcodage vidéo self-hosted** : interface web pour le célèbre HandBrake, encodage H.264/H.265/AV1 par lot depuis le navigateur.

## 📋 Informations Génériques

| Champ | Valeur |
| :--- | :--- |
| **Site web** | [handbrake.fr](https://handbrake.fr) (CLI) |
| **GitHub** | [TheNickOfTime/handbrake-web](https://github.com/TheNickOfTime/handbrake-web) |
| **License** | MIT |
| **Langage** | TypeScript (wrapper sur HandBrake CLI) |
| **Étoiles GitHub** | 1.5k ⭐ (web wrapper) |
| **Catégorie** | [[cat-file-conversion|File Conversion]] |

## 📝 Description

**HandBrake Web** est une **interface web** pour le célèbre **HandBrake CLI** (encodeur vidéo open source de référence). Encodage H.264, H.265, VP9, AV1, avec presets pour Apple/Android/Roku/PS, support des sous-titres, filtres, et **traitement par lot** depuis une UI web accessible à toute la famille.

**Différence avec ConvertX** : ConvertX convertit entre **de nombreux formats** (images, documents, audio, vidéo, archives) — un "Swiss Army knife". HandBrake Web est **spécialisé vidéo** mais fait le transcodage bien plus finement (deux passes, CRF, filtres déinterlace, etc.).

**Différence avec FileFlows** : FileFlows est un **pipeline** (scan folder, watch, post-processing, règles) ; HandBrake Web est un outil **one-shot / batch** plus simple.

**Pour qui** : archivistes vidéo, familles, homelabbers qui rippent/convertissent des vidéos occasionnellement.

## 🚀 Installation

### Docker Compose (recommandé)

```yaml
version: '3.8'
services:
  handbrake-web:
    image: thedarklord/handbrake-web:latest
    container_name: handbrake-web
    restart: unless-stopped
    ports:
      - "8088:8080"
    environment:
      - HANDBRAKE_PATH=/usr/bin/HandBrakeCLI
      - WATCH_ENABLED=true
      - WATCH_DIR=/watch
    volumes:
      - handbrake-config:/config
      - /chemin/vers/films:/watch:ro
      - /chemin/vers/output:/output
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.handbrake.rule=Host(`encode.example.com`)"
      - "traefik.http.routers.handbrake.entrypoints=websecure"
      - "traefik.http.routers.handbrake.tls.certresolver=letsencrypt"
      - "traefik.http.routers.handbrake.middlewares=authelia@docker"

volumes:
  handbrake-config:
```

## 🔄 Alternatives

### Open Source
- [[app-convertx]] — Multi-formats (vidéo, audio, doc, image)
- [[app-fileflows]] — Pipeline automatisé
- [[app-transmute]] — Transcodage vidéo via CLI/web
- [[app-vert]] — Multi-formats léger

### Propriétaires
- **HandBrake desktop** — Même CLI, UI native (pas serveur)
- **XMedia Recode** — Windows seulement

## 🔐 Sécurité
- **GPU passthrough** : `--gpus all` + `/dev/dri:/dev/dri` pour NVENC/QSV, accélération x10-x20.
- **Watch folder** : monter en `:ro` pour éviter l'exécution sur fichier arbitraire.
- **Auth obligatoire** : HandBrake Web a une UI admin — protéger par Authelia/Authentik en exposition publique.
- **Pas de sandboxing** : HandBrake exploite des CVE sur les codecs — limiter l'input à des sources de confiance.

## 📚 Ressources
- [HandBrake CLI docs](https://handbrake.fr/docs/)
- [HandBrake Web GitHub](https://github.com/TheNickOfTime/handbrake-web)
- [HandBrake presets](https://handbrake.fr/docs/latest/technical/official-presets.html)

## Pages Liées
- [[cat-file-conversion]] — Catégorie Conversion
- [[app-convertx]] — Multi-formats
- [[app-fileflows]] — Pipeline
- [[recettes-docker-compose]] — Templates Docker
