homebrew-ffmpeg

June 25, 2026 ยท View on GitHub

GH Actions CI

This is a 3rd party tap for Homebrew. It provides a formula for ffmpeg which includes options for enabling additional features and libraries.

Contents:

Installation and usage

In order to use this tap, you need to install Homebrew.

Then, to run a default installation, run:

brew trust homebrew-ffmpeg/ffmpeg
brew tap homebrew-ffmpeg/ffmpeg
brew install homebrew-ffmpeg/ffmpeg/ffmpeg

Note: If you already have ffmpeg installed from Homebrew core, you will receive an error. You need to first run brew uninstall ffmpeg before you can use this tap.

Installing with options

To see the list of supported options for this formula, run:

brew options homebrew-ffmpeg/ffmpeg/ffmpeg

Then, you can run:

brew install homebrew-ffmpeg/ffmpeg/ffmpeg --with-<option1> --with-<option2> ...

If you really wish to install all the available options, you can run:

brew install homebrew-ffmpeg/ffmpeg/ffmpeg $(brew options homebrew-ffmpeg/ffmpeg/ffmpeg --compact)

Note that this may install libraries for which you need extra SDKs installed, such as --with-decklink, or libraries which have to be installed before running the formula, such as --with-chromaprint.

If you want to install ffmpeg with all the flags above but with the exception of decklink and flite which do not have native homebrew-core repos at this time, you can run:

brew install homebrew-ffmpeg/ffmpeg/ffmpeg $(brew options homebrew-ffmpeg/ffmpeg/ffmpeg --compact | tr ' ' '\n' | grep -v 'with-decklink' | grep -v 'with-libflite' | grep -v 'with-alt-name' | xargs)

Installing latest Git version (HEAD)

FFmpeg recommends installing the latest Git master version over a release. This formula builds the latest release by default, but you can install the latest Git version by adding the --HEAD option:

brew install homebrew-ffmpeg/ffmpeg/ffmpeg --HEAD

Please note that we don't generally provide support HEAD builds, since they may cause issues with other Homebrew-supplied formulae.

Installing the commands under a different name

If you need to install the commands of this FFmpeg formula under an alternative name (for example, having the regular ffmpeg, ffprobe and ffplay commands in parallel with ffmpeg-alt, ffprobe-alt and ffplay-alt), you can run:

brew install homebrew-ffmpeg/ffmpeg/ffmpeg --with-alt-name

Updating

To update Homebrew and upgrade the formula to the most recent stable release:

brew update && brew upgrade homebrew-ffmpeg/ffmpeg/ffmpeg

Or, if you are using the HEAD version and want to update to the latest commit:

brew update && brew upgrade homebrew-ffmpeg/ffmpeg/ffmpeg --fetch-HEAD

Included libraries

This formula installs the following libraries by default:

DependencyDescription
libaomAV1 encoder
fontconfigFont access library
freetypeFreetype font engine
frei0rfrei0r filters
lameLAME MP3 encoder
libassASS subtitle support
libvorbisVorbis encoder
libvpxVP8 and VP9 encoder
opusOpus encoder
rtmpdumpRTMP dumping support
sdl2Simple DirectMedia Layer
snappySnappy compression support
svt-av1Scalable Video Technology for AV1 (encoder and decoder)
theoraTheora encoder
x264x264 H.264 encoder
x265x265 HEVC encoder
xzXZ compression support

This formula features the following libraries optionally if you pass the respective --with-<option> flag(s):

OptionDescriptionRemarks
--with-chromaprintChromaprint audio fingerprinting libraryThere is a cyclic dependency issue. See the workaround in the Troubleshooting section.
--with-decklinkDeckLink supportThe DeckLink SDK has to be installed before running the FFmpeg formula.
In addition, if you experience difficulties on macOS, make sure you follow these directions.
--with-dvdDVD-Video demuxer powered by libdvdnav and libdvdread
--with-fdk-aacFraunhofer FDK AAC library
--with-libfliteText to speech synthesisFlite has to be installed before running the FFmpeg formula. This is not supported directly via Homebrew. See this issue for some installation options.
--with-game-music-emuGame Music Emu (GME) support
--with-ggmlTensor library for machine learningNeeded for whisper-cpp
--with-jackJack audio device support
--with-jpeg-xlJPEG XL support
--with-libaribb24Decoding ARIB/ISDB captions
--with-libaribcaptionHandling of ARIB STD-B24 based broadcast captions
--with-libmodplugModule/tracker files as inputs via libmodplug
--with-libopenmptModule/tracker files as inputs via libopenmpt
--with-libplaceboGPU-accelerated image/video processing primitives
--with-libristReliable Internet Stream Transport
--with-librsvgSVG files as inputs
--with-libsoxrThe SoX resampling library
--with-libsshSupport SFTP protocol
--with-tensorflowTensorFlow for Deep Neural Network based filtersYou need to train your own model or source pre-trained models from elsewhere (modelzoo, openmodeldb or similar). For details see the notes in the pull request
--with-tesseractAn Optical Character Recognition (OCR) engine
--with-libvidstabVideo stabilization library
--with-openal-softOpenAL (Open Audio Library) for macOS targets
--with-openapvOpenAPV (Open Advanced Professional Video Codec)
--with-opencore-amrOpencore AMR NR/WB audio format
--with-openh264OpenH264 library
--with-openjpegJPEG 2000 image format
--with-opensslSSL support
--with-openvinoOpenVINO for Deep Neural Network based filters
--with-rav1eAV1 encoding
--with-rtmpdumpDumping RTMP streams
--with-rubberbandAudio time-stretching and pitch-shifting
--with-two-lameMPEG Audio Layer 2 (MP2) encoder
--with-webpEncode WEBP images
--with-whisper-cppEnable OpenAI's Whisper speech recognition modelYou also need to enable ggml by adding --with-ggml.
--with-xvidXviD support (MPEG-4 Part 2 Encoder)
--with-zeromqReceive commands sent through a libzeromq client
--with-zimgImage conversion library
--with-srtSecure Reliable Transport library
--with-libvmafVMAF video quality metric
--with-libxml2XML parser and toolkit
--with-libzvbiDecoding of DVB teletext pages and DVB teletext subtitles

Troubleshooting

In general, please note that we only provide support for current macOS versions that still receive security updates, as well as for Ubuntu versions that receive standard security maintenance. Beta or pre-release versions as well as legacy versions are not supported.

When installing a piece of SOFTWARE which is using this FFmpeg distribution, then you may get the following error:

==> Installing dependencies for SOFTWARE: ffmpeg
Error: ffmpeg is already installed from homebrew-ffmpeg/ffmpeg!
Please `brew uninstall ffmpeg` first."

Here is a workaround:

brew uninstall ffmpeg
brew install SOFTWARE
brew uninstall --ignore-dependencies ffmpeg
brew install homebrew-ffmpeg/ffmpeg/ffmpeg --with-YOUR-OPTIONS

Issues

To report issues, please file an issue on GitHub. Please include the full command line you have tested and the full terminal output you got with. Please note that we will only be able to help with issues that are exclusive to this tap and for OS which are officially supported.

If the problem is reproducible with the homebrew-core version of ffmpeg-full or ffmpeg, please file it on their tracker.

Maintainers

  • Reto Kromer (@retokromer)
  • Werner Robitza (@slhck)