FFmpeg

Aller à la navigation Aller à la recherche

FFmpeg est un ensemble d'outils informatiques pour traiter les documents vidéos et les documents audios.

C'est en ligne de commande que sont exécutées les actions.

Généralité

FFmpeg est proposée en deux versions :

  • la version static contient deux fichiers autonomes. Cette version est utile pour l'usage en ligne de commande ;
  • la version shared contient tous les fichiers séparés : exécutables et bibliothèques (dll). C'est la version qui permet à d'autres applications d'utiliser la bibliothèque.

FFmpeg

Site officiel :

Il existe plusieurs paquets :

  • shared pour partagé : les bibliothèques (dll) sont à part des exécutables ; en conséquence l'exécutable ffmpeg.exe a une taille de 0,290 Mo
  • static : ce paquet propose les programmes principaux incluant les bibliothèques (dll) ; en conséquence l'exécutable ffmpeg.exe a une taille de 60 Mo

Téléchargement de FFmpeg :

FFmpeg et capture d'écran

  • ffmpeg -f gdigrab -framerate 25 -i desktop bureau.mp4 : capture de tout le bureau ;
  • ffmpeg -f gdigrab -framerate 2 -i title=ffmpeg fenetre.mp4 : capture la fenêtre dont le nom est "ffmpeg", en l'occurence c'est une fenêtre de l'explorateur de fichier avec le dossier "ffmpeg" qui est ouverte ;

FFmpeg et vidéo

