FFMPEG can run on MacOS with AVFoundation software provided in the operating system.



Installing FFMPEG via homebrew is the easiest way if you have administrator access. #. Install Homebrew

you@yourMac:~$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"


You may need to reboot after installation finishes.

  1. Install FFMPEG

    you@yourMac:~$ brew install ffmpeg

Changes to controller.conf

type = ffmpeg
camera_device = "YourCameraDeviceOrNumber"
mic_device = "YourMicDeviceOrNumber"

ffmpeg_location = /usr/local/bin/ffmpeg
audio_input_format = avfoundation
video_input_format = avfoundation

Your device id’s can be gotten from running

you@yourMac:~$ ffmpeg -f avfoundation -list_devices true -i ""

You’ll get an output similar to

[AVFoundation input device @ 0x7ff8e171e580] AVFoundation video devices:
[AVFoundation input device @ 0x7ff8e171e580] [0] FaceTime HD Camera (Built-in)
[AVFoundation input device @ 0x7ff8e171e580] [1] Capture screen 0
[AVFoundation input device @ 0x7ff8e171e580] [2] Capture screen 1
[AVFoundation input device @ 0x7ff8e171e580] AVFoundation audio devices:
[AVFoundation input device @ 0x7ff8e171e580] [0] Built-in Microphone
[AVFoundation input device @ 0x7ff8e171e580] [1] Built-in Input

In my case I want to use the FaceTime HD Camera and the Built-in Microphone so I can choose the following:

  • video
    • "0"
    • "FaceTime"
    • "FaceTime HD Camera (Built-in)"
    • "default"
  • audio
    • ":0"
    • ":Built-in Microphone"
    • ":default"
    • The colon (:) before every item is very important because that’s how AVFoundation differentiates between a camera and a microphone. If you don’t get any sound or have errors relating to audio in your console, check that you have a colon before the device in your conf file.

Note that I can’t use the first word of the device name because there’s another device that shares the same name (Built-in).

The name default means that it will pick the first item in the list "0".