ffmpeg-web · Architecture
Parti d'un besoin simple : transcoder des vidéos avec le GPU de la machine locale. Arrivé à un service web complet avec file d'attente, annulation, authentification OAuth et protection contre les abus. En Python, dans un container Docker.
Accéder au service →🔒 Accès restreint
Architecture
Un backend Python/FastAPI expose une API REST pour créer, suivre et annuler des jobs FFmpeg. Chaque job passe par un asyncio.Semaphore avant d'accéder au GPU — garantissant au plus N encodages simultanés. L'état de chaque job est persisté dans SQLite. Tout tourne dans un container Docker avec accès aux drivers NVIDIA.
Couches applicatives
Points techniques
Accélération GPU NVIDIA
File d'attente par asyncio.Semaphore
Timeouts par kill-timer thread
Annulation en direct
Sécurité multicouche
Suivi de progression temps réel
Pipeline de jobs SQLite
Source URL
Capture HDMI en direct
Ce que ça démontre
Encodage GPU · File d'attente · Auto-hébergé
🔒 Accès restreint