# building-ffmpeg-with-decklink In FFmpeg speak, **UltraStudio devices are handled by the “decklink” input**—even though the family is called UltraStudio rather than “DeckLink.” The fact that you saw no devices when you ran `ffmpeg -sources decklink` means your FFmpeg build wasn’t compiled with the Blackmagic DeckLink SDK enabled. ### A. Install the Blackmagic SDK 1. Download and install the **Desktop Video SDK** from Blackmagic: [https://www.blackmagicdesign.com/support/family/desktop-video-sdk](https://www.blackmagicdesign.com/support/family/desktop-video-sdk) 2. That puts the headers and libraries you need onto your Mac. ### B. Get or build an FFmpeg with DeckLink support **Option 1: Homebrew “ffmpegdecklink”** ```bash brew tap amiaopensource/amiaos brew install ffmpegdecklink ``` This formula ships a Homebrew-compatible FFmpeg with `--enable-decklink` already set ([gist.github.com][1]). **Option 2: Build FFmpeg from source** ```bash git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg cd ffmpeg ./configure \ --enable-gpl --enable-nonfree \ --enable-decklink \ --extra-cflags="-I/Library/Application Support/Blackmagic Design/DeckLink SDK/include" \ --extra-ldflags="-L/Library/Application Support/Blackmagic Design/DeckLink SDK/lib" make -j$(sysctl -n hw.ncpu) sudo make install ``` (Adjust the SDK paths if you installed them elsewhere.) FFmpeg’s device docs spell this out: you must have the Blackmagic DeckLink SDK and configure with `--enable-decklink` ([ffmpeg.org][2]). ### C. Verify that FFmpeg now sees your UltraStudio ```bash ffmpeg -hide_banner -sources decklink ``` You should get output like: ``` [decklink @ …] 0 UltraStudio 4K Mini [decklink @ …] 1 UltraStudio 4K … ``` Once you see your device listed, you can proceed with the multitrack capture: ```bash ffmpeg -f decklink -channels 16 -sample_rate 48000 \ -i "UltraStudio 4K Mini" \ [your -map_channel ... or channelsplit workflow here] ``` --- #### Why DeckLink and not AVFoundation? * **AVFoundation** (or CoreAudio) will only expose whatever macOS sees as an “aggregate” audio device—usually limited to stereo unless you manually build an aggregate in Audio MIDI Setup. * By contrast, DeckLink captures *every* embedded channel directly from the hardware without any GUI-based routing. So, to stay entirely in code and the shell, the **DeckLink** input is the only way to get all 16 channels straight off your UltraStudio. [1]: https://gist.github.com/matiaspl/4fd885bc988f5aaf11a6301c55aa0adb?utm_source=chatgpt.com "Stream RTMP with FFMPEG + BMD Ultrastudio Recorder on OSX ..." [2]: https://www.ffmpeg.org/ffmpeg-devices.html?utm_source=chatgpt.com "FFmpeg Devices Documentation"