Usages de ffmpeg

Connaître les détails d'un fichier vidéo avec ffmpeg

Capture vidéo

ffmpeg autorise à capturer et filmer l'écran de son ordinateur simplement 8-).

Dans un terminal lancez la commande :

ffmpeg -s 1280x800 -r 25 -f x11grab -i :0.0 -b 6000k fichier_capture.mpg

Dans la commande ci-dessus, les options sont :

  • -s : indique la taille de capture, largeur x hauteur
  • -r : indique le nombre d'images par seconde
  • -f x11grab : indique d'enregistrer le contenu de l'écran de l'ordinateur
  • -i : indique le numéro de l'écran à enregistrer
  • -b : indique la qualité de l'encodage vidéo, 6000k = bonne qualité
  • fichier_capture.mpg : indique le conteneur, le codec vidéo, ici le mpeg2vidéo

Conversion rapide en DV Pal

Pour convertir une séquence en DV acceptée par Kino, Cinelerra, utilisez :

Encodage en DV 4/3

ffmpeg -i video_source.avi -target pal-dv -aspect 4:3 video_finale.dv

Encodage en DV 16/9

ffmpeg -i video_source.avi -target pal-dv -aspect 16:9 video_finale.dv

VCD, SVCD, DVD

Conversion fichier vidéo vers le format VCD

  • Pour un VCD en format américain NTSC
ffmpeg -i mon_film.avi -target ntsc-vcd ./mon_film_vcd.mpg
  • Pour un VCD en format standard PAL
ffmpeg -i mon_film.avi -target pal-vcd ./mon_film_vcd.mpg

Conversion fichier vidéo vers le format SVCD

  • Pour un SVCD en format américain NTSC
ffmpeg -i mon_film.avi -target ntsc-svcd ./mon_film_svcd.mpg
  • Pour un SVCD en format standard PAL
ffmpeg -i mon_film.avi -target pal-svcd ./mon_film_svcd.mpg

Conversion fichier vidéo vers le format DVD

  • Pour un DVD en format standard PAL
ffmpeg -i mon_film.avi -target pal-dvd ./mon_film_dvd.mpg
  • Pour un DVD en format standard PAL, aspect 4/3
ffmpeg -i mon_film.avi -target pal-dvd -aspect 4:3 ./mon_film_dvd.mpg
  • Pour un DVD en format standard PAL, aspect 16/9
ffmpeg -i mon_film.avi -target pal-dvd -aspect 16:9 ./mon_film_dvd.mpg
Par défaut, l'encodage audio est en AC3 à l'aide du codec a52. Il est possible de spécifier un flux audio mp2 avec les options -acodec mp2 -ab 256k.

Pour savoir comment terminer ensuite votre DVD vidéo, lisez cette section

Convertir seulement une partie d'un fichier

ffmpeg -i mon_fichier.avi -mes_options_d'encodage -t "00:00:15" -ss "00:00:20"

Ici on enregistre de la 15ème seconde à la 20ème seconde.

Conversion HD (Haute définition)

Création vidéo en Flash

Créer un fichier FLV (Flash Vidéo)

ffmpeg -i video_entree.avi -ar 22050 -ab 32 -vcodec flv -s 320x240 video_sortie.flv

Pour améliorer la qualité du fichier FLV vous pouvez utiliser l'option “-b 500k” ou “-b 700k” … Par exemple:

Format 4/3

ffmpeg -i source.m2v -s 640x480 -aspect 4:3 -pass 1 -b 768k -r 30 -ar 44100 -ab 128 -f flv -y export768.flv
ffmpeg -i source.m2v -s 640x480 -aspect 4:3 -pass 1 -b 1440k -r 30 -ar 44100 -ab 128 -f flv -y export1440.flv

Format 16/9

ffmpeg -i source.m2v -s 640x360 -aspect 16:9 -pass 1 -b 768k -r 30 -ar 44100 -ab 128 -f flv -y export768.flv
ffmpeg -i source.m2v -s 640x360 -aspect 16:9 -pass 1 -b 1440k -r 30 -ar 44100 -ab 128 -f flv -y export1440.flv

