# 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"