Skip to content

ffmpeg_options.txt

RiCON edited this page Oct 11, 2016 · 19 revisions

FFMpeg configure options and what do they add

Most external libraries manually turned on configuration time are only actually needed for encoding or certain filters.

External libraries needed for basic support of formats (decoding)

Can be removed if format support is not needed

  • --enable-schannel (enabled by default) (needed for https support)
  • alternative is --enable-gnutls or --enable-openssl but the latter needs --enable-nonfree since it has a license incompatible with GPL
  • --enable-libilbc (needed for iLBC decoding support)
  • --enable-libmfx (needed for Intel QuickSync encoding/decoding)
  • --enable-libopencore-amrnb and --enable-libopencore-amrwb (AMR codecs support)
  • FFmpeg has a native decoder for both variants, but missing some features like comfort noise generation
  • --enable-libopenjpeg (JPEG 2000/J2K video support)
  • FFmpeg has a native decoder and encoder
  • --enable-libspeex (needed for speex support)
  • --enable-libwavpack (alternative WavPack encoder/decoder)
  • FFmpeg has a native decoder and encoder but is probably slower
  • --enable-nvenc (enabled by default) (needed for Nvidia hardware encoding)

External libraries needed for encoding

Can be removed if encoding for these formats is not needed since FFmpeg has a native decoder for them

  • --enable-libfdk-aac (High quality AAC encoder that supports LC and HE profiles)
  • Also compiles fdk-aac standalone encoder if standalone=y
  • needs --enable-nonfree
  • FFmpeg's native encoder is considered better or as good from 96kbps onward, but it still has no support for HE profiles
  • --enable-libgsm (GSM encoder)
  • --enable-libkvazaar (HEVC encoder)
  • Also compiles kvazaar standalone encoder if standalone=y
  • --enable-libmp3lame (MP3 encoder)
  • Also compiles lame standalone encoder if standalone=y
  • --enable-libopencore-amrnb (AMR Narrowband encoder)
  • --enable-libopus (Opus encoder/decoder)
  • Also compiles opus standalone tools if standalone=y
  • --enable-libschroedinger (Dirac encoder)
  • --enable-libsnappy (Snappy compressor needed for Hap encoding)
  • --enable-libtheora (Theora encoder)
  • --enable-libtwolame (MP2 encoder)
  • --enable-libvo-amrwbenc (AMR Wideband encoder)
  • --enable-libvorbis (Vorbis encoder)
  • Also compiles Vorbis standalone tools if standalone=y
  • consider using --disable-encoder=vorbis if using this since FFmpeg's native encoder is quite primitive
  • --enable-libvpx (Google VP8/VP9 encoder)
  • --enable-libwebp (WebP encoder)
  • Also compiles WebP standalone tools if standalone=y
  • --enable-libx264 (H.264/AVC encoder)
  • --enable-libx265 (HEVC encoder)
  • --enable-libxavs (XAVS encoder)
  • --enable-libxvid (MPEG-4/XviD encoder)
  • FFmpeg's native mpeg4 encoder is high quality too so this isn't needed

Libraries needed for filters/devices/protocols

All can be removed from ffmpeg_options.txt if not needed

Libraries needed for special formats

All can be removed from ffmpeg_options.txt if not needed

  • --enable-libgme (demuxer/decoder for game sound formats)
  • --enable-libmodplug (demuxer/decoder for module sound formats)
  • --enable-libopenmpt (demuxer/decoder for module sound formats)
  • --enable-libzvbi (DVB teletext decoder)

Extra libraries

All can be removed from ffmpeg_options.txt if not needed

Clone this wiki locally