Installation for Macintosh users

Frankly, we strongly discourage the use of macOS for professional purposes.

First install the FFmpeg package using either Homebrew or a binary build. Then test that the software is properly installed. (The compilation from the source code is out of the scope of this tutorial.)

The Terminal is usually found in the /Applications/Utilities folder.

Table of Contents


Installing the software with Homebrew

Installing Homebrew

Install Homebrew, a package manger for macOS and Linux on both AArch64 (ARM64) and x86_64. You may think of it as an “app store” for open-source software. It works fine on macOS 14 and later versions; from macOS 10.15 to 13 it is unsupported, but may work; on macOS 10.14 and previous versions Homebrew will not run at all.

 

You can install Homebrew by pasting the following command:

 

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

 

When it completes, follow the “Next steps:” instructions, which on AArch64 (ARM) should be:

 

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ${HOME}/.zprofile

eval "$(/opt/homebrew/bin/brew shellenv)"

 

After successful installation you may restart the Terminal and execute:

 

brew doctor

 

Detailed instructions for Homebrew are posted at:
https://docs.brew.sh/

Installing FFmpeg

Once Homebrew is installed, for our purpose, we recommend to install the most recent stable FFmpeg release with the following two commands (works on both AArch64 (ARM64) and x86_64 architectures):1

 

brew tap avpres/formulae

brew install --with-openjpeg --with-rubberband --with-tesseract avpres/formulae/ffmpeg

 

If you really need it, you can also install the current FFmpeg development branch with the following two commands (please note that we generally do not recommend using the development branch in production):

 

brew tap avpres/formulae

brew install --HEAD --with-openjpeg --with-rubberband --with-tesseract avpres/formulae/ffmpeg

 

As, sadly, the “America alone” ideology becomes predominant in the open-source community as well, if you need the support of more languages than just US English, then you have to run an additional command:

 

brew install tesseract-lang

Upgrading FFmpeg with Homebrew

To update Homebrew and upgrade FFmpeg to the most recent stable release, use the following two commands:

 

brew update

brew upgrade avpres/formulae/ffmpeg

 

To update Homebrew and upgrade FFmpeg to the current development branch, use the following two commands:

 

brew update

brew upgrade --fetch-HEAD avpres/formulae/ffmpeg

Installing the software from a build

These binaries, provided by Helmut K. C. Tessarek, are compiled for macOS 10.12 and later. Download the binaries of the latest release (not the snapshots):

 

If not done automatically, unzip the three downloaded archives (usually they will be in the Downloads folder) and drag & drop the binaries to your Desktop.

To install the software to the correct place, paste the following command at a Terminal prompt:2

 

sudo mv -iv ~/Desktop/ff* /usr/local/bin

 

The x86_64 binaries also run on AArch64 (ARM64) without a significant performance hit. On macOS 10.15 additional steps are necessary.3

Testing your installation

Once you followed the installation above, you should have the commands ffmpeg, ffplay and ffprobe installed.

 

  • Test ffmpeg by pasting into the Terminal the line:

     

    ffmpeg -f lavfi -i mandelbrot -t 10 -pix_fmt yuv420p ~/Desktop/mandelbrot.mkv

     

    This should produce on your Desktop a file of the Mandelbrot pattern.

  • Test ffplay by pasting into the Terminal the line:

     

    ffplay ~/Desktop/mandelbrot.mkv

     

    This should play the Mandelbrot file.

  • Test ffprobe by pasting into the Terminal the line:

     

    ffprobe -show_format -show_streams -print_format json ~/Desktop/mandelbrot.mkv

     

    This should display the Mandelbrot file’s technical metadata.


Notes

1

The recommended parameters are:

--with-openjpeg
Enables JPEG 2000 encoding and decoding with the OpenJPEG library.
--with-rubberband
Enables the Rubberband audio filter, which allows time-stretching and pitch-shifting.
--with-tesseract
Enables the Tesseract video filter for optical character recognition, e.g. for extracting intertitles or subtitles from a digitised print.

 

To see the available options paste into the Terminal the line:

 

brew options avpres/formulae/ffmpeg

2

It may be necessary to run the following three commands instead:

 

sudo mkdir -p /usr/local/bin

sudo mv -iv ~/Desktop/ff* /usr/local/bin

sudo chmod +x /usr/local/bin/ff*

3

For macOS 10.15 users

 

To install the software to the correct place, paste the following command at a Terminal prompt:

 

sudo mv -iv ~/Desktop/ff* /usr/local/bin

 

Yet the binaries have to be removed from Apple’s quarantine: you need also to paste the following three commands at Terminal prompts:

 

sudo xattr -dr com.apple.quarantine /usr/local/bin/ffmpeg

sudo xattr -dr com.apple.quarantine /usr/local/bin/ffprobe

sudo xattr -dr com.apple.quarantine /usr/local/bin/ffplay


2026-02-14