Créer un fichier SWF (Flash vidéo)

ffmpeg -i video_entree.mov -acodec mp3 -f swf video_sortie.swf

Conversion Apple Pro Res422

Pour ceux qui bataillent au montage avec les rushs vidéo au format Apple Pro Res422 (issus par exemple d'un nikon D3S), utilisez cette ligne de commande pour que ffmpeg ré-encode en bonne qualité vos vidéos pour réaliser vos montages.

ffmpeg -i video_entree.mov -sameq -f mov -acodec pcm_s16be -y video_sortie.mov

Encodage vidéo VP8

ffmpeg permet l'encodage vidéo en utilisant le codec VP8 pour optimiser les vidéos dans les pages web.

Pour réaliser un encodage simple passe :

ffmpeg -i video_entree.avi -threads 2 video_sortie.webm

Pour réaliser un encodage double passes :

ffmpeg -i 'video_entree.avi'-s hd480 -threads 0 -vcodec libvpx -b 1500000 -rc_lookahead 16 -keyint_min 0 -g 360 -skip_threshold 0 -level 116 -qmin 1 -qmax 51 -minrate 0 -maxrate 9000000 -an  -pass 1 -passlogfile pass1.fpf pass1.webm

puis

ffmpeg -i 'video_entree.avi'-s hd480 -threads 0 -vcodec libvpx -b 1500000 -rc_lookahead 16 -keyint_min 0 -g 360 -skip_threshold 0 -level 116 -qmin 1 -qmax 51 -minrate 0 -maxrate 9000000 -acodec libvorbis -ab 192k -ar 44100 -ac 2 -pass 2 -passlogfile pass1.fpf "video_sortie.webm"

Pivoter une vidéo

ffmpeg permet de faire pivoter une vidéo sans perte de qualité avec la commande suivante :

ffmpeg -i video_entree.mp4 -vf "transpose=X" out-video_sortie.mp4

la valeur de X varie selon votre cas, un pivot de 90° sens anti-horaire est égal à 2 ou à cclock.

Encodages audio

Encodage wma vers mp3

  • Envie de vous débarrasser de vos fichiers audios wma™ propriétaires
ffmpeg -i fichier_audio.wma -ar 44100 -ab 128k fichier_audio_sortie.mp3
ab indique le bitrate audio, 128kb/s ou plus c'est bien ;-)

Encodage wma vers wav

ffmpeg -i fichier_audio.wma -ar 44100 -ab 256k fichier_audio_sortie.wav

Joindre des fichiers

Il est possible de joindre des fichiers vidéo, audio ou audio-vidéo avec ffmpeg en utilisant une simple ligne de commande afin de créer un seul fichier vidéo, audio ou audio-vidéo.

Joindre des fichiers vidéo

Pour joindre des fichiers vidéo, utilisez la commande :

ffmpeg -i premier.flv -i second.flv  -i troisieme.flv output.flv

Joindre des fichiers audio

Fichiers sources en format Wav

FIXME : Commande en cours d'élaboration, patience :-X

Fichiers sources en format Ogg

Pour joindre des fichiers audio, utilisez la commande :

cat *.ogg | ffmpeg -i - -ar 44100 -ab 128 fichier_joint.ogg

Fichiers sources en format Mp3

Pour joindre des fichiers audio, utilisez la commande :

cat *.mp3 | ffmpeg -i - -ar 44100 -ab 128 fichier_joint.mp3

Extraire une bande son d'une vidéo

La commande suivante va extraire toute la bande son d'une vidéo en quelques secondes et en qualité CD audio.

ffmpeg -i fichier_source.mp4 -vn -ar 44100 -ac 2 -ab 256k bande_son_sortie.wav
Le fichier vidéo source peut être autre chose que du mp4, la commande fonctionne avec n'importe quel fichier ^_^. Ci-dessous la commande génère des mp3 192 kb/s.
ffmpeg -i fichier_source.mp4 -codec:a libmp3lame -qscale:a 2 bande_son_sortie.mp3
  • Des détails supplémentaires pour un encodage en mp3 ici.

Pour en savoir plus