Installation for Macintosh users

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. You may think of it as an “app store” for open-source software. 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://github.com/Homebrew/brew/blob/master/docs/README.md

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 Intel and AArch64 (ARM) architectures):1

 

brew tap avpres/formulae

brew install --with-openjpeg --with-rubberband --with-svt-av1 --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-svt-av1 --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 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

Download the binaries of the latest release for macOS 10.13 and later, provided by Helmut K. C. Tessarek, which sadly is still 6.1.1 and not the current 7.0:

 

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

For the macOS 10.13 and 10.14 users

Sadly, Apple introduced an additional complication with the System Integrity Protection. Before you can move the binaries to the correct place, you need to deactivate it:

  • boot into Recovery Mode: hold down command + R on reboot
  • paste the following command at a Terminal prompt:
    csrutil disable
  • reboot

 

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

 

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

 

Once the installation is completed, we advise to set the System Integrity Protection back again to its original state:

  • boot into Recovery Mode: hold down command + R on reboot
  • paste the following command at a Terminal prompt:
    csrutil enable
  • reboot

For the 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

For the macOS 11 to 14 users

The Intel binaries also run on AArch64 (ARM) without a significant performance hit.

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

 

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

 

We are sorry, we don’t know if any additional procedure is necessary … a hint would be very welcome!

Testing your installation

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

ffmpeg

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.

ffplay

Test ffplay by pasting into the Terminal the line:

 

ffplay ~/Desktop/mandelbrot.mkv

 

This should play the Mandelbrot file.

ffprobe

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.


Note

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-svt-av1
Enables the Scalable Video Technology for AV1 (SVT-AV1 encoder and decoder).
--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


2024-04-22