Commandes FFmpeg utiles pour travailler avec des fichiers audio et vidéo

Publié: 2022-02-26

FFmpeg est un outil de ligne de commande extrêmement puissant et polyvalent pour convertir des fichiers audio et vidéo. Il est gratuit et disponible pour les machines Windows, Mac et Linux. Que vous souhaitiez joindre deux fichiers vidéo, extraire le composant audio d'un fichier vidéo, convertir votre vidéo en un GIF animé, FFmpeg peut tout faire et même plus.

Extrayez l'audio d'un fichier vidéo avec cette simple commande FFmpeg. Extrayez l'audio d'un fichier vidéo avec cette simple commande FFmpeg.

Commandes FFmpeg utiles

FFmpeg prend en charge tous les formats audio et vidéo populaires. Ou vous pouvez exécuter la commande ./ffmpeg -formats pour obtenir une liste de tous les formats pris en charge par votre installation FFmpeg. Si vous débutez, voici quelques commandes qui vous donneront une bonne idée des capacités de cet outil.

1. Couper le fichier vidéo en un clip plus petit

Vous pouvez utiliser le paramètre de décalage temporel (-ss) pour spécifier l'horodatage de début au format HH:MM:SS.ms tandis que le paramètre -t permet de spécifier la durée réelle du clip en secondes.

ffmpeg -i input.mp4 -ss 00:00:50.0 -codec copy -t 20 output.mp4

2. Diviser une vidéo en plusieurs parties

Si vous souhaitez diviser une grande vidéo en plusieurs clips plus petits sans réencodage, ffmpeg peut vous aider. Cette commande divisera la vidéo source en 2 parties - l'une se terminant à 50 secondes du début et l'autre commençant à 50 secondes et se terminant à la fin de la vidéo d'entrée.

ffmpeg -i video.mp4 -t 00:00:50 -c copy small-1.mp4 -ss 00:00:50 -codec copy small-2.mp4

3. Convertir une vidéo d'un format à un autre

Vous pouvez utiliser le paramètre -vcodec pour spécifier le format d'encodage à utiliser pour la vidéo de sortie. L'encodage d'une vidéo prend du temps, mais vous pouvez accélérer le processus en forçant un préréglage, même si cela dégraderait la qualité de la vidéo de sortie.

ffmpeg -i youtube.flv -c:v libx264 filename.mp4

ffmpeg -i video.wmv -c:v libx264 -preset ultrafast video.mp4

4. Joindre (concaténer) des fichiers vidéo

Si vous avez plusieurs fichiers audio ou vidéo encodés avec les mêmes codecs, vous pouvez les joindre en un seul fichier à l'aide de FFmpeg. Créez un fichier d'entrée avec une liste de tous les fichiers source que vous souhaitez concaténer, puis exécutez cette commande.

ffmpeg -f concat -i file-list.txt -c copy output.mp4

5. Couper une vidéo (supprimer le composant audio)

Utilisez le paramètre -an pour désactiver la partie audio d'un flux vidéo.

ffmpeg -i video.mp4 -an mute-video.mp4

6. Extraire l'audio de la vidéo

Le commutateur -vn extrait la partie audio d'une vidéo et nous utilisons le commutateur -ab pour enregistrer l'audio en tant que fichier audio MP3 à 256 kbps.

ffmpeg -i video.mp4 -vn -ab 256 audio.mp3

7. Convertir une vidéo en GIF animé

FFmpeg est un excellent outil pour convertir des vidéos en GIF animés et la qualité n'est pas mauvaise non plus. Utilisez le filtre d'échelle pour spécifier la largeur du GIF, le paramètre -t spécifie la durée tandis que -r spécifie la fréquence d'images (fps).

ffmpeg -i video.mp4 -vf scale=500:-1 -t 10 -r 10 image.gif

8. Extraire des images d'une vidéo

Cette commande extraira l'image vidéo à la marque 15s et l'enregistrera en tant qu'image JPEG de 800 pixels de large. Vous pouvez également utiliser le commutateur -s (comme -s 400x300) pour spécifier les dimensions exactes du fichier image bien qu'il créera probablement une image étirée si la taille de l'image ne suit pas le format d'image du fichier vidéo d'origine.

ffmpeg -ss 00:00:15 -i video.mp4 -vf scale=800:-1 -vframes 1 image.jpg

