ffmpeg-web · Architecture

Un service d'encodage vidéo. Accéléré GPU.
Auto-hébergé, conteneurisé, sécurisé.

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

ffmpeg-web

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.

Python FastAPI asyncio SQLite FFmpeg NVIDIA CUDA NVENC Docker HTML/CSS/JS OAuth
FastAPI
asyncio.Semaphore
SQLite
Docker + NVIDIA
Interface ffmpeg-web
Interface : soumission d'un job, file d'attente et résultat côte à côte.

Ce qui est notable

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

asyncio.Semaphore
subprocess + threading
FastAPI + SQLite
Protection SSRF
Docker + NVIDIA
Vanilla JS sans framework
Sécurité à plusieurs niveaux
Source URL
Capture V4L2

Ouvrir encode.loirette.net

Encodage GPU · File d'attente · Auto-hébergé

🔒 Accès restreint