FFmpeg est un projet logiciel gratuit et open-source composé d'une vaste suite de bibliothèques et de programmes pour gérer la vidéo, l'audio et d'autres fichiers et flux multimédias. Il s'agit d'un ensemble d'outils multiplateformes qui fonctionnent sur Mac (OSX), Linux et Windows. Cet article couvre l'installation de FFmpeg et les exemples de commandes les plus couramment utilisés pour obtenir des informations vidéo, couper et diviser des fichiers vidéo, convertir des vidéos en différents formats, y compris des images, gérer l'audio, les sous-titres et bien plus encore.
Installation du framework multimédia FFmpeg
L'installation de FFmpeg est un processus simple et facile pour la plupart des systèmes d'exploitation courants.
Ubuntu
Pour installer FFmpeg sur la dernière version d'Ubuntu Linux, utilisez les commandes suivantes :
sudo apt-get update
sudo apt install ffmpeg -y
OSX
Si vous souhaitez installer FFmpeg sur votre Mac, utilisez le gestionnaire de packages Homebrew :
brew update && brew upgrade ffmpeg
Windows
Pour installer FFmpeg sur Windows, utilisez Chocolatey :
choco install ffmpeg
Les commandes FFmpeg les plus utiles
Maintenant, dès que vous avez installé FFmpeg, nous pouvons passer aux exemples de commandes les plus couramment utilisés.
Pour les besoins de cet article, nous utiliserons des exemples de fichiers vidéo gratuits.
Obtenir des informations sur le fichier vidéo
Pour obtenir des informations détaillées sur le fichier vidéo, exécutez la commande suivante :
ffmpeg -i sample-mp4-file.mp4 -hide_banner
Le -hide_banner
l'argument masque les informations de copyright.
Découper la vidéo en petits clips
FFmpeg a une capacité qui vous permet de découper la vidéo en petits morceaux.
Nous allons utiliser les arguments suivants :
-ss
le paramètre spécifie les s temps de tarte s tamponnezHH:MM:SS.ms
format-t
argument spécifie la durée finale du clip (t ime) en secondes-codec copy
– le paramètre copierait tous les flux sans réencodage
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-ss 00:01:00.0 \
-codec copy \
-t 20 \
OutputVideo.mp4
Diviser le fichier vidéo en plusieurs parties
Utilisez la commande ci-dessous pour diviser une vidéo en deux parties ou plus.
Dans notre exemple, nous divisons le fichier en deux parties :
- La première partie dure 30 secondes depuis le début du fichier (
-t
arguments) - La deuxième partie contiendra les données vidéo de la 50e seconde jusqu'à la fin du fichier (
-ss
arguments)
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-t 00:00:30 \
-c copy OutputVideo-1.mp4 \
-ss 00:00:50 \
-codec copy \
OutputVideo-2.mp4
Mettre le son en sourdine
Utilisez la commande suivante pour désactiver l'audio du fichier vidéo de sortie :
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-an OutputVideo.mp4
Extraire l'audio de la vidéo
Vous pouvez extraire l'audio de la vidéo en exécutant la commande :
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-vn \
-ac 2 \
-ab 187 \
-f mp3 \
Audio.mp3
Ici, nous utilisons les options suivantes :
-vn
désactive l'enregistrement vidéo dans le fichier de sortie-ac
définit le nombre de a audio c canaux-ab
définit un audio b itrate jusqu'à 187 Ko/s- -f définit un format de sortie sur mp3
Fusionner l'audio et la vidéo
Utilisez la commande suivante pour ajouter une piste audio au fichier vidéo :
ffmpeg -i Audio.mp3 -i sample-mp4-file.mp4 \
-hide_banner \
OutputVideo.mp4
Convertir une vidéo en images
Utilisez la commande ci-dessous pour convertir la vidéo en images :
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
image%d.jpg
Convertir des images en vidéo
Toutes les images peuvent être converties en vidéo :
ffmpeg -f image2 -i image%d.jpg \
-hide_banner \
OutputVideo.mp4
Essayez d'ajouter vous-même de l'audio au clip final.
Convertir MP4 en FLV
Exécutez la commande illustrée ci-dessous pour convertir un fichier vidéo au format MP4 au format FLV :
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-vn \
-ac 2 \
-ab 187 \
-f flv \
OutputVideo.flv
Convertir FLV en MPG
Exécutez la commande ci-dessous pour convertir le fichier vidéo au format FLV au format MPG :
ffmpeg -i OutputVideo.flv -hide_banner \
OutputVideo.mpg
Convertir MPG en FLV
Copiez la commande illustrée ci-dessous pour convertir le fichier vidéo au format MPG en FLV :
ffmpeg -i OutputVideo.mpg -hide_banner \
-ab 26k \
-f flv \
OutputVideo.flv
Convertir une vidéo en GIF animé
Pour convertir un fichier vidéo en fichier gif animé, utilisez la commande :
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
Output.gif
Convertir au format CD/DVD
Utilisez -target
type pour créer un fichier de sortie au format CD vidéo ou DVD.
Le type de cible prend en charge vcd
, svcd
, dvd
, dv
et dv50
formats qui peuvent être préfixés par pal-
, ntsc-
ou film-
pour utiliser la norme correspondante :
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-target film-vcd \
vcd_video.mpg
Insérer des sous-titres
Créons un fichier de sous-titres de démonstration (plus d'informations sur les sous-titres) :
cat << EOF > subtitles.srt
1
00:00:00,000 --> 00:00:20,000
This is demo subtitle 1
2
00:00:20,000 --> 00:00:40,000
This is demo subtitle 2
EOF
Vous pouvez ajouter un fichier de sous-titres au fichier vidéo en ajoutant un fichier de sous-titres séparé à la commande :
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-i subtitles.srt \
-c copy \
-c:s mov_text \
OutputVideo.mp4
Si vous souhaitez afficher des sous-titres dans la vidéo :
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-vf subtitles=subtitles.srt \
OutputVideo.mp4
Extraire les sous-titres
Pour extraire les sous-titres du fichier vidéo, vérifiez quel flux vous devez utiliser en premier :
ffmpeg -i OutputVideo.mp4
La sortie indique que les sous-titres sont disponibles dans le fichier au flux #0:2
.
Maintenant, nous pouvons les extraire en utilisant la commande suivante :
ffmpeg -i OutputVideo.mp4 -hide_banner \
-map 0:2 subtitles.srt
Où -map 0:2
spécifie le flux requis.
Faire pivoter la vidéo
Et enfin, voici une commande pour faire pivoter le clip vidéo à 90 degrés dans le sens des aiguilles d'une montre (utilisez transpose=2
tourner dans le sens inverse des aiguilles d'une montre):
ffmpeg -i sample-mp4-file.mp4 -hide_banner \
-filter:v 'transpose=1' \
OutputVideo.mp4
Résumé
FFmpeg est un framework multimédia polyvalent qui nous permet d'effectuer différentes opérations avec des fichiers vidéo.
Vous pouvez utiliser FFmpeg pour convertir des fichiers vidéo et audio dans d'autres formats, effectuer une extraction d'image et audio, faire pivoter des vidéos, ajouter des sous-titres, diviser des clips vidéo en plusieurs parties, etc. Dans ce guide, nous avons illustré comment appliquer les commandes les plus couramment utilisées pour obtenir les résultats dont vous pourriez avoir besoin.