9. Convertir la vidéo en images

Vous pouvez utiliser FFmpeg pour extraire automatiquement les images d'une vidéo toutes les 'n' secondes et les images sont enregistrées dans une séquence. Cette commande enregistre les images de la vidéo toutes les 4 secondes.

ffmpeg -i movie.mp4 -r 0.25 frames_%04d.png

10. Fusionner un fichier audio et vidéo

Vous pouvez également spécifier le commutateur -shortest pour terminer l'encodage lorsque le clip le plus court se termine.

ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -strict experimental output.mp4

ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -strict experimental -shortest output.mp4

11. Redimensionner une vidéo

Utilisez le commutateur de taille (-s) avec ffmpeg pour redimensionner une vidéo tout en conservant le rapport d'aspect.

ffmpeg -i input.mp4 -s 480x320 -c:a copy output.mp4

12. Créer un diaporama vidéo à partir d'images

Cette commande crée un diaporama vidéo à l'aide d'une série d'images nommées img001.png, img002.png, etc. Chaque image aura une durée de 5 secondes (-r 1/5).

ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p slideshow.mp4

13. Ajouter une image d'affiche à l'audio

Vous pouvez ajouter une image de couverture à un fichier audio et la longueur de la vidéo de sortie sera la même que celle du flux audio d'entrée. Cela peut être utile pour télécharger des MP3 sur YouTube.

ffmpeg -loop 1 -i image.jpg -i audio.mp3 -c:v libx264 -c:a aac -strict experimental -b:a 192k -shortest output.mp4

14. Convertir une seule image en vidéo

Utilisez le paramètre -t pour spécifier la durée de la vidéo.

ffmpeg -loop 1 -i image.png -c:v libx264 -t 30 -pix_fmt yuv420p video.mp4

15. Ajouter des sous-titres à un film

Cela prendra les sous-titres du fichier .srt. FFmpeg peut décoder tous les formats de sous-titres courants.

ffmpeg -i movie.mp4 -i subtitles.srt -map 0 -map 1 -c copy -c:v libx264 -crf 23 -preset veryfast output.mkv

16. Recadrer un fichier audio

Cela créera un fichier audio de 30 secondes à partir de 90 secondes à partir du fichier audio d'origine sans transcodage.

ffmpeg -ss 00:01:30 -t 30 -acodec copy -i inputfile.mp3 outputfile.mp3

17. Modifier le volume audio

Vous pouvez utiliser le filtre de volume pour modifier le volume d'un fichier multimédia à l'aide de FFmpeg. Cette commande réduira de moitié le volume du fichier audio.

ffmpeg -i input.wav -af 'volume=0.5' output.wav

18. Faire pivoter une vidéo

Cette commande fera pivoter un clip vidéo de 90° dans le sens des aiguilles d'une montre. Vous pouvez régler la transposition sur 2 pour faire pivoter la vidéo de 90° dans le sens inverse des aiguilles d'une montre.

ffmpeg -i input.mp4 -filter:v 'transpose=1' rotated-video.mp4

Cela fera pivoter la vidéo de 180° dans le sens inverse des aiguilles d'une montre.

ffmpeg -i input.mp4 -filter:v 'transpose=2,transpose=2' rotated-video.mp4

19. Accélérer ou Ralentir la vidéo

Vous pouvez modifier la vitesse de votre vidéo à l'aide du setpts (définir l'horodatage de la présentation) de FFmpeg. Cette commande rendra la vidéo 8x (1/8) plus rapide ou utilisera setpts=4*PTS pour rendre la vidéo 4x plus lente.

ffmpeg -i input.mp4 -filter:v "setpts=0.125*PTS" output.mp4

20. Accélérer ou Ralentir le son

Pour modifier la vitesse de l'audio, utilisez le filtre audio atempo . Cette commande doublera la vitesse de l'audio. Vous pouvez utiliser n'importe quelle valeur entre 0,5 et 2,0 pour l'audio.

ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv

Stack Exchange a un bon aperçu pour vous aider à démarrer avec FFmpeg. Vous devriez également consulter la documentation officielle sur ffmpeg.org ou le wiki sur trac.ffmpeg.org pour connaître toutes les choses que vous pouvez faire avec FFmpeg.

Voir aussi : Commandes Linux essentielles