FFmpeg 支持的所有编解码器和格式是啥?

Posted

技术标签:

【中文标题】FFmpeg 支持的所有编解码器和格式是啥?【英文标题】:What are all codecs and formats supported by FFmpeg?FFmpeg 支持的所有编解码器和格式是什么? 【发布时间】:2011-03-23 13:57:18 【问题描述】:

我需要 FFmpeg 支持的编解码器和格式列表。我在哪里可以找到它?

【问题讨论】:

应该有一个 FFmpeg 的 SE 站点。请follow 并验证您的电子邮件以投票! 我的类似问题得到了很好的回答:***.com/questions/8727992/… 【参考方案1】:

正确的编解码器:

ffmpeg -codecs

格式:

ffmpeg -formats

【讨论】:

这只是 FFmpeg 的特定构建/安装支持的格式列表。使用的 FFmpeg 构建范围非常广泛。 是的,如果您对它抽象地感兴趣,可以查阅源代码和更广泛的文档。然而,大多数人最初会对他们的 ffmpeg 感兴趣。 我想这取决于提问者的意图,但我不认为它是抽象的。如果有客户打电话要求我支持 Purple Unicorn Codec 2.718,我不会想到要这样做ffmpeg -formats FWIW,“-codec”选项不适用于 ffmpeg 版本 SVN-r0.5.10 和(大概)更早版本。 @Matthew 不一定...我有兴趣查看是否支持编解码器的主要原因是我已经从我的 ffprobe 收到“不支持的编解码器”消息并想看看这是否到期到我的本地安装....【参考方案2】:

ffmpeg 的构建支持的 formats 和 codecs 可能会因版本、编译方式以及编译期间是否支持任何外部库(如 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...表示编码器mpeg4Video编码器,支持Slice级多线程。

另见

What is a codec and how does it differ from a format?

【讨论】:

非常感谢洛根提供的额外过滤选项。是否可以更进一步,例如要求 FFMPEG 列出所有仅用于视频或仅用于音频的编码器/解码器? @spaceman 您可以通过一些额外的处理来做到这一点。在 Linux 上使用 grep 的示例:ffmpeg -encoders | grep "^ V" 有没有办法列出每种格式可用的编解码器? @NickeManarin 否,但您可以查看复用器的默认编码器,例如:ffmpeg -h muxer=webm【参考方案3】:
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

【讨论】:

编解码器,那些魔鬼。【参考方案4】:

您可以在官方文档中查看支持的编解码器列表:

Supported video codecs

Supported audio codecs

【讨论】:

以上是关于FFmpeg 支持的所有编解码器和格式是啥?的主要内容,如果未能解决你的问题,请参考以下文章

ffmpeg里有x264么

FFmpegffmpeg 命令查询一 ( 版本 | 编译配置 | 复用格式 | 编解码器 )

FFmpegffmpeg 命令查询一 ( 版本 | 编译配置 | 复用格式 | 编解码器 )

不支持 ffmpeg 编解码器,找不到支持的设备

FFmpeg 编译支持 neon 和 硬编解码

FFmpeg 合并了对 JPEG-XL 图像格式的支持