通用文档

网站翻译由林建有提供支持

1 外部库

FFmpeg 可以与许多外部库连接,以增加对更多格式的支持。默认情况下,它们都不被使用,在配置时需要显式传递适当的标志以启用。./configure.

1.1 开放媒体联盟(AOM)

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

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

1.2 AMD AMF/VCE

FFmpeg 可以使用 AMD 高级媒体框架库(AMF)来加速硬件上的 H.264 和 HEVC(仅限 Windows)编码,这些硬件配备了视频编码引擎(VCE)。

要启用支持,您必须从https://github.com/GPUOpen-LibrariesAndSDKs/AMF.git.

创建一个AMF/目录并放置到系统的 include 路径中。然后配置 FFmpeg 时需要传递AMF/amf/public/include/ into that directory. Then configure FFmpeg with --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 脚本作为输入读取。要启用该支持,请在安装由--enable-avisynth提供的头文件后,将AviSynth+作为参数传递给配置系统。AviSynth+ 可以通过传递参数-DHEADERS_ONLY:bool=on给标准 CMake 构建系统来配置为仅安装头文件。GNUmakefile.

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

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

自 2016 年起,AviSynth+ 增加了 GCC 构建支持。但是,由于 Windows 调用约定的特殊性,32 位 GCC 构建的 AviSynth+ 与 FFmpeg 的典型 32 位构建不兼容。

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

64 位构建的 FFmpeg 不受此限制,可以使用 MSVC 或 GCC 构建的 AviSynth+,无需特殊标志。

AviSynth(+)是动态加载的。分发者可以通过配置参数--enable-avisynth来构建 FFmpeg,生成的二进制文件即便用户没有安装 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。 也支持原始 codec2 文件种类。 为了理解它们,需要在格式选项中指定所用的模式:ffmpeg -f codec2raw -mode 1300 -i input.raw output.wav.

1.6 dav1d

FFmpeg can make use of the dav1d library for AV1 video decoding.

Go to https://code.videolan.org/videolan/dav1d and follow the instructions for installing the library. Then pass --enable-libdav1d to configure to enable it.

1.7 davs2

FFmpeg can make use of the davs2 library for AVS2-P2/IEEE1857.4 video decoding.

Go to https://github.com/pkuvcl/davs2 and follow the instructions for installing the library. Then pass --enable-libdavs2 to configure to enable it.

