Quels sont tous les codecs et formats pris en charge par FFmpeg?

135

J'ai besoin d'une liste de codecs et de formats pris en charge par FFmpeg. Où puis-je le trouver?

poobalan
la source
Il devrait y avoir un site SE pour FFmpeg. Veuillez suivre et vérifier votre adresse e-mail pour voter!
Shimmy Weitzhandler
Ma question similaire a obtenu une bonne réponse: stackoverflow.com/questions/8727992/…
Sugrue

Réponses:

171

Codecs proprement dits:

ffmpeg -codecs

Formats:

ffmpeg -formats
Matthew Flaschen
la source
4
Ce ne serait qu'une liste de formats pris en charge par une version / installation spécifique de FFmpeg. Il existe une très large gamme de builds FFmpeg en cours d'utilisation.
mikerobi
19
Oui, si cela vous intéresse de manière abstraite, vous pouvez consulter le code source et une documentation plus large. Cependant, la plupart des gens seront initialement intéressés par leur ffmpeg.
Matthew Flaschen
1
Je suppose que cela dépend de l'intention de celui qui pose la question, mais je ne considère pas cela comme abstrait. Si un client m'appelle et me demande de prendre en charge le codec Purple Unicorn 2.718, cela ne m'est pas venu à l'esprit ffmpeg -formats.
mikerobi
FWIW, l'option "-codec" n'est pas disponible pour la version ffmpeg SVN-r0.5.10 et (vraisemblablement) plus tôt.
Digger
@Matthew Pas nécessairement ... La principale raison pour laquelle je suis intéressé de voir si un codec est pris en charge est que j'ai déjà reçu un message "Codec non pris en charge" de ma ffprobe et que je veux voir si cela est dû à mon installation locale ....
ntg
120

Les formats et codecs pris en charge par votre build de ffmpegpeuvent varier en raison de la version, de la façon dont il a été compilé et si des bibliothèques externes, telles que libx264, étaient prises en charge lors de la compilation.

Formats (multiplexeurs et démultiplexeurs):

Lister tous les formats:

ffmpeg -formats

Afficher les options spécifiques et des informations sur un multiplexeur particulier:

ffmpeg -h muxer=matroska

Afficher les options spécifiques et des informations sur un démultiplexeur particulier:

ffmpeg -h demuxer=gif

Codecs (encodeurs et décodeurs):

Liste tous les codecs:

ffmpeg -codecs

Lister tous les encodeurs:

ffmpeg -encoders

Lister tous les décodeurs:

ffmpeg -decoders

Afficher les options spécifiques et les informations relatives à un encodeur particulier:

ffmpeg -h encoder=mpeg4

Afficher les options spécifiques et les informations relatives à un décodeur particulier:

ffmpeg -h decoder=aac

Lire les résultats

Il y a une clé en haut de la sortie qui décrit chaque lettre qui précède le nom du format, de l'encodeur, du décodeur ou du codec:

$ ffmpeg -encoders
[…]
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
 ------
[…]
 V.S... mpeg4                MPEG-4 part 2

Dans cet exemple, cela V.S...indique que l'encodeur mpeg4est un Vencodeur idéo et prend en charge le Smultithreading au niveau des poux.

Regarde aussi

Qu'est-ce qu'un codec et en quoi diffère-t-il d'un format?

llogan
la source
Merci beaucoup llogan pour ces options de filtrage supplémentaires. Est-il possible d'aller plus loin, et par exemple demander à FFMPEG de lister tous les encodeurs / décodeurs qui ne sont que pour la vidéo, ou uniquement pour l'audio?
astronaute
1
@spaceman Vous pouvez le faire avec un traitement supplémentaire. Exemple d'utilisation grepsous Linux:ffmpeg -encoders | grep "^ V"
llogan
59
ffmpeg -codecs

devrait vous donner toutes les informations sur les codecs disponibles.

Vous verrez quelques lettres à côté des codecs:

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
suja
la source