一般文档

目录

1 外部库

FFmpeg 可以与许多外部库连接以添加对更多格式的支持。默认情况下,它们都不被使用,必须通过将适当的标志传递给 来显式请求它们的使用 ./configure

1.1 Alliance for Open Media (AOM)

FFmpeg 可以利用 AOM 库进行 AV1 解码和编码。

访问http://aomedia.org/并按照安装该库的说明进行操作。然后传递--enable-libaom给configure以启用它。

1.2 AMD AMF/VCE

FFmpeg 可以使用 AMD 高级媒体框架库在具有视频编码引擎 (VCE) 的硬件上加速 H.264 和 HEVC(仅限 Windows)编码。

要启用支持,您必须从https://github.com/GPUOpen-LibrariesAndSDKs/AMF.git获取 AMF 框架头文件(版本 1.4.9+) 。

AMF/在系统包含路径中创建一个目录。将 的内容复制AMF/amf/public/include/到该目录中。然后使用 FFmpeg 配置--enable-amf

amf 编码器的初始化按以下顺序进行: 1) 尝试通过 dx11 初始化(仅 Windows) 2) 尝试通过 dx9 初始化(仅 Windows) 3) 尝试通过 vulkan 初始化

要在 Linux 上使用 h.264(AMD VCE) 编码器,需要 amdgru-pro 版本 19.20+ 和 amf-amdgpu-pro 软件包(amdgru-pro 包含,但不会自动安装)。

可以使用官方 amd 驱动程序存档中的 amdgpu-pro-install 脚本安装此驱动程序。

1.3 AviSynth

FFmpeg 可以读取 AviSynth 脚本作为输入。要启用支持,请 在安装AviSynth+--enable-avisynth提供的标头后传递给 configure 。可以将 AviSynth+ 配置为仅安装标头,方法是传递到正常的基于 CMake 的构建系统,或使用提供的. -DHEADERS_ONLY:bool=onGNUmakefile

对于 Windows,支持的 AviSynth 变体为 32 位版本的 AviSynth 2.6 RC1 或更高版本,以及32 位和 64 位版本的 AviSynth+ r1718 或更高版本。

对于 Linux、macOS 和 BSD,唯一支持的 AviSynth 变体是 AviSynth+,从版本 3.5 开始。

2016 年,AviSynth+ 添加了对使用 GCC 进行构建的支持。然而,由于 Windows 调用约定的怪异,AviSynth+ 的 32 位 GCC 版本与 FFmpeg 的典型 32 位版本不兼容。

默认情况下,FFmpeg 假定与 AviSynth+ 的 32 位 MSVC 构建兼容,因为这是最广泛使用和根深蒂固的构建配置。-DAVSC_WIN32_GCC32用户可以覆盖此设置,并通过 在配置 FFmpeg 时传递 来启用对 AviSynth+ 32 位 GCC 版本的支持--extra-cflags

FFmpeg 的 64 位版本不受影响,并且可以使用 AviSynth+ 的 MSVC 或 GCC 版本,无需任何特殊标志。

AviSynth(+) 是动态加载的。分销商可以使用 构建 FFmpeg --enable-avisynth,并且无论最终用户是否安装了 AviSynth,二进制文件都可以正常工作。如果/当最终用户想要使用 AviSynth 脚本时,他们可以安装 AviSynth(+),FFmpeg 将能够找到并使用它来打开脚本。

1.4 Chromaprint

FFmpeg 可以利用 Chromaprint 库来生成音频指纹。传递--enable-chromaprint给配置以启用它。请参阅https://acoustid.org/chromaprint

1.5 codec2

FFmpeg可以利用codec2库进行codec2解码和编码。目前没有原生解码器,所以必须使用libcodec2进行解码。

访问http://freedv.org/,下载“Codec 2 源存档”。使用 CMake 构建并安装。Debian 用户可以安装 libcodec2-dev 软件包。安装 libcodec2 后,您可以--enable-libcodec2通过配置来启用它。

使用 codec2 的最简单方法是使用 .c2 文件,因为它们包含解码所需的模式信息。要编码此类文件,请使用 .c2 文件扩展名并为 libcodec2 编码器提供 -mode 选项: ffmpeg -i input.wav -mode 700C output.c2。播放就这么简单ffplay output.c2。要获取支持模式的列表,请运行ffmpeg -h encoder=libcodec2。还支持原始编解码器2 文件。为了理解它们,需要将使用的模式指定为格式选项: ffmpeg -f codec2raw -mode 1300 -i input.raw output.wav

1.6 dav1d

FFmpeg 可以利用 dav1d 库进行 AV1 视频解码。

转至https://code.videolan.org/videolan/dav1d并按照安装该库的说明进行操作。然后传递--enable-libdav1d给configure以启用它。

1.7 davs2

FFmpeg 可以利用 davs2 库进行 AVS2-P2/IEEE1857.4 视频解码。

转到https://github.com/pkuvcl/davs2并按照安装该库的说明进行操作。然后传递--enable-libdavs2给configure以启用它。

