Ffmpeg

De Linuxmemo.

Sources: https://wiki.debian.org/fr/ffmpeg

FFmpeg/Libav permet de multiplexer ou de-multiplexer dans différents formats:

   des flux vidéos compressés (ou pas),
   des flux audio compressés (ou pas),
   des sous-titres dans différents formats. 

Et de modifier, à l'aide de filtre, le contenu de chaque flux indépendamment.

"avconv" est un lien symbolic de "ffmpeg".

Sommaire

Encodage

Formats + Codecs + Filtres

  • liste des formats (container)
ffmpeg -formats
  • liste les codecs disponible pour l'encodage
ffmpeg -codecs
  • liste des filtre
ffmpeg -filters

Information sur la video

ffmpeg -i file.avi
ou
avprobe file.avi
ou
ffprobe file.avi
  • liste les stream
  • liste les codecs

Conversion

Choix du format de sortie

C'est l’extension du fichier output qui détermine le type de la sortie

ffmpeg -i file.mkv -c copy output.avi
  1. ) lister les streams (pistes): ffmpeg -i file.mkv
  2. ) lister les streams que l'on garde avec -map: ffmpeg -i file.mkv -map 0:1 -map 0:2 -vcodec copy -acodec copy output.mkv

Changer de format sans toucher au flux

ffmpeg -i file.mkv -c copy file.mov
-c copy: copie à l'identique la totalité des flux
-c:v copy : copie à l'identique les pistes vidéos
-c:a copy : copie à l'identique les pistes audio
-c:s copy : copie à l'identique les pistes sous-titres

Changer l'ordre des flux (mapping)

ffmpeg -i file.mkv -map 0:0 -map 0:2 -map 0:1 -map 0:4 -map 0:3 -c copy file-v2.mkv

Ajouter un flux

Le paramètre -map permet aussi d'ajouter un flux, dans l'exemple qui suit un sous-titre en espagnol (TOS-es.srt) en position 4 :

ffmpeg -i file.mkv -i TOS-es.srt -map 0:0 -map 0:1 -map 0:2 -map 1:0 -map 0:3 -map 0:4 -c:v copy -c:a copy -metadata:s:s:0 language=esp file-v2.mkv

Extraire un flux

En utilisant les possibilités du mapping il est très facile d'extraire un seul flux d'un fichier en comportant plusieurs :

ffmpeg -i file.mkv -map 0:2 -acodec copy file_BO.mkv

Dans cet exemple, on ne copie qu'une seule des pistes audio.

Extraire une piste audio en MP3

ffmpeg -i file.mkv -map 0:2 -acodec libmp3lame -ar 44100 -ac 2 -ab 192k file_BO.mp3

Extraire un sous-titre

ffmpeg -i file.mkv -map 0:4 -c:s srt file_FR.srt

Découpage

Actuces

  • choisir ses codecs
ffmpeg -i input.webm -c:v copy -c:a flac output.mkv
-c:v copy => codec:video copy l'originale
-c:a flac => codec:audio en flac
ou bien
-c:av copy -> en une seule option
  • supprimer des pistes audio ou vidéo (streams)
Outils personnels