FFmpeg支持哪些所有编解码器和格式?


Answers:


171

适当的编解码器:

ffmpeg -codecs

格式:

ffmpeg -formats

4
那只是FFmpeg特定构建/安装支持的格式列表。FFmpeg内部版本非常广泛。
mikerobi 2011年

19
是的,如果您对抽象有兴趣,可以查阅源代码和更广泛的文档。然而,大多数人一开始将兴趣自己的ffmpeg。
马修·

1
我想这取决于提问者的意图,但我不认为它是抽象的。如果客户打电话要求我支持Purple Unicorn Codec 2.718,我就不会做ffmpeg -formats
mikerobi

FWIW,“-codec”选项不适用于ffmpeg版本SVN-r0.5.10和(大概)更早的版本。
Digger

@Matthew不一定...我有兴趣查看是否支持编解码器的主要原因是,我已经从ffprobe收到了“不受支持的编解码器”消息,并想知道这是否是由于本地安装引起的。
ntg

120

您的所支持的格式编解码器ffmpeg可能会因版本,编译方式以及编译期间是否支持任何外部库(例如libx264)而异。

格式(混合器和解复用器):

列出所有格式:

ffmpeg -formats

显示特定于特定复用器的选项以及有关特定复用器的信息:

ffmpeg -h muxer=matroska

显示特定于特定解复用器的选项和有关特定信息的信息:

ffmpeg -h demuxer=gif

编解码器(编码器和解码器):

列出所有编解码器:

ffmpeg -codecs

列出所有编码器:

ffmpeg -encoders

列出所有解码器:

ffmpeg -decoders

显示特定于特定编码器的选项以及有关特定编码器的信息:

ffmpeg -h encoder=mpeg4

显示特定于特定解码器的选项和有关特定解码器的信息:

ffmpeg -h decoder=aac

读取结果

输出顶部附近有一个键,用于描述格式,编码器,解码器或编解码器名称之前的每个字母:

$ 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

在此的示例V.S...表明该编码器mpeg4是一个理想编码V器,并支持S虱子级多线程。

另见

什么是编解码器,它与格式有何不同?


非常感谢llogan提供这些额外的过滤选项。是否有可能进一步发展,例如要求FFMPEG列出仅适用于视频或仅适用于音频的所有编码器/解码器?
太空人

1
@spaceman您可以执行一些附加处理。grep在Linux上使用的示例:ffmpeg -encoders | grep "^ V"
llogan

59
ffmpeg -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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.