FFmpeg est une collection de logiciels libres destinés au traitement de flux audio ou vidéo (enregistrement, lecture ou conversion d'un format à un autre).

  • ffmpeg -i videoorigine.avi -vf scale=320:240 videodestination.avi
  • ffmpeg -i videoorigine.webm -s 720x540 videodestination.webm redimensionne la vidéo en 720 x 540 pixels ;
  • ffmpeg -i arte.mpg -q 0 -ss "00:03:50" -t "00:00:05" arte-03-50.mpg extrait cinq secondes de vidéo à partir de 3 min 50 s en qualité d'origine ;
  • ffmpeg -i videoorigine.mov -r 25 videodestination.mp4 convertit le format (de .mov à .mp4) et force la fréquence d'image à 25 images par secondes (de 30 ips à 25 ips).

Pour copier tous les flux, avec le deuxième flux (index numéro 1) encodé sous libx264 et le flux audio numéro 138 (index numéro 137) encodé sous libvorbis :

  • ffmpeg -i INPUT -map 0 -c copy -c:v:1 libx264 -c:a:137 libvorbis OUTPUT

FFmpeg et image

  • ffmpeg -i img.jpeg img.png : pour convertir du format JPEG au format PNG.

FFmpeg et audio

Analyser un document multimédia (audio ou vidéo) :

  • ffmpeg -i input.wav -filter:a volumedetect -f null /dev/null
  • ffmpeg -i video.mp4 -filter:a volumedetect -f null /dev/null

Une fois le résultat donné, récupérer la valeur maximum du volume (max_volume) et appliquer la valeur avec son opposé pour la modification ; par exemple, si la valeur maximum est -17, appliquer une modification de +17. Si la valeur maximum est 5, appliquer une modification de -5.

Exemple pour modifier le volume sonore, sans réencoder la vidéo :

  • ffmpeg -i video.mp4 -vcodec copy -af "volume=10dB" video-augmentee.mp4
  • ffmpeg -i video.mp4 -vcodec copy -af "volume=-5dB" video-diminuee.mp4

Un décalage de l'audio de 0,7 seconde par rapport à la vidéo est présent ; pour corriger cela :

  • ffmpeg.exe -i source-original.mp4 -itsoffset 0.7 -i source-original.mp4 -map 0:v -map 1:a -c copy destination.mp4

Pour faire des tests

La commande ci dessous permet de faire un essai d'encodage :

  • ffmpeg -ss 80 -t 60 -i videoInput.mpg -s 240x180 -b 380k -ab 64k videoOutput.flv

Cette commande convertit la portion commençant à t0 = 80 secondes (option -ss) et s'étendant sur une durée de 60 secondes (option -t) du fichier d'entrée "videoInput.mpg" codé en MPEG. Le fichier produit sera encodé en Flash, la taille d'image sera de 240×180, le débit engendré par son affichage de 380 kbps et le débit audio de 64 kbps.

Conversion par copie des flux vidéo et audio d'une portion commençant à 2 minutes et 58 secondes et d'une durée de 9 minutes et 34 secondes :

  • ffmpeg -ss 00:02:58 -t 00:09:34 -i entree.webm -vcodec copy -acodec copy sortie.webm

Exemple pour sortir un fichier AVI en qualité moyenne, à partir d'un fichier OGG Theora :

  • ffmpeg -ss 4518 -t 1100 -b 768k -ab 128k -i videoInput.ogv -f avi videoOutput.avi

Autres exemples :

rem transformation 1920x1080, 60 ips en 1920x1080 : original 137 Mo, après traitement 29 Mo
ffmpeg -i fichiersource.mp4 -vf scale=1920:1080 mieux1920-60.mp4

rem transformation 1920x1080, 60 ips, 28000 kb/s, audio 256 kb/s en 1920x1080, 25 ips, 2048 kb/s, audio 96 kb/s : original 137 Mo, après traitement 10,5 Mo
ffmpeg -i fichiersource.mp4 -r 25 -b:v 2048k -b:a 96k -vf scale=1920:1080 mieux-1920-25-v2048-a096.mp4

rem transformation 1920x1080, 60 ips en 1280x720 : original 137 Mo, après traitement 12,7 Mo
ffmpeg -i fichiersource.mp4 -vf scale=1280:720 mieux-1280-60.mp4

rem transformation 1920x1080, 60 ips en 1024x576 : original 137 Mo, après traitement 8,4 Mo
ffmpeg -i fichiersource.mp4 -vf scale=1024:576 mieux-1024-60.mp4

À noter : ne pas utiliser de valeur impaires pour les dimensions d'images.

ffmpeg et PowerShell

Pour utiliser ffmpeg en ligne de commande avec PowerShell, il est impératif de séparer l'exécutable ffmpeg.exe et les arguments :

  • start-process ffmpeg.exe -argumentlist "-i 20191220_154316.mp4 -r 25 -b:v 2048k -b:a 96k -vf scale=1280:720 mieux-1280-25-v2048-a096.mp4"

À l'exécution, cette syntaxe lance une fenêtre de commande DOS le temps de l'exécution de la commande.

Repère

Taille des vidéos :

Taille Proportion Nom
16 x 9 1,777:1 16/9e
320 x 180 1,777:1
480 x 270 1,777:1
640 x 360 1,777:1
720 x 406 1,777:1
1 024 x 576 1,777:1 SD (720 x 576)
1 280 x 720 1,777:1 720p, HD TV
1 920 x 1 080 1,777:1 1080p, Full HD
Taille Proportion Nom
2,35 x 1 2.35:1 CinemaScope ou Panavision
1 920 x 818 2.35:1 CinemaScope ou Panavision
720 x 302 2,379
1 024 x 430 2,379
1 280 x 538 2,379
1 024 x 426 2,4
1 280 x 534 2,4
1 920 x 800 2,4

Repère de paramétrage

Type Durée Dimension
en pixel
Poids Débit vidéo Débit audio Observation
Original 1 h 37 min 55 s 1 280 x 720 1 969 584 ko 2 616 kb/s 125 kb/s
Essai 1 1 h 37 min 55 s 1 024 x 576 1 538 461 ko 2 042 kb/s 96 kb/s dimension et débit audio forcés
Essai 2 1 h 37 min 55 s 1 024 x 576 804 928 ko 1 024 kb/s 96 kb/s dimension, débit vidéo et débit audio forcés
Essai 3 1 h 37 min 55 s 1 024 x 576 621 760 ko 768 kb/s 96 kb/s dimension, débit vidéo et débit audio forcés
Essai 4 1 h 37 min 55 s 720 x 406 344 605 ko 480 kb/s 128 kb/s dimension forcée

Source Wikipédia, définition d'écran : https://fr.wikipedia.org/wiki/D%C3%A9finition_d%27%C3%A9cran

Type Durée Nb images Codec
vidéo
Dimension
en pixel
Fréquence
d'image
Audio Poids Débit vidéo Débit audio Observation
Original 5 min 55 s 8875 i H264 1 920 x 1 080 25 ips MPEG AAC, stéréo, 48 kHz, 32 bit 397 416 ko 10 281 kb/s 160 kb/s
Essai 1 5 min 55 s 8875 i H264 1 920 x 1 080 25 ips MPEG AAC, stéréo 80 637 ko 2 048 kb/s 96 kb/s dimension, débit vidéo et débit audio forcés
Essai 2a 5 min 55 s 8875 i H264 1 280 x 720 25 ips MPEG AAC, stéréo 80 637 ko 2 048 kb/s 96 kb/s dimension, débit vidéo et débit audio forcés
Essai 2b 5 min 55 s 8875 i H264 1 280 x 720 25 ips MPEG AAC, stéréo 61 496 ko 1 536 kb/s 96 kb/s dimension, débit vidéo et débit audio forcés
Essai 2c 5 min 55 s 8875 i H264 1 280 x 720 25 ips MPEG AAC, stéréo 42 316 ko 1 024 kb/s 96 kb/s dimension, débit vidéo et débit audio forcés
Essai 3a 5 min 55 s 8875 i H264 1 024 x 576 25 ips MPEG AAC, stéréo 42 409 ko 1 024 kb/s 96 kb/s dimension, débit vidéo et débit audio forcés
Essai 3b 5 min 55 s 8875 i H264 1 024 x 576 25 ips MPEG AAC, stéréo 32 805 ko 768 kb/s 96 kb/s dimension, débit vidéo et débit audio forcés
Essai 4a 5 min 55 s 8875 i H264 720 x 406 25 ips MPEG AAC, stéréo 32 909 ko 768 kb/s 96 kb/s dimension, débit vidéo et débit audio forcés
Essai 4b 5 min 55 s 8875 i H264 720 x 406 25 ips MPEG AAC, stéréo 22 058 ko 480 kb/s 96 kb/s dimension, débit vidéo et débit audio forcés

Voir aussi

Liens externes