libdavs2 采用 GNU 公共许可证版本 2 或更高版本(详细信息请参见http://www.gnu.org/licenses/old-licenses/gpl-2.0.html),您必须将 FFmpeg 的许可证升级到 GPL 才能使用它。

1.8 uavs3d

FFmpeg 可以利用 uavs3d 库进行 AVS3-P2/IEEE1857.10 视频解码。

访问https://github.com/uavs3/uavs3d并按照安装库的说明进行操作。然后传递--enable-libuavs3d给configure以启用它。

1.9 Game Music Emu

FFmpeg 可以利用 Game Music Emu 库从支持的视频游戏音乐文件格式读取音频。传递--enable-libgme给配置以启用它。请参阅https://bitbucket.org/mpyne/game-music-emu/overview

1.10 Intel QuickSync Video

FFmpeg 可以使用 Intel QuickSync Video (QSV) 来加速多个编解码器的解码和编码。要使用 QSV,FFmpeg 必须链接到libmfx 调度程序,该调度程序加载实际的解码库。

该调度程序是开源的,可以从 https://github.com/lu-zero/mfx_dispatch.git下载。FFmpeg 需要配置该--enable-libmfx选项,并且pkg-config需要能够找到调度程序的.pc文件。

1.11 Kvazaar

FFmpeg 可以利用 Kvazaar 库进行 HEVC 编码。

访问https://github.com/ultravideo/kvazaar并按照安装库的说明进行操作。然后传递 --enable-libkvazaar给configure以启用它。

1.12 LAME

FFmpeg 可以利用 LAME 库进行 MP3 编码。

访问http://lame.sourceforge.net/并按照说明安装该库。然后传递--enable-libmp3lame给configure以启用它。

1.13 libilbc

iLBC 是一种窄带语音编解码器,作为 WebRTC 项目的一部分由 Google 免费提供。libilbc 是 iLBC 编解码器的打包友好副本。FFmpeg 可以利用 libilbc 库进行 iLBC 解码和编码。

转到https://github.com/TimothyGu/libilbc并按照安装该库的说明进行操作。然后传递--enable-libilbc给configure以启用它。

1.14 libjxl

JPEG XL 是一种图像格式,旨在完全取代传统 JPEG,以延长其使用寿命。请参阅https://jpegxl.info/了解更多信息,并参阅 https://github.com/libjxl/libjxl了解库源。您可以传递 --enable-libjxl到configure以启用libjxl包装器。

1.15 libvpx

FFmpeg 可以利用 libvpx 库进行 VP8/VP9 解码和编码。

访问http://www.webmproject.org/并按照安装该库的说明进行操作。然后传递--enable-libvpx给configure以启用它。

1.16 ModPlug

FFmpeg 可以利用这个源自 Modplug-XMMS 的库来读取类似 MOD 的音乐文件。请参阅https://github.com/Konstanty/libmodplug。传递--enable-libmodplug给配置以启用它。

1.17 OpenCORE, VisualOn, and Fraunhofer libraries

OpenCore、VisualOn 和 Fraunhofer 库源自 Google Android 源代码,为多种音频编解码器提供编码器。

OpenCORE 和 VisualOn 库采用 Apache License 2.0(详细信息请参见http://www.apache.org/licenses/LICENSE-2.0 ),与 LGPL 版本 2.1 和 GPL 版本 2 不兼容。您必须升级 FFmpeg 的许可证通过传递配置来使用 LGPL 版本 3(或者如果您已启用 GPL 组件,--enable-version3则为 GPL 版本 3)。

Fraunhofer AAC 库的许可证与 GPL 不兼容。因此,对于 GPL 版本,您必须传递--enable-nonfree配置才能使用它。据我们所知,它与 LGPL 兼容。

1.17.1 OpenCORE AMR

FFmpeg 可以利用 OpenCORE 库进行 AMR-NB 解码/编码和 AMR-WB 解码。

转至http://sourceforge.net/projects/opencore-amr/并按照安装库的说明进行操作。然后通过--enable-libopencore-amrnb和/或 --enable-libopencore-amrwb配置来启用它们。

1.17.2 VisualOn AMR-WB编码器库

FFmpeg 可以利用 VisualOn AMR-WBenc 库进行 AMR-WB 编码。

转至http://sourceforge.net/projects/opencore-amr/并按照安装该库的说明进行操作。然后传递--enable-libvo-amrwbenc给configure以启用它。

1.17.3 Fraunhofer AAC库

FFmpeg 可以利用 Fraunhofer AAC 库进行 AAC 解码和编码。

转至http://sourceforge.net/projects/opencore-amr/并按照安装该库的说明进行操作。然后传递--enable-libfdk-aac给configure以启用它。

1.18 OpenH264

FFmpeg 可以利用 OpenH264 库进行 H.264 解码和编码。

访问http://www.openh264.org/并按照安装该库的说明进行操作。然后传递--enable-libopenh264给configure以启用它。

对于解码来说,这个库比 libavcodec 中内置的解码器要有限得多;目前,该库缺乏对 B 帧解码和其他一些主要/重要功能的支持。(它目前仅支持约束基线配置文件和 CABAC。)使用它主要用于测试和利用 Cisco 的专利组合许可证 ( http://www.openh264.org/BINARY_LICENSE.txt )。

1.19 OpenJPEG

FFmpeg 可以使用 OpenJPEG 库对 J2K 视频进行解码/编码。转至 http://www.openjpeg.org/获取库并按照安装说明进行操作。要在 FFmpeg 中启用 OpenJPEG,请传递--enable-libopenjpeg。/配置

1.20 rav1e

FFmpeg 可以通过其 C 绑定使用 rav1e(Rust AV1 编码器)来编码视频。访问https://github.com/xiph/rav1e/并按照说明构建 C 库。要在 FFmpeg 中启用 rav1e,请传递--enable-librav1e。/配置

1.21 SVT-AV1

FFmpeg 可以利用 Scalable Video Technology for AV1 库进行 AV1 编码。

访问https://gitlab.com/AOMediaCodec/SVT-AV1/并按照安装库的说明进行操作。然后传递--enable-libsvtav1给configure以启用它。

1.22 TwoLAME

FFmpeg 可以利用 TwoLAME 库进行 MP2 编码。

访问http://www.twolame.org/并按照安装该库的说明进行操作。然后传递--enable-libtwolame给configure以启用它。

1.23 VapourSynth

FFmpeg 可以读取 VapourSynth 脚本作为输入。要启用支持,请传递 --enable-vapoursynth到配置。Vapoursynth 通过检测 pkg-config。支持版本 42 或更高版本。请参阅http://www.vapoursynth.com/

出于安全考虑,Vapoursynth 脚本不会被自动检测,因此必须强制输入格式。对于 ff* CLI 工具,请-f vapoursynth在输入之前添加-i yourscript.vpy.

1.24 x264

FFmpeg 可以利用 x264 库进行 H.264 编码。

转至http://www.videolan.org/developers/x264.html并按照安装该库的说明进行操作。然后传递--enable-libx264给configure以启用它。

x264 遵循 GNU 公共许可证版本 2 或更高版本(详细信息请参见http://www.gnu.org/licenses/old-licenses/gpl-2.0.html),您必须将 FFmpeg 的许可证升级到 GPL 才能使用它。

1.25 x265

FFmpeg 可以利用 x265 库进行 HEVC 编码。

转至http://x265.org/developers.html并按照安装该库的说明进行操作。然后传递--enable-libx265给configure以启用它。

x265 遵循 GNU 公共许可证版本 2 或更高版本(详细信息请参见http://www.gnu.org/licenses/old-licenses/gpl-2.0.html),您必须将 FFmpeg 的许可证升级为 GPL 才能使用它。

1.26 xavs

FFmpeg 可以利用 xavs 库进行 AVS 编码。

转至http://xavs.sf.net/并按照安装该库的说明进行操作。然后传递--enable-libxavs给configure以启用它。

1.27 xavs2

FFmpeg 可以利用 xavs2 库进行 AVS2-P2/IEEE1857.4 视频编码。

转到https://github.com/pkuvcl/xavs2并按照安装该库的说明进行操作。然后传递--enable-libxavs2给configure以启用它。

libxavs2 采用 GNU 公共许可证版本 2 或更高版本(详细信息请参见http://www.gnu.org/licenses/old-licenses/gpl-2.0.html),您必须将 FFmpeg 的许可证升级到 GPL 才能使用它。

1.28 ZVBI

ZVBI是一个VBI解码库,FFmpeg可以使用它来解码DVB图文电视页面和DVB图文电视字幕。

转至http://sourceforge.net/projects/zapping/并按照安装该库的说明进行操作。然后传递--enable-libzvbi给configure以启用它。

2 支持的文件格式、编解码器或功能

您可以使用-formats-codecs选项来获得详尽的列表。

2.1 File Formats

FFmpeg 通过库支持以下文件格式libavformat

Name编码解码评论
3dostrX
4xmX4X Technologies 格式,用于某些游戏。
8088flex TMVX
AAXXAudible 增强音频格式,用于有声读物。
AAX有声格式 2、3 和 4,用于有声读物。
ACT VoiceX包含 G.729 音频
Adobe FilmstripXX
Audio IFF (AIFF)XX
American Laser Games MMXMad Dog McCree 等游戏中使用的多媒体格式。
3GPP AMRXX
Amazing Studio Packed Animation FileX游戏《黑暗之心》中使用的多媒体格式。
Apple HTTP Live StreamingX
Artworx Data FormatX
Interplay ACMX某些 Interplay 游戏中使用的纯音频格式。
ADPXNintendo Gamecube 使用的音频格式。
AFCXNintendo Gamecube 使用的音频格式。
ADS/SS2XPS2 上使用的音频格式。
APNGXX
ASFXX高级/活动流格式。
ASTXXNintendo Wii 上使用的音频格式。
AVIXX
AviSynthX
AVRXMac 上使用的音频格式。
AVSXCreature Shock 游戏使用的多媒体格式。
Beam Software SIFFXBeam Software 在某些游戏中使用的音频和视频格式。
Bethesda Softworks VIDX用于 Bethesda Softworks 的一些游戏。
Binary textX
BinkX许多游戏使用的多媒体格式。
Bink AudioX某些游戏使用的纯音频多媒体格式。
Bitmap Brothers JVX用于Z和Z95游戏。
BRPX阿尔戈英雄游戏格式。
Brute Force & IgnoranceX用于游戏《Flash Traffic:天使之城》。
BFSTMXNintendo WiiU 上使用的音频格式(基于 BRSTM)。
BRSTMXNintendo Wii 上使用的音频格式。
BW64X广播波 64 位。
BWFXX
codec2 (raw)XX必须给出 -mode 格式选项才能正确解码。
codec2 (.c2 files)XX包含带有版本和模式信息的标头,简化播放。
CRI ADXXX控制台视频游戏中使用的纯音频格式。
CRI AIXX
CRI HCAX控制台视频游戏中使用的纯音频格式。
Discworld II BMVX
Interplay C93X用于 Interplay 的 Cyber​​ia 游戏。
Delphine Software International CINXDelphine Software 游戏使用的多媒体格式。
Digital Speech Standard (DSS)X
CD+GXCD+G 卡拉 OK 光盘使用的视频格式
Phantom CineX
Commodore CDXLXAmiga CD 视频格式
Core Audio FormatXX苹果核心音频格式
CRC testing formatX
Creative VoiceXX专为 Sound Blaster Pro 创建。
CRYO APCXCRYO Interactive Entertainment 在某些游戏中使用的音频格式。
D-Cinema audioXX
Deluxe Paint AnimationX
DCSTRX
DFAX此格式用于 Chronomaster 游戏
DirectDraw SurfaceX
DSD Stream File (DSF)X
DV videoXX
DXAX此格式用于非 Windows 版本的 Feeble Files 游戏以及重新打包以与 ScummVM 一起使用的不同游戏过场动画。
Electronic Arts cdataX
Electronic Arts MultimediaX用于各种EA游戏;文件具有 WVE 和 UV2 等扩展名。
Ensoniq Paris Audio FileX
FFM (FFserver live feed)XX
Flash (SWF)XX
Flash 9 (AVM2)XX仅解码嵌入的音频。
FLI/FLC/FLX animationX.fli/.flc 文件
Flash Video (FLV)XXMacromedia Flash 视频文件
framecrc testing formatX
FunCom ISSXFunCom 的各种游戏(例如《最长的旅程》)中使用的音频格式。
G.723.1XX
G.726X左对齐和右对齐。
G.729 BITXX
G.729 rawX
GENHX各种游戏的音频格式。
GIF AnimationXX
GXFXX通用交换格式 SMPTE 360M,由 Thomson Grass Valley 播放服务器使用。
HNMX仅支持版本 4,用于 Cryo Interactive 的某些游戏
iCEDraw FileX
ICOXX微软Windows ICO
id Quake II CIN videoX
id RoQXX用于《雷神之锤 III》、《绝地武士 2》等电脑游戏。
IEC61937 encapsulationXX
IFFX交换文件格式
IFVX一些旧的 CCTV DVR 使用的格式。
iLBCXX
Interplay MVEX各种 Interplay 电脑游戏中使用的格式。
Iterated Systems ClearVideoX仅 I 帧
IV8X由 IndigoVision 8000 视频服务器生成的格式。
IVF (On2)XXlibvpx 使用的格式
Internet Video RecordingX
IRCAMXX
LAFX无限的音频格式
LATMXX
LMLM4X由 Linux Media Labs MPEG-4 PCI 板使用
LOASX包含 LATM 多路复用 AAC 音频
LRCXX
LVFX
LXFXVR 原生流格式,由 Leitch/Harris 的视频服务器使用。
Magic Lantern Video (MLV)X
MatroskaXX
Matroska audioX
FFmpeg metadataXX文本格式的元数据。
MAXIS XAX用于模拟城市3000;文件扩展名 .xa。
MCAX用于Capcom的一些游戏;文件扩展名 .mca。
MD StudioX
Metal Gear Solid: The Twin SnakesX
Megalux FrameXMegalux Ultimate Paint 使用
MobiClip MODSX
MobiClip MOFLEXX
Mobotix .mxgX
Monkey’s AudioX
Motion Pixels MVIX
MOV/QuickTime/MP4XX支持 3GP、3GP2、PSP、iPod 变体
MP2XX
MP3XX
MPEG-1 SystemXX音视频混合,支持VCD格式
MPEG-PS (program stream)XX也称为VOB文件,支持 SVCD 和 DVD 格式
MPEG-TS (transport stream)XX也称为 DVB 传输流
MPEG-4XXMPEG-4 是 QuickTime 的变体。
MSFXPS3 上使用的音频格式。
Mirillis FIC videoX无光标渲染。
MIDI Sample Dump StandardX
MIME multipart JPEGX
MSN TCP webcamX由 MSN Messenger 网络摄像头流使用。
MTVX
MusepackX
Musepack SV8X
Material eXchange Format (MXF)XXSMPTE 377M,D-Cinema、广播行业使用。
Material eXchange Format (MXF), D-10 MappingXXSMPTE 386M、D-10/IMX 映射。
NC camera feedXNC (AVIP NC4600) 摄像机流
NIST SPeech HEader REsourcesX
Computerized Speech Lab NSPX
NTT TwinVQ (VQF)X日本电报电话公司 TwinVQ。
Nullsoft Streaming VideoX
NuppelVideoX
NUTXXNUT 开放容器格式
OggXX
Playstation Portable PMPX
Portable Voice FormatX
RK Audio (RKA)X
TechnoTrend PVAX由 TechnoTrend DVB PCI 板使用。
QCPX
raw ADTS (AAC)XX
raw AC-3XX
raw AMR-NBX
raw AMR-WBX
raw APACX
raw aptXXX
raw aptX HDXX
raw BonkX
raw Chinese AVS videoXX
raw DFPWMXX
raw DiracXX
raw DNxHDXX
raw DTSXX
raw DTS-HDX
raw E-AC-3XX
raw FLACXX
raw GSMX
raw H.261XX
raw H.263XX
raw H.264XX
raw HEVCXX
raw Ingenient MJPEGX
raw MJPEGXX
raw MLPX
raw MPEGX
raw MPEG-1X
raw MPEG-2X
raw MPEG-4XX
raw NULLX
raw videoXX
raw id RoQX
raw OBUXX
raw OSQX
raw SBCXX
raw ShortenX
raw TAKX
raw TrueHDXX
raw VC-1XX
raw PCM A-lawXX
raw PCM mu-lawXX
raw PCM Archimedes VIDCXX
raw PCM signed 8 bitXX
raw PCM signed 16 bit big-endianXX
raw PCM signed 16 bit little-endianXX
raw PCM signed 24 bit big-endianXX
raw PCM signed 24 bit little-endianXX
raw PCM signed 32 bit big-endianXX
raw PCM signed 32 bit little-endianXX
raw PCM signed 64 bit big-endianXX
raw PCM signed 64 bit little-endianXX
raw PCM unsigned 8 bitXX
raw PCM unsigned 16 bit big-endianXX
raw PCM unsigned 16 bit little-endianXX
raw PCM unsigned 24 bit big-endianXX
raw PCM unsigned 24 bit little-endianXX
raw PCM unsigned 32 bit big-endianXX
raw PCM unsigned 32 bit little-endianXX
raw PCM 16.8 floating point little-endianX
raw PCM 24.0 floating point little-endianX
raw PCM floating-point 32 bit big-endianXX
raw PCM floating-point 32 bit little-endianXX
raw PCM floating-point 64 bit big-endianXX
raw PCM floating-point 64 bit little-endianXX
RDTX
REDCODE R3DXRED 数码相机使用的文件格式,包含 JPEG 2000 帧和 PCM 音频。
RealMediaXX
RedirectorX
RedSparkX
Renderware TeXture DictionaryX
Resolume DXVX
RF64X
RL2X娱乐软件合作伙伴在某些游戏中使用的音频和视频格式。
RPL/ARMovieX
Lego Mindstorms RSOXX
RSDX
RTMPXX通过将流发布到RTMP服务器来执行输出
RTPXX
RTSPXX
Sample Dump eXchangeX
SAPXX
SBGX
SDNSX
SDPX
SERX
Digital Pictures SGAX
Sega FILM/CPKXX用于许多世嘉土星游戏机游戏。
Silicon Graphics MovieX
Sierra SOLXSierra Online 游戏中使用的 .sol 文件。
Sierra VMDX用于 Sierra CD-ROM 游戏。
SmackerX许多游戏使用的多媒体格式。
SMJPEGXX用于某些 Loki 游戏移植。
SMPTE 337M encapsulationX
SmushX某些 LucasArts 游戏中使用的多媒体格式。
Sony OpenMG (OMA)XXSony Sonic Stage 和 Sony Vegas 使用的音频格式。
Sony PlayStation STRX
Sony Wave64 (W64)XX
SoX native formatXX
SUN AU formatXX
SUP raw PGS subtitlesXX
SVAGXKonami PS2 游戏中使用的音频格式。
TDSCX
Text filesX
THPX用于任天堂 GameCube。
Tiertex Limited SEQXTiertex .seq 文件用于游戏 Flashback 的 DOS CD-ROM 版本。
True AudioXX
VAGX许多索尼 PS2 游戏中使用的音频格式。
VC-1 test bitstreamXX
Vidvox HapXX
VivoX
VPKX索尼 PS 游戏中使用的音频格式。
Marble WADYX
WAVXX
Waveform ArchiverX
WavPackXX
WebMXX
Windows Televison (WTV)XX
Wing Commander III movieXOrigin 的 Wing Commander III 电脑游戏中使用的多媒体格式。
Westwood Studios audioXXWestwood Studios 游戏中使用的多媒体格式。
Westwood Studios VQAXWestwood Studios 游戏中使用的多媒体格式。
Wideband Single-bit Data (WSD)X
WVEX
Konami XMDX
XMVXXbox 游戏中使用的 Microsoft 视频容器。
XVAGXPS3 上使用的音频格式。
xWMAXXAudio 2 使用的 Microsoft 音频容器。
eXtended BINary text (XBIN)X
YUV4MPEG pipeXX
Psygnosis YOPX

X表示支持该列中的功能(编码/解码)。

2.2 Image Formats

FFmpeg 可以读取和写入视频序列的每一帧的图像。支持以下图像格式:

Name编码解码评论
.Y.U.VXX每个组件一个原始文件
Alias PIXXXAlias/Wavefront PIX 图像格式
animated GIFXX
APNGXX动画便携式网络图形
BMPXX微软BMP图像
BRender PIXXArgonaut BRender 3D 引擎图像格式。
CRIX辛特尔RAW
DPXXX数字图片交换
EXRX开放EXR
FITSXX灵活的图像传输系统
HDRXXRadiance HDR RGBE 图像格式
IMGXGEM 光栅图像
JPEGXX不支持渐进式 JPEG。
JPEG 2000XX
JPEG-LSXX
LJPEGX无损 JPEG
Media 100X
MSPX微软画图图像
PAMXXPAM 是具有 alpha 支持的 PNM 扩展。
PBMXX便携式位图图像
PCDX照片CD
PCXXX电脑画笔
PFMXX便携式浮动地图图像
PGMXX便携式灰度图图像
PGMYUVXXYUV 4:2:0 中具有 U 和 V 分量的 PGM
PGXXPGX 文件解码器
PHMXX便携式 HalfFloatMap 图像
PICX绘画/PC油漆
PNGXX便携式网络图形图像
PPMXX便携式 PixelMap 图像
PSDXPhotoshop
PTXX五、Flash PTX格式
QOIXX相当不错的图像格式
SGIXXSGI RGB 图像格式
Sun RasterfileXXSun RAS 映像格式
TIFFXX尚不支持 YUV、JPEG 和某些扩展。
Truevision TargaXXTarga (.TGA) 图像格式
VBNXXVizrt 二进制图像格式
WBMPXX无线应用协议位图图像格式
WebPXWebP图像格式,通过外部库libwebp支持编码
XBMXXX 位图图像格式
XFaceXXX-Face 图像格式
XPMXX PixMap 图像格式
XWDXXX Window 转储图像格式

X表示支持该列中的功能(编码/解码)。

E意味着支持是通过外部库提供的。

2.3 Video Codecs

Name编码解码评论
4X MovieX用于某些电脑游戏。
8088flex TMVX
A64 multicolorX创建适合在 Commodore 64(多色模式)上播放的视频。
Amazing Studio PAF VideoX
American Laser Games MMX用于像疯狗麦克雷这样的游戏。
Amuse Graphics MovieX
AMV VideoXX用于中文MP3播放器。
ANSI/ASCII artX
Apple Intermediate CodecX
Apple MJPEG-BX
Apple PixletX
Apple ProResXXfourcc:apch、apcn、apcs、apco、ap4h、ap4x
Apple QuickDrawXfourcc:qdrw
Argonaut VideoX用于一些阿尔戈英雄游戏。
Asus v1XX四联:ASV1
Asus v2XX四联:ASV2
ATI VCR1X四联:VCR1
ATI VCR2X四:VCR2
Auravision AuraX
Auravision Aura 2X
Autodesk Animator Flic videoX
Autodesk RLEX四方:AASC
AV1通过外部库 libaom、libdav1d、librav1e 和 libsvtav1 支持
Avid 1:1 10-bit RGB PackerXXfourcc:AVrp
AVS (Audio Video Standard) videoXCreature Shock 游戏使用的视频编码。
AVS2-P2/IEEE1857.4通过外部库 libxavs2 和 libdavs2 支持
AVS3-P2/IEEE1857.10通过外部库 libuavs3d 支持
AYUVXXMicrosoft 未压缩打包 4:4:4:4
Beam Software VBX
Bethesda VID videoX用于 Bethesda Softworks 的一些游戏。
Bink VideoX
BitJazz SheerVideoX
Bitmap Brothers JV videoX
y41p Brooktree uncompressed 4:1:1 12-bitXX
Brooktree ProSumer VideoX四联:BT20
Brute Force & IgnoranceX用于游戏《Flash Traffic:天使之城》。
C93 videoXCyber​​ia 游戏中使用的编解码器。
CamStudioX四方:CSCD
CD+GXCD+G 卡拉 OK 光盘的视频编解码器
CDXLXAmiga CD 视频编解码器
Chinese AVS videoXAVS1-P2,JiZhun配置文件,通过外部库libxavs编码
Delphine Software International CIN videoXDelphine Software International 游戏中使用的编解码器。
Discworld II BMV VideoX
CineForm HDXX
Canopus HQX
Canopus HQAX
Canopus HQXX
Canopus Lossless CodecX
CDToonsX各种 Broderbund 游戏中使用的编解码器。
CinepakX
Cirrus Logic AccuPakXX四方:CLJR
CPiA Video FormatX
Creative YUV (CYUV)X
DFAXChronomaster 游戏中使用的编解码器。
DiracX通过本机 vc2 (Dirac Pro) 编码器支持
Deluxe Paint AnimationX
DNxHDXX又名 SMPTE VC3
Duck TrueMotion 1.0Xfourcc: 鸭子
Duck TrueMotion 2.0X四联:TM20
Duck TrueMotion 2.0 RTX四联:TR20
DV (Digital Video)XX
Dxtory capture formatX
Feeble Files/ScummVM DXAX编解码器最初用于 Feeble Files 游戏。
Electronic Arts CMV videoX用于 NHL 95 比赛。
Electronic Arts Madcow videoX
Electronic Arts TGV videoX
Electronic Arts TGQ videoX
Electronic Arts TQI videoX
Escape 124X
Escape 130X
FFmpeg video codec #1XX无损编解码器(fourcc:FFV1)
Flash Screen Video v1XXfourcc:FSV1
Flash Screen Video v2XX
Flash Video (FLV)XXFlash 中使用的 Sorenson H.263
FM Screen Capture CodecX
Forward UncompressedX
FrapsX
Go2MeetingXfourcc:G2M2、G2M3
Go2WebinarX四联:G2M4
Gremlin Digital VideoX
H.261XX
H.263 / H.263-1996XX
H.263+ / H.263-1998 / H.263 version 2XX
H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10X通过外部库 libx264 和 OpenH264 支持的编码
HEVCXX通过外部库 libx265 和 libkvazaar 支持的编码
HNM version 4X
HuffYUVXX
HuffYUV FFmpeg variantXX
IBM UltimotionXfourcc:ULTI
id Cinematic videoX用于《雷神之锤 II》。
id RoQ videoXX用于《雷神之锤 III》、《绝地武士 2》和其他电脑游戏。
IFF ILBMXIFF 交错位图
IFF ByteRun1XIFF 游程长度编码位图
Infinity IMM4X
Intel H.263X
Intel Indeo 2X
Intel Indeo 3X
Intel Indeo 4X
Intel Indeo 5X
Interplay C93X用于 Interplay 的 Cyber​​ia 游戏。
Interplay MVE videoX用于 Interplay .MVE 文件。
J2KXX
Karl Morton’s video codecX《百战天虫》游戏中使用的编解码器。
Kega Game Video (KGV1)XKega 模拟器屏幕捕获编解码器。
LagarithX
LCL (LossLess Codec Library) MSZHX
LCL (LossLess Codec Library) ZLIB
LEAD MCMPX
LOCOX
LucasArts SANM/SmushX用于 LucasArts 游戏/SMUSH 动画。
lossless MJPEGXX
MagicYUV VideoXX
Mandsoft Screen Capture CodecX
Microsoft ATC ScreenX也称为 Microsoft Screen 3。
Microsoft Expression Encoder ScreenX也称为微软钛屏 2。
Microsoft RLEXX
Microsoft Screen 1X也称为 Windows Media Video V7 屏幕。
Microsoft Screen 2X也称为 Windows Media Video V9 屏幕。
Microsoft Video 1X
MimicX用于 MSN Messenger 网络摄像头流。
Miro VideoXLXfourcc:VIXL
MJPEG (Motion JPEG)XX
Mobotix MxPEG videoX
Motion Pixels videoX
MPEG-1 videoXX
MPEG-2 videoXX
MPEG-4 part 2XXlibxvidcore 也可以用于编码。
MPEG-4 part 2 Microsoft variant version 1X
MPEG-4 part 2 Microsoft variant version 2XX
MPEG-4 part 2 Microsoft variant version 3XX
Newtek SpeedHQXX
Nintendo Gamecube THP videoX
NotchLCX
NuppelVideo/RTjpegXNuppelVideo 文件中使用的视频编码。
On2 VP3X仍处于实验阶段
On2 VP4X四联:VP40
On2 VP5X四联:VP50
On2 VP6X四:VP60、VP61、VP62
On2 VP7X四:VP70、VP71
VP8Xfourcc:VP80,通过外部库 libvpx 支持的编码
VP9X通过外部库 libvpx 支持的编码
Pinnacle TARGA CineWave YUV16X四联:Y216
Q-team QPEGXfourccs:QPEG、Q1.0、Q1.1
QuickTime 8BPS videoX
QuickTime Animation (RLE) videoXXfourcc: 'rle'
QuickTime Graphics (SMC)XXfourcc: 'smc'
QuickTime video (RPZA)XXfourcc: rpza
R10K AJA Kona 10-bit RGB CodecXX
R210 Quicktime Uncompressed RGB 10-bitXX
Raw VideoXX
RealVideo 1.0XX
RealVideo 2.0XX
RealVideo 3.0X离理想还很远
RealVideo 4.0X
Renderware TXD (TeXture Dictionary)XRenderware 引擎使用的纹理字典。
RivaTuner VideoXfourcc: 'RTV1'
RL2 videoX娱乐软件合作伙伴在某些游戏中使用
ScreenPressorX
ScreenpressoX
Screen Recorder Gold CodecX
Sierra VMD videoX用于 Sierra VMD 文件。
Silicon Graphics Motion Video Compressor 1 (MVC1)X
Silicon Graphics Motion Video Compressor 2 (MVC2)X
Silicon Graphics RLE 8-bit videoX
Smacker videoXSmacker 中使用的视频编码。
SMPTE VC-1X
SnowXX实验性小波编解码器(fourcc:SNOW)
Sony PlayStation MDEC (Motion DECoder)X
Sorenson Vector Quantizer 1XX四联:SVQ1
Sorenson Vector Quantizer 3X四联:SVQ3
Sunplus JPEG (SP5X)X四联:SP5X
TechSmith Screen Capture CodecX四号:TSCC
TechSmith Screen Capture Codec 2X四联:TSC2
TheoraX通过外部库 libtheora 支持的编码
Tiertex Limited SEQ videoXDOS CD-ROM FlashBack 游戏中使用的编解码器。
Ut VideoXX
v210 QuickTime uncompressed 4:2:2 10-bitXX
v308 QuickTime uncompressed 4:4:4XX
v408 QuickTime uncompressed 4:4:4:4XX
v410 QuickTime uncompressed 4:4:4 10-bitXX
VBLE Lossless CodecX
vMix VideoXfourcc: 'VMX1'
VMware Screen Codec / VMware VideoXVMware 捕获的视频中使用的编解码器。
Westwood Studios VQA (Vector Quantized Animation) videoX
Windows Media ImageX
Windows Media Video 7XX
Windows Media Video 8XX
Windows Media Video 9X不完全工作
Wing Commander III / XanX用于 Wing Commander III .MVE 文件。
Wing Commander IV / XanX用于 Wing Commander IV。
Winnov WNV1X
WMV7XX
YAMAHA SMAFXX
Psygnosis YOP VideoX
yuv4XXlibquicktime 未压缩打包 4:2:0
ZeroCodec Lossless VideoX
ZLIBXXLCL部分,编码器实验
Zip Motion Blocks VideoXX编码器仅适用于 PAL8。

X表示支持该列中的功能(编码/解码)。

E意味着支持是通过外部库提供的。

2.4 Audio Codecs

Name编码解码评论
8SVX exponentialX
8SVX fibonacciX
AAC前任X通过内部编码器和外部库 libfdk-aac 支持的编码
AAC+通过外部库 libfdk-aac 支持的编码
AC-3
ACELP.KELVINX
ADPCM 4X MovieX
ADPCM Yamaha AICAX
ADPCM AmuseGraphics MovieX
ADPCM Argonaut GamesXX
ADPCM CDROM XAX
ADPCM Creative TechnologyX16 -> 4, 8 -> 4, 8 -> 3, 8 -> 2
ADPCM Electronic ArtsX用于各种 EA 游戏。
ADPCM Electronic Arts Maxis CDROM XSX用于《模拟城市 3000》。
ADPCM Electronic Arts R1X
ADPCM Electronic Arts R2X
ADPCM Electronic Arts R3X
ADPCM Electronic Arts XASX
ADPCM G.722XX
ADPCM G.726XX
ADPCM IMA Acorn ReplayX
ADPCM IMA AMVXX用于 AMV 文件
ADPCM IMA Cunning DevelopmentsX
ADPCM IMA Electronic Arts EACSX
ADPCM IMA Electronic Arts SEADX
ADPCM IMA FuncomX
ADPCM IMA High Voltage Software ALPXX
ADPCM IMA Mobiclip MOFLEXX
ADPCM IMA QuickTimeXX
ADPCM IMA Simon & Schuster InteractiveXX
ADPCM IMA Ubisoft APMXX
ADPCM IMA Loki SDL MJPEGX
ADPCM IMA WAVXX
ADPCM IMA WestwoodX
ADPCM ISS IMAX用于 FunCom 游戏。
ADPCM IMA DialogicX
ADPCM IMA Duck DK3X用于一些世嘉土星游戏机游戏。
ADPCM IMA Duck DK4X用于一些世嘉土星游戏机游戏。
ADPCM IMA RadicalX
ADPCM MicrosoftXX
ADPCM MS IMAXX
ADPCM Nintendo Gamecube AFCX
ADPCM Nintendo Gamecube DTKX
ADPCM Nintendo THPX
ADPCM PlaystationX
ADPCM QT IMAXX
ADPCM SEGA CRI ADXXX用于世嘉 Dreamcast 游戏。
ADPCM Shockwave FlashXX
ADPCM Sound Blaster Pro 2-bitX
ADPCM Sound Blaster Pro 2.6-bitX
ADPCM Sound Blaster Pro 4-bitX
ADPCM VIMAX用于 LucasArts SMUSH 动画。
ADPCM Konami XMDX
ADPCM Westwood Studios IMAXX用于 Westwood Studios 游戏,例如《命令与征服》。
ADPCM YamahaXX
ADPCM ZorkX
AMR-NBX通过外部库 libopencore-amrnb 支持的编码
AMR-WBX通过外部库 libvo-amrwbenc 支持的编码
Amazing Studio PAF AudioX
Apple lossless audioXXQuickTime fourcc 'alac'
aptXXX用于蓝牙A2DP
aptX HDXX用于蓝牙A2DP
ATRAC1X
ATRAC3X
ATRAC3+X
ATRAC9X
Bink AudioX用于许多游戏中的 Bink 和 Smacker 文件。
Bonk audioX
CELT通过外部库 libcelt 支持解码
codec2通过外部库 libcodec2 支持 en/解码
CRI HCAX
Delphine Software International CIN audioXDelphine Software International 游戏中使用的编解码器。
DFPWMXX
Digital Speech Standard - Standard Play mode (DSS SP)X
Discworld II BMV AudioX
COOKX支持除 5.1 之外的所有版本。
DCA (DTS Coherent Acoustics)XX支持的扩展名:XCh、XXCH、X96、XBR、XLL、LBR(部分)
Dolby EX
DPCM Cuberoot-Delta-ExactX在少数游戏中使用。
DPCM GremlinX
DPCM id RoQXX用于《雷神之锤 III》、《绝地武士 2》等电脑游戏。
DPCM Marble WADYX
DPCM InterplayX用于各种 Interplay 电脑游戏。
DPCM Squareroot-Delta-ExactX用于各种游戏。
DPCM Sierra OnlineX用于 Sierra Online 游戏音频文件。
DPCM SolX
DPCM XanX用于 Origin 的 Wing Commander IV AVI 文件。
DPCM Xilam DERFX
DSD (Direct Stream Digital), least significant bit firstX
DSD (Direct Stream Digital), most significant bit firstX
DSD (Direct Stream Digital), least significant bit first, planarX
DSD (Direct Stream Digital), most significant bit first, planarX
DSP Group TrueSpeechX
DST (Direct Stream Transfer)X
DV audioX
Enhanced AC-3XX
EVRC (Enhanced Variable Rate Codec)X
FLAC (Free Lossless Audio Codec)X
FTR VoiceX
G.723.1XX
G.729X
GSMX通过外部库 libgsm 支持的编码
GSM Microsoft variantX通过外部库 libgsm 支持的编码
IAC (Indeo Audio Coder)X
iLBC (Internet Low Bitrate Codec)前任通过外部库 libilbc 支持编码和解码
IMC (Intel Music Coder)X
Interplay ACMX
MACE (Macintosh Audio Compression/Expansion) 3:1X
MACE (Macintosh Audio Compression/Expansion) 6:1X
Marian’s A-pac audioX
MI-SC4 (Micronas SC-4 Audio)X
MLP (Meridian Lossless Packing)XX用于 DVD 音频光盘。
Monkey’s AudioX
MP1 (MPEG audio layer 1)
MP2 (MPEG audio layer 2)还通过外部库 TwoLAME 支持编码
MP3 (MPEG audio layer 3)通过外部库 LAME 支持编码,还支持 ADU MP3 和 MP3onMP4
MPEG-4 Audio Lossless Coding (ALS)X
MobiClip FastAudioX
Musepack SV7X
Musepack SV8X
Nellymoser AsaoXX
On2 AVC (Audio for Video Codec)X
OpusX通过外部库 libopus 支持的编码
OSQ (Original Sound Quality)X
PCM A-lawXX
PCM mu-lawXX
PCM Archimedes VIDCXX
PCM signed 8-bit planarXX
PCM signed 16-bit big-endian planarXX
PCM signed 16-bit little-endian planarXX
PCM signed 24-bit little-endian planarXX
PCM signed 32-bit little-endian planarXX
PCM 32-bit floating point big-endianXX
PCM 32-bit floating point little-endianXX
PCM 64-bit floating point big-endianXX
PCM 64-bit floating point little-endianXX
PCM D-Cinema audio signed 24-bitXX
PCM signed 8-bitXX
PCM signed 16-bit big-endianXX
PCM signed 16-bit little-endianXX
PCM signed 24-bit big-endianXX
PCM signed 24-bit little-endianXX
PCM signed 32-bit big-endianXX
PCM signed 32-bit little-endianXX
PCM signed 16/20/24-bit big-endian in MPEG-TSX
PCM unsigned 8-bitXX
PCM unsigned 16-bit big-endianXX
PCM unsigned 16-bit little-endianXX
PCM unsigned 24-bit big-endianXX
PCM unsigned 24-bit little-endianXX
PCM unsigned 32-bit big-endianXX
PCM unsigned 32-bit little-endianXX
PCM SGAX
QCELP / PureVoiceX
QDesign Music Codec 1X
QDesign Music Codec 2X仍然存在一些扭曲。
RealAudio 1.0 (14.4K)XX真正的 14400 位/秒编解码器
RealAudio 2.0 (28.8K)X真正的 28800 位/秒编解码器
RealAudio 3.0 (dnet)X真正的低比特率 AC-3 编解码器
RealAudio LosslessX
RealAudio SIPR / ACELP.NETX
RK Audio (RKA)X
SBC (low-complexity subband codec)XX用于蓝牙A2DP
ShortenX
Sierra VMD audioX用于 Sierra VMD 文件。
Smacker audioX
SMPTE 302M AES3 audioXX
SonicXX实验编解码器
Sonic losslessXX实验编解码器
Speex前任通过外部库 libspeex 支持
TAK (Tom’s lossless Audio Kompressor)X
True Audio (TTA)XX
TrueHDXX用于 HD-DVD 和蓝光光盘。
TwinVQ (VQF flavor)X
VIMAX用于 LucasArts SMUSH 动画。
ViewQuest VQCX
VorbisX存在一种本机但非常原始的编码器。
Voxware MetaSoundX
Waveform ArchiverX
WavPackXX
Westwood Audio (SND1)X
Windows Media Audio 1XX
Windows Media Audio 2XX
Windows Media Audio LosslessX
Windows Media Audio ProX
Windows Media Audio VoiceX
Xbox Media Audio 1X
Xbox Media Audio 2X

X表示支持该列中的功能(编码/解码)。

E意味着支持是通过外部库提供的。

I意味着也可以使用纯整数版本(确保在没有硬件浮点支持的系统上获得高性能)。

2.5 Subtitle Formats

Name穆星解复用编码解码
3GPP Timed TextXX
AQTitleXX
DVBXXXX
DVB teletextX
DVDXXXX
JACOsubXXX
MicroDVDXXX
MPL2XX
MPsub (MPlayer)XX
PGSX
PJS (Phoenix)XX
RealTextXX
SAMIXX
Spruce format (STL)XX
SSA/ASSXXXX
SubRip (SRT)XXXX
SubViewer v1XX
SubViewerXX
TED Talks captionsXX
TTMLXX
VobSub (IDX+SUB)XX
VPlayerXX
WebVTTXXXX
XSUBXX

X表示支持该功能。

E意味着支持是通过外部库提供的。

2.6 Network Protocols

Name支持
AMQP
fileX
FTPX
GopherX
GophersX
HLSX
HTTPX
HTTPSX
IcecastX
MMSHX
MMSTX
pipeX
Pro-MPEG FECX
RTMPX
RTMPEX
RTMPSX
RTMPTX
RTMPTEX
RTMPTSX
RTPX
SAMBA
SCTPX
SFTP
TCPX
TLSX
UDPX
ZMQ

X表示支持该协议。

E意味着支持是通过外部库提供的。

2.7 Input/Output Devices

Name输入输出
ALSAXX
BKTRX
cacaX
DV1394X
Lavfi virtual deviceX
Linux framebufferXX
JACKX
LIBCDIOX
LIBDC1394X
OpenALX
OpenGLX
OSSXX
PulseAudioXX
SDLX
Video4Linux2XX
VfW captureX
X11 grabbingX
Win32 grabbingX

X表示支持输入/输出。

2.8 Timecode

Codec/format
AVIXX
DVXX
GXFXX
MOVXX
MPEG1/2XX
MXFXX

本文档于2023 年 11 月 17 日使用makeinfo 生成。

由telepoint.bg提供的托管