DocsGuidesUsing NDI on macOS with the VDO NDI Output Plugin
Using NDI on macOS with the VDO NDI Output Plugin
The VDO NDI Output plugin turns any OpenFX (OFX) host on macOS into an NDI® source. This guide walks through installing the VDO OFX plugin and sending your first frames from DaVinci Resolve over NDI.
NDI® is a registered trademark of Vizrt NDI AB. Learn more about NDI at ndi.video.
What you get
A universal macOS plugin (Apple Silicon + Intel) for any OFX host — DaVinci Resolve Fusion, Baselight, Nuke, Nucoda, Scratch, and Flame's OFX bridge
Full colour pipeline: Rec.709, Rec.2020 and P3 D65 primaries
HDR support with PQ and HLG transfer functions, plus ndi_color_info metadata
8-bit UYVY or 16-bit P216 output for high precision grading workflows
Requirements
macOS 12 Monterey or later
An OFX host, for example DaVinci Resolve 18 or later (Free or Studio)
A free VDO account to download the plugin from the Downloads page
Step 1 — Download and install the VDO NDI Output plugin
Sign in to your VDO account and open the Downloads page.
Under VDO NDI Output — OFX Plugin, click Download for Mac.
Double-click the downloaded .pkg and follow the installer prompts.
The plugin is installed to , which is the system-wide OFX location that every supported host scans automatically.
/Library/OFX/Plugins/VDOOutput.ofx.bundle
Manual installation
If you prefer to install per-user, copy VDOOutput.ofx.bundle to either of:
Quit and relaunch your OFX host after installation so it re-scans the plugin directory.
Step 2 — Send NDI from DaVinci Resolve
There are three ways to route video through the VDO Output plugin. Most users will want the adjustment layer method — it lets you monitor the whole timeline over NDI without touching individual clips or switching to Fusion.
Option A — Adjustment layer on the Edit page (recommended)
An adjustment layer sits on a video track above your timeline and applies any OFX effect dropped on it to everything playing underneath. This is the easiest way to get a clean, full-timeline NDI output.
Launch DaVinci Resolve and open a project.
Open the Edit page.
In the Effects Library (top left), open Effects → Toolbox → Effects and drag Adjustment Clip onto a new track above your timeline (for example V2 if your footage is on V1). Stretch it to cover the full length of the timeline.
Still in the Effects Library, open OpenFX → Filters → VDO and drag VDO Output onto the adjustment clip.
Select the adjustment clip, then open the Inspector (top right) and scroll down to the VDO Output section to configure Source Name, colour space, HDR metadata, etc.
Press play — the plugin passes video through unchanged while simultaneously publishing it to the network as an NDI source called VDO Resolve Output (or whatever you set in Source Name).
Because the adjustment layer covers the entire timeline, every cut, transition and graded clip underneath it will stream over NDI as one continuous feed.
Option B — Directly on a clip
If you only want to stream a single clip (for example, a playback review of one take):
On the Edit page, select the clip on the timeline.
Open Effects Library → OpenFX → Filters → VDO and drag VDO Output onto the clip.
Configure the plugin in the Inspector panel under OpenFX.
The plugin only runs while that clip is playing; gaps and other clips will not appear on the NDI feed.
Option C — Fusion node graph (advanced)
Use this when you need the plugin inside a Fusion composition, or you want to tap a specific intermediate node rather than the final timeline output:
Open the Fusion page on the clip you want to tap.
Right-click in the node graph and choose Add Tool → VDO → VDO Output.
Connect your source (typically MediaIn1 or whichever node you want to publish) to the VDO Output node's input.
Leave the node's output unconnected or pass it through to MediaOut1 — the node is a pass-through, so it does not alter the signal downstream.
Configure the NDI parameters in the Fusion Inspector.
Receiving the stream
On any machine on the same subnet, open an NDI-aware receiver — VDO Streamer, OBS with the NDI plugin, or any other compatible tool — and select VDO Resolve Output from the list of available sources.
That's it. The source will appear on every machine on the same subnet that is running an NDI-aware receiver.
Plugin parameters
The VDO Output node exposes the following controls in the Fusion inspector:
Parameter
Options
Description
Output Mode
NDI / VDO
NDI sends over the standard NDI protocol. VDO mode is reserved for the VDO platform's native transport.
Source Name
Text
The name that appears in NDI receivers. Defaults to VDO Resolve Output.
Input Primaries
Rec.709 / Rec.2020 / P3
The colour primaries of the incoming video from your host.
Output Primaries
Rec.709 / Rec.2020 / P3
The target primaries for the NDI output. A 3×3 matrix conversion is applied automatically.
Transfer Function
None / Rec.709 / HLG / PQ
The OETF curve applied to linear-light data. Use None to pass the host's encoding through unchanged.
Output Range
Video (Limited) / Full
YUV quantisation range. Video is 16–235 in 8-bit, Full is 0–255.
Content Type
Same as Transfer / SDR / HDR PQ / HDR HLG
Controls the NDI colour metadata independently of the transfer function.
Send NDI Metadata
On / Off
Embeds the ndi_color_info XML block in every frame so receivers know the primaries, transfer, matrix and range.
Force 8-bit
On / Off
Forces 8-bit UYVY output. When off, the plugin uses 16-bit P216 for higher precision.
Recommended settings
The plugin sits at the end of your pipeline and treats the incoming frame as-is. Set Input Primaries to the colour primaries of your timeline output (not Resolve's internal working space — those are different things, and the internal space changes with your colour management mode). If you're unsure, see DaVinci Resolve colour management for NDI output.
Standard Dynamic Range — Rec.709
Project timeline is Rec.709 / Rec.709 Gamma 2.4 (YRGB default or DaVinci YRGB Color Managed with Rec.709 output):
Input Primaries: Rec.709
Output Primaries: Rec.709
Transfer Function: None (the timeline is already encoded Rec.709)
Output Range: Video
Content Type: Same as Transfer
Force 8-bit: On (UYVY is fine for SDR)
HDR10 / PQ delivery
Project timeline is Rec.2020 ST.2084 (PQ):
Input Primaries: Rec.2020
Output Primaries: Rec.2020
Transfer Function: None (pass Resolve's PQ encoding straight through)
Output Range: Full
Content Type: HDR PQ
Send NDI Metadata: On
Force 8-bit: Off (use 16-bit P216 — PQ needs the precision)
HDR — HLG
Project timeline is Rec.2020 HLG:
Input Primaries: Rec.2020
Output Primaries: Rec.2020
Transfer Function: None
Output Range: Full
Content Type: HDR HLG
Send NDI Metadata: On
Force 8-bit: Off
P3 D65 (theatrical / reference monitor)
Project timeline is P3 D65:
Input Primaries: P3
Output Primaries: Rec.2020 if your NDI receiver expects Rec.2020, or P3 to keep the signal native
Transfer Function: None
Output Range: Full
Content Type: pick HDR PQ or SDR to match the timeline
Send NDI Metadata: On
The plugin does not re-grade. If you set Input Primaries to something other than your timeline's actual primaries, the 3×3 matrix conversion applied when Output Primaries differs will produce wrong colours. When in doubt, leave Input and Output Primaries the same and let the receiver handle any further conversion.
Troubleshooting
"NDI SDK not found" on startup
This is unusual — the plugin should not need an external NDI runtime. If you see this, reinstall the latest VDO NDI Output plugin from the Downloads page and restart DaVinci Resolve.
No signal visible in the receiver
Check that Output Mode is set to NDI and that both the sender and receiver machines are on the same network and subnet. NDI discovery uses mDNS, which does not cross routed subnets without an NDI Discovery Server.
The frame counter is not incrementing
The OFX host only evaluates the node graph during playback or rendering. Start Fusion playback or scrub the timeline to drive the plugin.
HDR preview looks dark or crushed
The receiver does not know how to interpret the signal. Set Content Type to the correct HDR format (PQ or HLG) and enable Send NDI Metadata so the receiver can apply the right tone curve.
Plugin does not appear in the OFX host
Confirm the bundle exists at /Library/OFX/Plugins/VDOOutput.ofx.bundle, quit the host completely, and relaunch it. Some hosts cache OFX plugin lists — deleting the cache directory for that host forces a full rescan.
Trademark notice
NDI® is a registered trademark of Vizrt NDI AB. VDO is not affiliated with, endorsed by, or sponsored by Vizrt or any of its affiliates.