Documentation officielle de FFmpeg :
- Toute la documentation (racine)
- Utilisation complète de la ligne de commande
- Tous les filtres utilisés
On peut retrouver la liste des codecs et formats de fichiers supportés sur le site officiel :
- Formats de fichiers
- Formats d’images
- Codecs vidéo
- Codecs audio
- Formats de sous-titres
- Protocoles réseau
Lister les codecs supportés
ffmpeg -codecs
D..... = Decoding supported .E.... = Encoding supported ..V... = Video codec ..A... = Audio codec ..S... = Subtitle codec ...I.. = Intra frame-only codec ....L. = Lossy compression .....S = Lossless compression
Lister les encodeurs supportés
ffmpeg -encoders
V..... = Video A..... = Audio S..... = Subtitle .F.... = Frame-level multithreading ..S... = Slice-level multithreading ...X.. = Codec is experimental ....B. = Supports draw_horiz_band .....D = Supports direct rendering method 1
Lister les décodeurs supportés
ffmpeg -decoders
V..... = Video A..... = Audio S..... = Subtitle .F.... = Frame-level multithreading ..S... = Slice-level multithreading ...X.. = Codec is experimental ....B. = Supports draw_horiz_band .....D = Supports direct rendering method 1
Lister les formats de fichiers supportés
ffmpeg -formats
D. = Demuxing supported .E = Muxing supported
Lister les muxeurs supportés
ffmpeg -muxers
Lister les démuxeurs supportés
ffmpeg -demuxers
Afficher les options spécifiques à un encodeur, décodeur, muxeur ou démuxeur
ffmpeg -h encoder=mpeg4
ffmpeg -h decoder=aac
ffmpeg -h muxer=matroska
ffmpeg -h demuxer=gif
Conversion d’un fichier du format MP4 au format AVI sans perte de qualité
ffmpeg -i filename.mp4 -qscale 0 filename.avi
ou
ffmpeg -i filename.mp4 -q:a 0 -q:v 0 filename.avi
Fichier original (MP4) | Après (sans qscale) | Après (qscale 0) | Après (qscale 4) | |
Codec Video | MPEG-4 AVC (P10) | MPEG-4 Visual (P2) | MPEG-4 Visual (P2) | MPEG-4 Visual (P2) |
Codec Audio | MPEG-4 AAC (P3) | MPEG-1 Audio Layer III (MP3) | MPEG-1 Audio Layer III (MP3) | MPEG-1 Audio Layer III (MP3) |
Overall Bitrate | 1091 Kb/s | 730 Kb/s | 4549 Kb/s | 2560 Kb/s |
Taille | 81.2 MiB | 54.3 MiB | 338 MiB | 190 MiB |
Rmq : une conversion avec le paramètre qscale à 4 présente une qualité encore correcte, au-delà la pixellisation est perceptible.
Pour un même débit final au format AVI (environ 1100 Kb/s), la qualité est extrêmement mauvaise par rapport à l’originale au format MP4.
Conversion d’une vidéo AVI au format MP4 sans perte de qualité :
Codec vidéo H264 :
ffmpeg -i filename.avi -c:v libx264 -crf 18 -c:a aac -b:a 128k filename.mp4
Codec vidéo H265 :
ffmpeg -i filename.avi -c:v libx265 -crf 18 -c:a aac -b:a 128k filename.mp4
Rmq : Choisir une valeur pour CRF entre 18 (sans perte apparente mais fichier final plus lourd) et 28 (fichier final plus léger mais qualité légèrement dégradée).
Conversion d’un fichier du format AVI au format MKV
ffmpeg -i filename.avi filename.mkv
Equivaut à (options par défaut) :
ffmpeg -i filename.avi -f matroska -vcodec libx264 -acodec libvorbis filename.mkv
ou
ffmpeg -i filename.avi -f matroska -c:v libx264 -c:a libvorbis filename.mkv
Conversion d’un fichier du format AVI au format MKV en spécifiant les codecs
Conversion au format MKV avec codec vidéo MPEG-4 AVC (P10) (H.264) et codec audio AAC :
ffmpeg -i filename.avi -c:v libx264 -c:a aac filename.mkv
Conversion au format MKV avec codec vidéo MPEG-4 AVC (P10) (H.264) et codec audio AC-3 (Dolby Digital) :
ffmpeg -i filename.avi -c:v libx264 -c:a ac3 filename.mkv
Conversion au format MKV avec codec vidéo VP8 et codec audio Vorbis (avec BitRate Video à 1000 Kb/s):
ffmpeg -i filename.avi -c:v vp8 -c:a libvorbis -b:v 1M filename.mkv
Conversion au format MKV avec codec vidéo VP9 et codec audio AAC (avec BitRate Video à 1000 Kb/s) :
ffmpeg -i filename.avi -c:v vp9 -c:a aac -b:v 1M filename.mkv
Conversion au format MKV avec codec vidéo MPEG-4 Visual (P2) et codec audio AC-3 (Dolby Digital) (avec BitRate Video à 1000 Kb/s):
ffmpeg -i filename.avi -c:v mpeg4 -c:a ac3 -b:v 1M filename.mkv
Rmq :
Taille occupée par les flux audio : Vorbis < AAC < AC-3
Extraire les sous-titres d’une vidéo (par ex depuis le format TX3G) :
Au format SRT :
ffmpeg -i filename.mp4 filename.srt
Au format ASS :
ffmpeg -i filename.mp4 filename.ass
Extraire les sous-titres d’un fichier MULTISUB :
ffmpeg -i filename.mp4
Pur indentifier le mapping des flux de sous-titres (des indices 0 à n).
Puis :
ffmpeg -i filename.mp4 -map 0:s:[i] filename.srt
avec i allant de 0 à n (0 pour la 1ère piste de sous-titres).
Annexes
Définitions
Conteneur (container, wrapper) : archive contenant des signaux numériques audio ou video compressées avec des codecs encodeurs.
Codec (coder/decoder) : traducteur, servant à compresser des signaux numériques audio ou video (encodage), ou à les décompresser (décodage).
Quelques conteneurs communément utilisés
Extension | Commentaires | Société |
.MOV | Quick Time format | Apple |
.AVI / .DIVX | Audio Video Interleave | Microsoft |
.MKV | Matroska Video | CoreCode, Inc. |
.MP4 | MPEG-4 Part 1, ISO/CEI 14496-1:2001, MPEG-4 file format version 1 (partie 1 de la norme MP4) | Moving Picture Experts Group |
MPEG-4 Part 14, ISO/CEI 14496-14:2003, MPEG-4 file format version 2 (partie 14 de la norme MP4) | ||
.OGG | Manœuvre tactique du jeu vidéo Netrek | Xiph.org |
.WMV | Windows Media Video | Microsoft |
.FLV | Flash Video | Adobe Systems |
.WEBM | Web Media |
Normes audio et vidéo souvent associées aux conteneurs
Extension | Normes Video | Normes Audio |
.MOV | QuickTime / H.264 | AAC |
.AVI | MPEG-4 Part 2 | MP3 / AC3 |
.MKV | H.264 / H.265 | AC3 / AAC |
.MP4 | H.264 / H.265 | AC3 / AAC |
.OGG | Theora | Vorbis / FLAC |
.FLV | H.264 / VP6 | PCM / ADPCM / MP3 / AAC |
.WEBM | VP8 / VP9 | Vorbis / Opus |
Exemples de normes audio et vidéo utilisées
MP3 | MPEG Audio Part 3, MPEG-1/2 Part 3, MPEG-1/2 Audio Layer III |
AAC | Advanced Audio Coding |
AC-3 | Dolby Digital, DD, ATSC A/52A |
OPUS | Opus Interactive Audio Codec |
H.264 | MPEG-4 AVC, MPEG-4 Part 10 |
H.265 | HEVC (High Efficiency Video Coding) |
MPEG-2 | H.262, MPEG Video Part 2, MPEG-2 Part 2 |
MPEG-4 | MPEG-4 Visual, MPEG-4 Part 2, DivX, Xvid |
VP8 | On2 VP8 |
VP9 | Google VP9 |
Codecs FFmpeg implémentant certaines normes audio et vidéo
Norme | Encodeurs | Décodeurs |
MP3 | libmp3lame | mp3, mp3float |
AAC | libfaac, libfdk-aac, libvo-aacenc | aac, aac-fixed |
AC-3 | ac3, ac3-fixed | ac3, ac3-fixed |
OPUS | opus, libopus | opus, libopus |
H.264 | libx264 | libx264 |
H.265 | libx265, nvenc_hevc, hevc_nvenc, hevc_qsv | hevc, hevc_qsv, hevc_cuvid |
MPEG-2 | mpeg2video, mpeg2_qsv | mpeg2video, mpegvideo, mpeg2_qsv, mpeg2_cuvid |
MPEG-4 | mpeg4, libxvid | mpeg4, mpeg4_cuvid |
VP8 | vp8, libvpx, vp8_cuvid, vp8_qsv | libvpx |
VP9 | vp9, libvpx-vp9, vp9_cuvid | libvpx-vp9 |