FFmpeg intègre Whisper AI : Une révolution pour la transcription vidéo
Une nouvelle qui va ravir les professionnels du multimédia : FFmpeg, l'outil de traitement multimédia par excellence, vient d'intégrer Whisper AI d'OpenAI. Cette avancée majeure, que j'ai pu tester en avant-première, transforme radicalement le processus de transcription vidéo en l'intégrant directement dans notre workflow habituel.
Jusqu'à présent, la transcription nécessitait souvent de jongler entre plusieurs outils : extraire l'audio avec FFmpeg, le traiter avec un service de transcription externe, puis réintégrer les sous-titres. Désormais, tout se fait en une seule commande.
Cette fonctionnalité, introduite par le développeur Vittorio Palmisano le 17 juillet 2025 et intégrée par Michael Niedermayer le 8 août dernier, repose sur whisper.cpp, une version optimisée de Whisper qui fonctionne efficacement tant sur CPU que sur GPU.
Comment ça marche ?
L'intégration se présente sous forme d'un filtre audio dans FFmpeg, permettant de transcrire directement le flux audio d'une vidéo. Un des paramètres clés est "queue", qui définit la longueur du buffer audio avant transcription :
- Avec une valeur de 3 secondes (par défaut) : transcription plus réactive mais potentiellement moins précise
- Avec 10-20 secondes : précision accrue mais latence plus importante
Pour les volumes importants, le support GPU permet de décharger le travail sur la carte graphique, accélérant considérablement le processus. La détection d'activité vocale (VAD) peut également segmenter intelligemment l'audio en fonction des pauses dans le discours.
Le filtre peut générer des transcriptions au format SRT pour les sous-titres ou JSON pour l'intégration dans des services web, offrant une flexibilité remarquable selon vos besoins.
Comment l'utiliser ?
Pour compiler FFmpeg avec cette fonctionnalité, il suffit d'ajouter l'option --enable-whisper
lors de la configuration et de s'assurer que whisper.cpp est installé sur votre système. Voici un exemple de commande pour transcrire une vidéo :
./ffmpeg -i test.mp4 -vn -af "whisper=model=ggml-large-v3.bin:language=auto:queue=3:destination=whisper_output.srt:format=srt" -f null -
Cette commande transcrit la vidéo test.mp4 à l'aide du modèle large-v3, détecte automatiquement la langue, utilise un buffer de 3 secondes et génère un fichier de sous-titres au format SRT.
Pour ceux qui ne sont pas familiers avec la compilation, pas d'inquiétude : cette fonctionnalité sera disponible dans FFmpeg 8.0, dont la sortie est prévue dans les prochaines semaines.
Une démonstration convaincante
J'ai pu tester cette fonctionnalité sur plusieurs vidéos, et les résultats sont impressionnants. La précision de la transcription dépend bien sûr du modèle utilisé et de la qualité de l'audio, mais même avec le modèle de base, les résultats sont tout à fait exploitables.
La démonstration vidéo fournie avec l'annonce montre clairement la capacité de l'outil à transcrire et intégrer des sous-titres en temps réel, un gain de temps considérable pour les créateurs de contenu, les journalistes ou les documentalistes.
Un tournant pour FFmpeg et l'IA
Cette intégration marque un tournant pour FFmpeg qui sort de son rôle traditionnel de couteau suisse multimédia pour embrasser l'IA qui visiblement devient suffisamment mature pour être intégrée nativement dans nos outils de base.
En tant que développeur travaillant régulièrement avec des contenus multimédias, je vois cette évolution comme une étape cruciale vers des workflows plus efficaces. La barrière entre le traitement multimédia traditionnel et les capacités d'IA s'estompe, ouvrant la voie à des applications toujours plus puissantes et accessibles.
Avec l'arrivée de FFmpeg 8.0 dans les prochaines semaines, nous pourrons tous profiter de cette fonctionnalité sans avoir à compiler l'outil nous-mêmes. Une raison de plus d'attendre avec impatience cette nouvelle version qui promet de révolutionner notre façon de travailler avec les contenus audiovisuels.