libdavs2 is under the GNU Public License Version 2 or later (see http://www.gnu.org/licenses/old-licenses/gpl-2.0.html for details), you must upgrade FFmpeg’s license to GPL in order to use it.

1.8 uavs3d

FFmpeg can make use of the uavs3d library for AVS3-P2/IEEE1857.10 video decoding.

Go to https://github.com/uavs3/uavs3d and follow the instructions for installing the library. Then pass --enable-libuavs3d to configure to enable it.

1.9 Game Music Emu

FFmpeg can make use of the Game Music Emu library to read audio from supported video game music file formats. Pass --enable-libgme to configure to enable it. See https://bitbucket.org/mpyne/game-music-emu/overview.

1.10 Intel QuickSync Video

FFmpeg can use Intel QuickSync Video (QSV) for accelerated decoding and encoding of multiple codecs. To use QSV, FFmpeg must be linked against the libmfx dispatcher, which loads the actual decoding libraries.

The dispatcher is open source and can be downloaded from https://github.com/lu-zero/mfx_dispatch.git. FFmpeg needs to be configured with the --enable-libmfx option and pkg-config needs to be able to locate the dispatcher’s .pc files.

1.11 Kvazaar

FFmpeg can make use of the Kvazaar library for HEVC encoding.

Go to https://github.com/ultravideo/kvazaar and follow the instructions for installing the library. Then pass --enable-libkvazaar to configure to enable it.

1.12 LAME

FFmpeg can make use of the LAME library for MP3 encoding.

Go to http://lame.sourceforge.net/ and follow the instructions for installing the library. Then pass --enable-libmp3lame to configure to enable it.

1.13 LCEVCdec

FFmpeg can make use of the liblcevc_dec library for LCEVC enhacement layer decoding on supported bitstreams.

Go to https://github.com/v-novaltd/LCEVCdec and follow the instructions for installing the library. Then pass --enable-liblcevc-dec to configure to enable it.

LCEVCdec is under the BSD-3-Clause-Clear License.

1.14 libilbc

iLBC is a narrowband speech codec that has been made freely available by Google as part of the WebRTC project. libilbc is a packaging friendly copy of the iLBC codec. FFmpeg can make use of the libilbc library for iLBC decoding and encoding.

Go to https://github.com/TimothyGu/libilbc and follow the instructions for installing the library. Then pass --enable-libilbc to configure to enable it.

1.15 libjxl

JPEG XL is an image format intended to fully replace legacy JPEG for an extended period of life. See https://jpegxl.info/ for more information, and see https://github.com/libjxl/libjxl for the library source. You can pass --enable-libjxl to configure in order enable the libjxl wrapper.

1.16 libvpx

FFmpeg can make use of the libvpx library for VP8/VP9 decoding and encoding.

Go to http://www.webmproject.org/ and follow the instructions for installing the library. Then pass --enable-libvpx to configure to enable it.

1.17 ModPlug

FFmpeg can make use of this library, originating in Modplug-XMMS, to read from MOD-like music files. See https://github.com/Konstanty/libmodplug. Pass --enable-libmodplug to configure to enable it.

1.18 OpenCORE, VisualOn, and Fraunhofer libraries

Spun off Google Android sources, OpenCore, VisualOn and Fraunhofer libraries provide encoders for a number of audio codecs.

OpenCORE and VisualOn libraries are under the Apache License 2.0 (see http://www.apache.org/licenses/LICENSE-2.0 for details), which is incompatible to the LGPL version 2.1 and GPL version 2. You have to upgrade FFmpeg’s license to LGPL version 3 (or if you have enabled GPL components, GPL version 3) by passing --enable-version3 to configure in order to use it.

The license of the Fraunhofer AAC library is incompatible with the GPL. Therefore, for GPL builds, you have to pass --enable-nonfree to configure in order to use it. To the best of our knowledge, it is compatible with the LGPL.

1.18.1 OpenCORE AMR

FFmpeg can make use of the OpenCORE libraries for AMR-NB decoding/encoding and AMR-WB decoding.

Go to http://sourceforge.net/projects/opencore-amr/ and follow the instructions for installing the libraries. Then pass --enable-libopencore-amrnb and/or --enable-libopencore-amrwb to configure to enable them.

1.18.2 VisualOn AMR-WB encoder library

FFmpeg can make use of the VisualOn AMR-WBenc library for AMR-WB encoding.

Go to http://sourceforge.net/projects/opencore-amr/ and follow the instructions for installing the library. Then pass --enable-libvo-amrwbenc to configure to enable it.

1.18.3 Fraunhofer AAC library

FFmpeg can make use of the Fraunhofer AAC library for AAC decoding & encoding.

Go to http://sourceforge.net/projects/opencore-amr/ and follow the instructions for installing the library. Then pass --enable-libfdk-aac to configure to enable it.

1.18.4 LC3 library

FFmpeg can make use of the Google LC3 library for LC3 decoding & encoding.

Go to https://github.com/google/liblc3/ and follow the instructions for installing the library. Then pass --enable-liblc3 to configure to enable it.

1.19 OpenH264

FFmpeg can make use of the OpenH264 library for H.264 decoding and encoding.

Go to http://www.openh264.org/ and follow the instructions for installing the library. Then pass --enable-libopenh264 to configure to enable it.

For decoding, this library is much more limited than the built-in decoder in libavcodec; currently, this library lacks support for decoding B-frames and some other main/high profile features. (It currently only supports constrained baseline profile and CABAC.) Using it is mostly useful for testing and for taking advantage of Cisco’s patent portfolio license (http://www.openh264.org/BINARY_LICENSE.txt).

1.20 OpenJPEG

FFmpeg 可以使用 OpenJPEG 库来解码/编码 J2K 视频。请访问http://www.openjpeg.org/获取库并遵循安装说明。要在 FFmpeg 中启用使用 OpenJPEG,请传递--enable-libopenjpeg./configure.

1.21 rav1e

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

1.22 SVT-AV1

FFmpeg 可以使用 AV1 的可扩展视频技术库进行 AV1 编码。

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

1.23 TwoLAME

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

请访问http://www.twolame.org/并按照安装库的说明操作。然后传递--enable-libtwolame至配置以启用它。

1.24 VapourSynth

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

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

1.25 x264

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

请访问http://www.videolan.org/developers/x264.html并按照安装库的说明操作。然后传递--enable-libx264至配置以启用它。

x264 根据 GNU 公共许可证版本 2 或更高版本(请参阅http://www.gnu.org/licenses/old-licenses/gpl-2.0.html了解详细信息),您需要将 FFmpeg 的许可证升级为 GPL 才能使用它。

1.26 x265

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

请访问http://x265.org/developers.html并按照安装库的说明操作。然后传递--enable-libx265至配置以启用它。

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

1.27 xavs

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

请访问http://xavs.sf.net/并按照安装库的说明操作。然后传递--enable-libxavs至配置以启用它。

1.28 xavs2

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

请访问https://github.com/pkuvcl/xavs2并按照安装库的说明操作。然后传递--enable-libxavs2至配置以启用它。

libxavs2 根据 GNU 公共许可证版本 2 或更高版本(请参阅http://www.gnu.org/licenses/old-licenses/gpl-2.0.html了解详细信息),您需要将 FFmpeg 的许可证升级为 GPL 才能使用它。

1.29 eXtra-fast Essential Video Encoder (XEVE)

FFmpeg 可以使用 XEVE 库进行 EVC 视频编码。

请访问https://github.com/mpeg5/xeve并按照安装 XEVE 库的说明操作。然后传递--enable-libxeve至配置以启用它。

1.30 eXtra-fast Essential Video Decoder (XEVD)

FFmpeg 可以使用 XEVD 库进行 EVC 视频解码。

请访问https://github.com/mpeg5/xevd并按照安装 XEVD 库的说明操作。然后传递--enable-libxevd至配置以启用它。

1.31 ZVBI

ZVBI 是一种 VBI 解码库,FFmpeg 可以使用它解码 DVB 字幕和 DVB 字幕标题。

请访问http://sourceforge.net/projects/zapping/并按照安装库的说明操作。然后传递--enable-libzvbi至配置以启用它。

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

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

2.1 文件格式

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

名称编码解码备注
3dostrX
4xmX4X Technologies 格式,使用于一些游戏中。
8088flex TMVX
AAXXAudible 增强音频格式,用于有声读物。
AAXAudible 格式 2、3 和 4,用于有声读物。
ACT 语音X包含 G.729 音频
Adobe 电影条XX
音频 IFF (AIFF)XX
American 激光游戏 MMX用于游戏如 Mad Dog McCree 的多媒体格式。
3GPP AMRXX
Amazing Studio 压缩动画文件X用于游戏 Heart Of Darkness 的多媒体格式。
Apple HTTP 流媒体X
Artworx 数据格式X
Interplay ACMX仅音频格式,用于一些 Interplay 游戏。
ADPX用于任天堂 Gamecube 的音频格式。
AFCX用于任天堂 Gamecube 的音频格式。
ADS/SS2X用于 PS2 的音频格式。
APNGXX
ASFXX高级/活动流格式。
ASTXX用于任天堂 Wii 的音频格式。
AVIXX
AviSynthX
AVRX用于 Mac 的音频格式。
AVSX用于 Creature Shock 游戏的多媒体格式。
Beam Software SIFFX音频和视频格式,用于 Beam Software 的一些游戏。
Bethesda 软件 VIDX用于一些 Bethesda 软件的游戏中。
二进制文字X
BinkX许多游戏使用的多媒体格式。
Bink 音频X仅音频多媒体格式,用于一些游戏中。
Bitmap Brothers JVX用于 Z 和 Z95 游戏。
BRPXArgonaut 游戏格式。
蛮力与无知X用于游戏 Flash Traffic: City of Angels。
BFSTMX基于 BRSTM 的音频格式,用于任天堂 WiiU。
BRSTMX用于任天堂 Wii 的音频格式。
BW64X广播波 64位。
BWFXX
codec2(原始数据)XX必须指定模式格式选项以正确解码。
codec2(.c2 文件)XX包含具有版本和模式信息的头信息,简化播放。
CRI ADXXX仅音频格式,用于游戏机视频游戏中。
CRI AIXX
CRI HCAX仅音频格式,用于游戏机视频游戏中。
Discworld II BMVX
Interplay C93XUsed in the game Cyberia from Interplay.
Delphine Software International CINXMultimedia format used by Delphine Software games.
Digital Speech Standard (DSS)X
CD+GXVideo format used by CD+G karaoke disks
Phantom CineX
Commodore CDXLXAmiga CD video format
Core Audio FormatXXApple Core Audio Format
CRC testing formatX
Creative VoiceXXCreated for the Sound Blaster Pro.
CRYO APCXAudio format used in some games by CRYO Interactive Entertainment.
D-Cinema audioXX
Deluxe Paint AnimationX
DCSTRX
DFAXThis format is used in Chronomaster game
DirectDraw SurfaceX
DSD Stream File (DSF)X
DV videoXX
DXAXThis format is used in the non-Windows version of the Feeble Files game and different game cutscenes repacked for use with ScummVM.
Electronic Arts cdataX
Electronic Arts MultimediaXUsed in various EA games; files have extensions like WVE and UV2.
Ensoniq Paris Audio FileX
FFM (FFserver live feed)XX
Flash (SWF)XX
Flash 9 (AVM2)XXOnly embedded audio is decoded.
FLI/FLC/FLX animationX.fli/.flc files
Flash Video (FLV)XXMacromedia Flash video files
framecrc testing formatX
FunCom ISSXAudio format used in various games from FunCom like The Longest Journey.
G.723.1XX
G.726XBoth left- and right-justified.
G.729 BITXX
G.729 rawX
GENHXAudio format for various games.
GIF AnimationXX
GXFXXGeneral eXchange Format SMPTE 360M, used by Thomson Grass Valley playout servers.
HNMXOnly version 4 supported, used in some games from Cryo Interactive
iCEDraw FileX
ICOXXMicrosoft Windows ICO
id Quake II CIN videoX
id RoQXXUsed in Quake III, Jedi Knight 2 and other computer games.
IEC61937 encapsulationXX
IFFXInterchange File Format
IFVXA format used by some old CCTV DVRs.
iLBCXX
Interplay MVEXFormat used in various Interplay computer games.
Iterated Systems ClearVideoXI-frames only
IV8XA format generated by IndigoVision 8000 video server.
IVF (On2)XXA format used by libvpx
Internet Video RecordingX
IRCAMXX
LAFXLimitless Audio Format
LATMXX
LMLM4XUsed by Linux Media Labs MPEG-4 PCI boards
LOASXcontains LATM multiplexed AAC audio
LRCXX
LVFX
LXFXVR native stream format, used by Leitch/Harris’ video servers.
Magic Lantern Video (MLV)X
MatroskaXX
Matroska audioX
FFmpeg metadataXXMetadata in text format.
MAXIS XAXUsed in Sim City 3000; file extension .xa.
MCAXUsed in some games from Capcom; file extension .mca.
MD StudioX
Metal Gear Solid: The Twin SnakesX
Megalux FrameXUsed by Megalux Ultimate Paint
MobiClip MODSX
MobiClip MOFLEXX
Mobotix .mxgX
Monkey’s AudioX
Motion Pixels MVIX
MOV/QuickTime/MP4XX3GP, 3GP2, PSP, iPod variants supported
MP2XX
MP3XX
MPEG-1 SystemXXmuxed audio and video, VCD format supported
MPEG-PS (program stream)XXalso known as VOB file, SVCD and DVD format supported
MPEG-TS (transport stream)XXalso known as DVB Transport Stream
MPEG-4XXMPEG-4 is a variant of QuickTime.
MSFXAudio format used on the PS3.
Mirillis FIC videoXNo cursor rendering.
MIDI Sample Dump StandardX
MIME multipart JPEGX
MSN TCP webcamXUsed by MSN Messenger webcam streams.
MTVX
MusepackX
Musepack SV8X
Material eXchange Format (MXF)XXSMPTE 377M, used by D-Cinema, broadcast industry.
Material eXchange Format (MXF), D-10 MappingXXSMPTE 386M, D-10/IMX Mapping.
NC camera feedXNC (AVIP NC4600) camera streams
NIST SPeech HEader REsourcesX
Computerized Speech Lab NSPX
NTT TwinVQ (VQF)XNippon Telegraph and Telephone Corporation TwinVQ.
Nullsoft Streaming VideoX
NuppelVideoX
NUTXXNUT Open Container Format
OggXX
Playstation Portable PMPX
Portable Voice FormatX
RK Audio (RKA)X
TechnoTrend PVAXUsed by TechnoTrend DVB PCI boards.
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 EVCXX
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 R3DXFile format used by RED Digital cameras, contains JPEG 2000 frames and PCM audio.
RealMediaXX
重定向器X
红色火星X
Renderware纹理字典X
Resolume DXVXX仅支持DXT1(正常质量,无Alpha)纹理格式编码。
RF64X
RL2X娱乐软件合作伙伴在某些游戏中使用的音频和视频格式。
RPL/ARMovieX
乐高机器人RSOXX
RSDX
RTMPXX输出通过发布流到RTMP服务器完成。
RTPXX
RTSPXX
样本转储交换X
SAPXX
SBGX
SDNSX
SDPX
SERX
数字图片SGAX
世嘉FILM/CPKXX用在许多世嘉土星主机游戏中。
硅图电影X
Sierra SOLX.sol文件用于Sierra Online游戏。
Sierra VMDX用于Sierra CD-ROM游戏。
SmackerX许多游戏使用的多媒体格式。
SMJPEGXX用户某些Loki游戏移植。
SMPTE 337M封装X
SmushX某些LucasArts游戏中使用的多媒体格式。
Sony OpenMG (OMA)XX用于Sony Sonic Stage和Sony Vegas的音频格式。
Sony PlayStation STRX
Sony Wave64 (W64)XX
SoX本机格式XX
SUN AU格式XX
SUP原始PGS字幕XX
SVAGX用于Konami PS2游戏的音频格式。
TDSCX
文本文件X
THPX用于任天堂GameCube。
Tiertex Limited SEQXTiertex .seq文件用于DOS CD-ROM版本Flashback游戏。
True AudioXX
VAGX用于许多Sony PS2游戏的音频格式。
VC-1测试比特流XX
Vidvox HapXX
VivoX
VPKX用于Sony PS游戏的音频格式。
Marble WADYX
WAVXX
波形存档X
WavPackXX
WebMXX
Windows电视 (WTV)XX
翼指挥官III电影X用于Origin's Wing Commander III电脑游戏的多媒体格式。
Westwood Studios音频XX用于Westwood Studios游戏的多媒体格式。
Westwood Studios VQAX用于Westwood Studios游戏的多媒体格式。
宽带单比特数据 (WSD)X
WVEX
Konami XMDX
XMVX微软视频容器,用于Xbox游戏。
XVAGX用于PS3的音频格式。
xWMAX微软音频容器,用于XAudio 2。
扩展的二进制文本 (XBIN)X
YUV4MPEG管道XX
Psygnosis YOPX

X表示在当前列中功能(编码/解码)是支持的。

图像格式2.2

FFmpeg可以对视频序列每帧图像进行读写。支持以下图像格式:

名称编码解码评论
.Y.U.VXX每组件一个原始文件。
Alias PIXXXAlias/Wavefront PIX图像格式
动画 GIFXX
APNGXX动画便携网络图形
BMPXX微软BMP图像
BRender PIXXArgonaut BRender 3D引擎图像格式。
CRIXCintel RAW
DPXXX数字图片交换格式
EXRXOpenEXR
FITSXX灵活图像传输系统
HDRXXRadiance HDR RGBE图像格式
IMGXGEM光栅图像
JPEGXX不支持渐进式JPEG。
JPEG 2000XX
JPEG-LSXX
LJPEGX无损JPEG
Media 100X
MSPX微软画图图像
PAMXXPAM is a PNM extension with alpha support.
PBMXXPortable BitMap image
PCDXPhotoCD
PCXXXPC Paintbrush
PFMXXPortable FloatMap image
PGMXXPortable GrayMap image
PGMYUVXXPGM with U and V components in YUV 4:2:0
PGXXPGX file decoder
PHMXXPortable HalfFloatMap image
PICXPictor/PC Paint
PNGXXPortable Network Graphics image
PPMXXPortable PixelMap image
PSDXPhotoshop
PTXXV.Flash PTX format
QOIXXQuite OK Image format
SGIXXSGI RGB image format
Sun RasterfileXXSun RAS image format
TIFFXXYUV, JPEG and some extension is not supported yet.
Truevision TargaXXTarga (.TGA) image format
VBNXXVizrt Binary Image format
WBMPXXWireless Application Protocol Bitmap image format
WebPEXWebP image format, encoding supported through external library libwebp
XBMXXX BitMap image format
XFaceXXX-Face image format
XPMXX PixMap image format
XWDXXX Window Dump image format

X means that the feature in that column (encoding / decoding) is supported.

E means that support is provided through an external library.

2.3 Video Codecs

NameEncodingDecodingComments
4X MovieXUsed in certain computer games.
8088flex TMVX
A64 multicolorXCreates video suitable to be played on a commodore 64 (multicolor mode).
Amazing Studio PAF VideoX
American Laser Games MMXUsed in games like Mad Dog McCree.
Amuse Graphics MovieX
AMV VideoXXUsed in Chinese MP3 players.
ANSI/ASCII artX
Apple Intermediate CodecX
Apple MJPEG-BX
Apple PixletX
Apple ProResXXfourcc: apch,apcn,apcs,apco,ap4h,ap4x
Apple QuickDrawXfourcc: qdrw
Argonaut VideoXUsed in some Argonaut games.
Asus v1XXfourcc: ASV1
Asus v2XXfourcc: ASV2
ATI VCR1Xfourcc: VCR1
ATI VCR2Xfourcc: VCR2
Auravision AuraX
Auravision Aura 2X
Autodesk Animator Flic videoX
Autodesk RLEXfourcc: AASC
AV1EESupported through external libraries libaom, libdav1d, librav1e and libsvtav1
Avid 1:1 10-bit RGB PackerXXfourcc: AVrp
AVS (Audio Video Standard) videoXVideo encoding used by the Creature Shock game.
AVS2-P2/IEEE1857.4EESupported through external libraries libxavs2 and libdavs2
AVS3-P2/IEEE1857.10ESupported through external library libuavs3d
AYUVXXMicrosoft uncompressed packed 4:4:4:4
Beam Software VBX
Bethesda VID videoXUsed in some games from Bethesda Softworks.
Bink VideoX
BitJazz SheerVideoX
Bitmap Brothers JV videoX
y41p Brooktree uncompressed 4:1:1 12-bitXX
Brooktree ProSumer VideoXfourcc: BT20
Brute Force & IgnoranceXUsed in the game Flash Traffic: City of Angels.
C93 videoXCodec used in Cyberia game.
CamStudioXfourcc: CSCD
CD+GXVideo codec for CD+G karaoke disks
CDXLXAmiga CD video codec
Chinese AVS videoEXAVS1-P2, JiZhun profile, encoding through external library libxavs
Delphine Software International CIN videoXCodec used in Delphine Software International games.
Discworld II BMV VideoX
CineForm HDXX
Canopus HQX
Canopus HQAX
Canopus HQXX
Canopus Lossless CodecX
CDToonsXCodec used in various Broderbund games.
CinepakX
Cirrus Logic AccuPakXXfourcc: CLJR
CPiA Video FormatX
Creative YUV (CYUV)X
DFAXCodec used in Chronomaster game.
DiracEXsupported though the native vc2 (Dirac Pro) encoder
Deluxe Paint AnimationX
DNxHDXXaka SMPTE VC3
Duck TrueMotion 1.0Xfourcc: DUCK
Duck TrueMotion 2.0Xfourcc: TM20
Duck TrueMotion 2.0 RTXfourcc: TR20
DV (Digital Video)XX
Dxtory capture formatX
Feeble Files/ScummVM DXAXCodec originally used in Feeble Files game.
Electronic Arts CMV videoXUsed in NHL 95 game.
Electronic Arts Madcow videoX
Electronic Arts TGV videoX
Electronic Arts TGQ videoX
Electronic Arts TQI videoX
Escape 124X
Escape 130X
EVC / MPEG-5 Part 1EEencoding and decoding supported through external libraries libxeve and libxevd
FFmpeg video codec #1XXlossless codec (fourcc: FFV1)
Flash Screen Video v1XXfourcc: FSV1
Flash Screen Video v2XX
Flash Video (FLV)XXSorenson H.263 used in Flash
FM Screen Capture CodecX
Forward UncompressedX
FrapsX
Go2MeetingXfourcc: G2M2, G2M3
Go2WebinarXfourcc: 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 10EXencoding supported through external library libx264 and OpenH264
HEVCXXencoding supported through external library libx265 and libkvazaar
HNM version 4X
HuffYUVXX
HuffYUV FFmpeg variantXX
IBM UltimotionXfourcc: ULTI
id Cinematic videoXUsed in Quake II.
id RoQ videoXXUsed in Quake III, Jedi Knight 2, other computer games.
IFF ILBMXIFF interleaved bitmap
IFF ByteRun1XIFF run length encoded bitmap
Infinity IMM4X
Intel H.263X
Intel Indeo 2X
Intel Indeo 3X
Intel Indeo 4X
Intel Indeo 5X
Interplay C93XUsed in the game Cyberia from Interplay.
Interplay MVE videoXUsed in Interplay .MVE files.
J2KXX
Karl Morton’s video codecXCodec used in Worms games.
Kega Game Video (KGV1)XKega emulator screen capture codec.
LagarithX
LCEVC / MPEG-5 LCEVC / MPEG-5 Part 2Edecoding supported through external library liblcevc-dec
LCL (LossLess Codec Library) MSZHX
LCL (LossLess Codec Library) ZLIBEE
LEAD MCMPX
LOCOX
LucasArts SANM/SmushXUsed in LucasArts games / SMUSH animations.
lossless MJPEGXX
MagicYUV VideoXX
Mandsoft Screen Capture CodecX
Microsoft ATC ScreenXAlso known as Microsoft Screen 3.
Microsoft Expression Encoder ScreenXAlso known as Microsoft Titanium Screen 2.
Microsoft RLEXX
Microsoft Screen 1XAlso known as Windows Media Video V7 Screen.
Microsoft Screen 2XAlso known as Windows Media Video V9 Screen.
Microsoft Video 1X
MimicXUsed in MSN Messenger Webcam streams.
Miro VideoXLXfourcc: VIXL
MJPEG (Motion JPEG)XX
Mobotix MxPEG videoX
Motion Pixels videoX
MPEG-1 videoXX
MPEG-2 videoXX
MPEG-4 part 2XXlibxvidcore can be used alternatively for encoding.
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/RTjpegXVideo encoding used in NuppelVideo files.
On2 VP3Xstill experimental
On2 VP4Xfourcc: VP40
On2 VP5Xfourcc: VP50
On2 VP6Xfourcc: VP60,VP61,VP62
On2 VP7Xfourcc: VP70,VP71
VP8EXfourcc: VP80, encoding supported through external library libvpx
VP9EXencoding supported through external library libvpx
Pinnacle TARGA CineWave YUV16Xfourcc: 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.0Xstill far from ideal
RealVideo 4.0X
Renderware TXD (TeXture Dictionary)XTexture dictionaries used by the Renderware Engine.
RivaTuner VideoXfourcc: ’RTV1’
RL2 videoXused in some games by Entertainment Software Partners
ScreenPressorX
ScreenpressoX
Screen Recorder Gold CodecX
Sierra VMD videoXUsed in Sierra VMD files.
Silicon Graphics Motion Video Compressor 1 (MVC1)X
Silicon Graphics Motion Video Compressor 2 (MVC2)X
Silicon Graphics RLE 8-bit videoX
Smacker videoXVideo encoding used in Smacker.
SMPTE VC-1X
SnowXXexperimental wavelet codec (fourcc: SNOW)
Sony PlayStation MDEC (Motion DECoder)X
Sorenson Vector Quantizer 1XXfourcc: SVQ1
Sorenson Vector Quantizer 3Xfourcc: SVQ3
Sunplus JPEG (SP5X)Xfourcc: SP5X
TechSmith Screen Capture CodecXfourcc: TSCC
TechSmith Screen Capture Codec 2Xfourcc: TSC2
TheoraEXencoding supported through external library libtheora
Tiertex Limited SEQ videoXCodec used in DOS CD-ROM FlashBack game.
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 VideoXCodec used in videos captured by VMware.
Westwood Studios VQA (Vector Quantized Animation) videoX
Windows Media ImageX
Windows Media Video 7XX
Windows Media Video 8XX
Windows Media Video 9Xnot completely working
Wing Commander III / XanXUsed in Wing Commander III .MVE files.
Wing Commander IV / XanXUsed in Wing Commander IV.
Winnov WNV1X
WMV7XX
YAMAHA SMAFXX
Psygnosis YOP VideoX
yuv4XXlibquicktime uncompressed packed 4:2:0
ZeroCodec Lossless VideoX
ZLIBXXpart of LCL, encoder experimental
Zip Motion Blocks VideoXXEncoder works only in PAL8.

X means that the feature in that column (encoding / decoding) is supported.

E means that support is provided through an external library.

2.4 Audio Codecs

NameEncodingDecodingComments
8SVX exponentialX
8SVX fibonacciX
AACEXXencoding supported through internal encoder and external library libfdk-aac
AAC+EIXencoding supported through external library libfdk-aac
AC-3IXIX
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 ArtsXUsed in various EA titles.
ADPCM Electronic Arts Maxis CDROM XSXUsed in Sim City 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 AMVXXUsed in AMV files
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 IMAXUsed in FunCom games.
ADPCM IMA DialogicX
ADPCM IMA Duck DK3XUsed in some Sega Saturn console games.
ADPCM IMA Duck DK4XUsed in some Sega Saturn console games.
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 ADXXXUsed in Sega Dreamcast games.
ADPCM Shockwave FlashXX
ADPCM Sound Blaster Pro 2-bitX
ADPCM Sound Blaster Pro 2.6-bitX
ADPCM Sound Blaster Pro 4-bitX
ADPCM VIMAXUsed in LucasArts SMUSH animations.
ADPCM Konami XMDX
ADPCM Westwood Studios IMAXXUsed in Westwood Studios games like Command and Conquer.
ADPCM YamahaXX
ADPCM ZorkX
AMR-NBEXencoding supported through external library libopencore-amrnb
AMR-WBEXencoding supported through external library libvo-amrwbenc
Amazing Studio PAF AudioX
Apple lossless audioXXQuickTime fourcc ’alac’
aptXXXUsed in Bluetooth A2DP
aptX HDXXUsed in Bluetooth A2DP
ATRAC1X
ATRAC3X
ATRAC3+X
ATRAC9X
Bink AudioXUsed in Bink and Smacker files in many games.
Bonk audioX
CELTEdecoding supported through external library libcelt
codec2EEen/decoding supported through external library libcodec2
CRI HCAX
Delphine Software International CIN audioXCodec used in Delphine Software International games.
DFPWMXX
Digital Speech Standard - Standard Play mode (DSS SP)X
Discworld II BMV AudioX
COOKXAll versions except 5.1 are supported.
DCA (DTS Coherent Acoustics)XXsupported extensions: XCh, XXCH, X96, XBR, XLL, LBR (partially)
Dolby EX
DPCM Cuberoot-Delta-ExactXUsed in few games.
DPCM GremlinX
DPCM id RoQXXUsed in Quake III, Jedi Knight 2 and other computer games.
DPCM Marble WADYX
DPCM InterplayXUsed in various Interplay computer games.
DPCM Squareroot-Delta-ExactXUsed in various games.
DPCM Sierra OnlineXUsed in Sierra Online game audio files.
DPCM SolX
DPCM XanXUsed in Origin’s Wing Commander IV AVI files.
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)XIX
FTR VoiceX
G.723.1XX
G.729X
GSMEXencoding supported through external library libgsm
GSM Microsoft variantEXencoding supported through external library libgsm
IAC (Indeo Audio Coder)X
iLBC (Internet Low Bitrate Codec)EEXencoding and decoding supported through external library libilbc
IMC (Intel Music Coder)X
Interplay ACMX
LC3EEsupported through external library liblc3
MACE (Macintosh Audio Compression/Expansion) 6:1X
Marian’s A-pac audioX
MI-SC4 (Micronas SC-4 Audio)X
MLP (Meridian Lossless Packing)XXUsed in DVD-Audio discs.
Monkey’s AudioX
MP1 (MPEG audio layer 1)IX
MP2 (MPEG audio layer 2)IXIXencoding supported also through external library TwoLAME
MP3 (MPEG audio layer 3)EIXencoding supported through external library LAME, ADU MP3 and MP3onMP4 also supported
MPEG-4 Audio Lossless Coding (ALS)X
MobiClip FastAudioX
Musepack SV7X
Musepack SV8X
Nellymoser AsaoXX
On2 AVC (Audio for Video Codec)X
OpusEXencoding supported through external library 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 2XThere are still some distortions.
RealAudio 1.0 (14.4K)XXReal 14400 bit/s codec
RealAudio 2.0 (28.8K)XReal 28800 bit/s codec
RealAudio 3.0 (dnet)IXXReal low bitrate AC-3 codec
RealAudio LosslessX
RealAudio SIPR / ACELP.NETX
RK Audio (RKA)X
SBC (low-complexity subband codec)XXUsed in Bluetooth A2DP
ShortenX
Sierra VMD audioXUsed in Sierra VMD files.
Smacker audioX
SMPTE 302M AES3 audioXX
SonicXXexperimental codec
Sonic losslessXXexperimental codec
SpeexEEXsupported through external library libspeex
TAK (Tom’s lossless Audio Kompressor)X
True Audio (TTA)XX
TrueHDXXUsed in HD-DVD and Blu-Ray discs.
TwinVQ (VQF flavor)X
VIMAXUsed in LucasArts SMUSH animations.
ViewQuest VQCX
VorbisEXA native but very primitive encoder exists.
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 means that the feature in that column (encoding / decoding) is supported.

E means that support is provided through an external library.

I means that an integer-only version is available, too (ensures high performance on systems without hardware floating point support).

2.5 Subtitle Formats

NameMuxingDemuxingEncodingDecoding
3GPP Timed TextXX
AQTitleXX
DVBXXXX
DVB teletextXE
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 means that the feature is supported.

E means that support is provided through an external library.

2.6 Network Protocols

NameSupport
AMQPE
fileX
FTPX
GopherX
GophersX
HLSX
HTTPX
HTTPSX
IcecastX
MMSHX
MMSTX
pipeX
Pro-MPEG FECX
RTMPX
RTMPEX
RTMPSX
RTMPTX
RTMPTEX
RTMPTSX
RTPX
SAMBAE
SCTPX
SFTPE
TCPX
TLSX
UDPX
ZMQE

X means that the protocol is supported.

E means that support is provided through an external library.

2.7 Input/Output Devices

NameInputOutput
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 means that input/output is supported.

2.8 Timecode

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

This document was generated using makeinfo.

Hosting provided by telepoint.bg