FFmpeg

 
 

Cadre de traitement multimédia open source

Encodez, décodez, transcodez, diffusez & convertissez les fichiers audio et vidéo via l'API FFmpeg.

Qu'est-ce que FFmpeg?

FFmpeg est un cadre multimédia open source de premier plan qui permet aux développeurs d'enregistrer, de convertir et de diffuser du contenu audio et vidéo. Il comprend un ensemble complet de bibliothèques — telles que libavcodec, libavformat, libavutil, libavfilter, libswscale et libswresample — offrant des outils robustes pour gérer diverses tâches multimédias. Avec la prise en charge de centaines de codecs et de formats, FFmpeg alimente d'innombrables applications, des logiciels de montage vidéo aux serveurs de streaming et aux lecteurs multimédias.

FFmpeg est largement adopté dans de nombreux secteurs grâce à sa flexibilité, ses performances et le soutien actif de sa communauté. Il gère tout, de la conversion de formats simples au filtrage vidéo complexe et à la diffusion en temps réel. Que vous construisiez un serveur multimédia, un lecteur de bureau ou une chaîne de transcodage basée sur le cloud, FFmpeg offre des capacités de traitement fiables et de haute qualité. Ses outils en ligne de commande tels que ffmpeg, ffplay et ffprobe facilitent l'intégration dans les scripts et les flux de travail automatisés, tandis que son API C et ses liaisons (par ex. pour Python) permettent un contrôle programmatique approfondi.

Previous Next

Premiers pas avec FFmpeg

Pour commencer à utiliser FFmpeg, installez-le via le gestionnaire de paquets de votre système (par ex., `apt install ffmpeg` sur Ubuntu, `brew install ffmpeg` sur macOS) ou téléchargez les binaires précompilés depuis le site officiel. Pour une utilisation programmatique, installez l’enveloppe Python via `pip install ffmpeg-python` ou utilisez les en-têtes de la bibliothèque C officielle. FFmpeg est également disponible sur GitHub à [FFmpeg GitHub](https://github.com/FFmpeg/FFmpeg), où vous pouvez compiler à partir du code source pour des configurations personnalisées. Son empreinte légère et son support multiplateforme en font un choix idéal pour les déploiements sur ordinateur de bureau, serveur et embarqué.

Installer FFmpeg via les gestionnaires de paquets

# Ubuntu/Debian
sudo apt update && sudo apt install ffmpeg

# macOS (Homebrew)
brew install ffmpeg

# Python wrapper
pip install ffmpeg-python

Convertir des médias entre formats

FFmpeg excelle dans la conversion de fichiers multimédias entre des centaines de formats et de codecs. Vous pouvez transcodifier une vidéo de MP4 en WebM, extraire l’audio des fichiers vidéo, ou changer les formats de conteneur sans réencodage (copie de flux). Ses paramètres par défaut intelligents garantissent une haute qualité, tandis que les options avancées vous permettent d’ajuster finement le débit binaire, la résolution, la fréquence d’images et les paramètres du codec. Que vous prépariez du contenu pour le streaming web, l’archivage ou la lecture sur des appareils spécifiques, FFmpeg offre un contrôle précis sur la qualité de sortie et la compatibilité. L’interface en ligne de commande prend en charge des chaînes de filtres complexes pour le redimensionnement, le recadrage et l’application d’effets lors de la conversion.

Comment convertir MP4 en WebM avec FFmpeg?

ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 -c:a libopus output.webm

Diffusion en temps réel et diffusion en direct

FFmpeg prend en charge l'ingestion, le transcodage et la diffusion en direct de médias via des protocoles tels que RTMP, HLS et SRT. Il peut capturer depuis des webcams, des microphones ou des sources réseau et pousser les flux vers des plateformes comme YouTube, Twitch ou des serveurs RTMP personnalisés. Avec des options à faible latence et la diffusion en continu à débit adaptatif, FFmpeg alimente les pipelines de diffusion en direct pour les événements, les jeux et la surveillance. Sa capacité à gérer plusieurs entrées, superposer des graphiques et appliquer des filtres en temps réel le rend idéal pour des configurations de streaming de qualité professionnelle. Vous pouvez également segmenter la sortie pour DASH/HLS afin d'assurer une lecture adaptative sur les clients mobiles et web.

Comment diffuser un fichier vidéo sur YouTube Live ?

ffmpeg -re -i input.mp4 -c:v libx264 -preset veryfast -maxrate 3000k -bufsize 6000k -g 50 -c:a aac -b:a 160k -f flv "rtmp://a.rtmp.youtube.com/live2/your_stream_key"

Filtrage vidéo et post-traitement

Le framework libavfilter de FFmpeg permet un filtrage vidéo en temps réel puissant via un graphe acyclique dirigé de filtres. Vous pouvez recadrer, redimensionner, faire pivoter, désentrelacer, réduire le bruit, superposer des filigranes, ajouter du texte, ajuster les couleurs et appliquer des effets complexes comme le ralenti ou le time‑lapse — le tout sans ré‑encoder l’ensemble du flux. Les filtres peuvent être enchaînés pour un traitement à plusieurs étapes, et l’accélération matérielle (par ex., NVENC, VAAPI, VideoToolbox) garantit des performances sur les GPU modernes. Cela rend FFmpeg indispensable pour les monteurs vidéo, les créateurs de contenu et les développeurs qui construisent des pipelines de traitement multimédia nécessitant des améliorations visuelles ou une normalisation des formats.

Comment recadrer, redimensionner et ajouter un filigrane à une vidéo ?

ffmpeg -i input.mp4 -i watermark.png -filter_complex "[0:v]crop=1280:720:0:0[scaled];[scaled][1:v]overlay=10:10" -c:a copy output.mp4

Extraire et manipuler les métadonnées et les sous-titres

FFmpeg offre un contrôle complet sur les métadonnées (tags) et les sous-titres intégrés dans les fichiers multimédias. Vous pouvez extraire, modifier ou supprimer les métadonnées (par ex., titre, artiste, album, données GPS) à l'aide de commandes simples, ou convertir les sous-titres entre des formats tels que SRT, ASS et VTT. Il prend en charge l'incrustation des sous-titres dans la vidéo ou leur intégration en tant que pistes séparées. Pour les flux de travail d'accessibilité et de localisation, FFmpeg permet le traitement par lots des fichiers de sous-titres, les ajustements de synchronisation et la gestion des pistes linguistiques. Cela le rend idéal pour la localisation de sous-titres, la gestion des actifs multimédias et la conformité aux normes de diffusion exigeant des métadonnées intégrées.

Comment extraire les sous-titres d'un fichier vidéo ?

ffmpeg -i input.mkv -map 0:s:0 -c:s srt output.srt
 Français