GNU/Linux >> Tutoriels Linux >  >> Linux

Les commandes FFmpeg les plus utiles pour la conversion audio et vidéo

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 tamponnez HH: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

-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.


Linux
  1. Commandes Nginx les plus utiles dans le système Linux

  2. 3 commandes Linux utiles pour les administrateurs système

  3. LosslessCut - Un coupe-vidéo et audio multiplateforme simple

  4. 11 commandes "ssh" et "scp" utiles sous Linux

  5. Quelle est la raison pour laquelle rmdir(1) et rm(1) coexistent ?

40 commandes réseau Linux utiles pour les administrateurs système modernes

50 commandes dmidecode simples et utiles pour Linux

Les 40 commandes de serveur Linux utiles pour les débutants et les professionnels

40 commandes git utiles pour les administrateurs et les développeurs Linux

Les 50 commandes Zypper les plus utiles pour les utilisateurs de SUSE Linux

Les 50 commandes IP Linux utiles pour les administrateurs réseau