> For the complete documentation index, see [llms.txt](https://captivatehelp.newbluelive.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://captivatehelp.newbluelive.com/set-up-your-production/chapter-index-6/output-graphics-as-a-virtual-webcam.md).

# Output graphics as a Virtual Webcam

Captivate can publish each playout channel as a **virtual webcam**, so apps like Zoom, Microsoft Teams, Google Meet, OBS Studio, and any other camera-aware app can pick Captivate as their camera source. The setup steps differ between macOS and Windows.

## Turning it on inside Captivate

In the playout window, click the **Program Out** menu and choose **Virtual Webcam**. There is one virtual webcam per channel — different channels appear as separate camera sources in your meeting app.

The video format is **1920 × 1080 at 30 fps**. Captivate resamples to that fixed format at the boundary, regardless of your project’s resolution or framerate.

### Alpha

The Virtual Webcam is an **opaque** camera source — meeting apps composite it onto their own background, so the consuming app sees the channel pre-flattened over black. If you need to deliver a key-able feed with alpha to a downstream tool, use the [OBS Studio output](/set-up-your-production/chapter-index/output-graphics-to-obs.md) or NDI instead.

## macOS: approving the camera extension (one-time setup)

The macOS virtual webcam is implemented as a **camera system extension**. The first time you select Virtual Webcam, macOS asks you to approve it. You only need to do this once.

### Requirements

* macOS 13 (Ventura) or later.
* **Captivate must be installed in your Applications folder.** macOS refuses to install camera extensions from any other location. If you launched Captivate from `~/Downloads`, drag it into `/Applications` first and relaunch.

### Approval steps

1. Open the Permissions panel in Captivate. The **Virtual Camera** row shows the current state.
2. Click **Activate Extension**. macOS submits the activation request and Captivate switches to **Waiting for your approval**.
3. Click **Open System Settings**. macOS opens **Privacy & Security**.
4. Scroll to the bottom and click **Allow** next to the blocked Captivate camera extension.
5. Return to Captivate. The Virtual Camera row will switch to **Active** when macOS finishes loading the extension.

If the Allow prompt has disappeared, click **Retry** in Captivate to re-trigger it.

### Restart-after-upgrade

When Captivate ships a new version of the camera extension, macOS may need a **restart** before the new version is active. The Virtual Camera row will say **Restart required**. Captivate keeps working normally; the virtual webcam is just temporarily unavailable until you reboot.

### Common errors

* **"Applications folder required"** — drag Captivate into `/Applications` and relaunch.
* **"macOS policy is blocking the virtual camera"** — check **System Settings → Privacy & Security**. An MDM profile or parental control may be blocking system extensions.
* **"Another copy of the virtual camera extension is already installed"** — uninstall the duplicate from System Settings → Privacy & Security → Login Items & Extensions, then click Retry.

The dialog maps each macOS error to a remediation hint. If the dialog says *"This is a build or signing issue — please contact support,"* the installer is broken; reinstall from the official download.

### How the camera appears in your meeting app

In Zoom, Teams, Meet, OBS, etc., choose **Captivate Virtual** as the camera source.

### Audio

The macOS Virtual Webcam carries **video only**. Apple’s `CMIOExtension` camera framework does not provide an audio path — there is no microphone counterpart you can pair with the camera. If you need to send audio from Captivate to a meeting app, set the meeting app’s microphone to a separate audio device (a real microphone, a virtual audio device like BlackHole or Loopback, or Captivate’s separate audio output) and run audio in parallel with the camera.

## Windows: how the virtual webcam is installed

The Windows Virtual Webcam is a DirectShow filter registered automatically when Captivate is installed. There is no in-app activation step and no separate permission prompt.

### How the camera appears in your meeting app

In your meeting app, choose **Virtual Webcam NewBlue Captivate x32** as the camera source.

{% hint style="info" %}
**On the device name:** The literal device name shown by Zoom, Teams, and other apps ends in `x32`. This is a legacy artifact in the name string — the filter itself is 64-bit and runs on 64-bit Windows. Just choose the entry that begins with "Virtual Webcam NewBlue Captivate".
{% endhint %}

### Audio

The Windows Virtual Webcam carries **video only**. If you also need to send audio from Captivate to your meeting app, route audio through a separate audio device.

## Tips

* One Virtual Webcam per channel. To rename a channel, double-click the channel name, type the new name, and press **Enter**.
* To delete a channel, right-click (Windows) or Control + click (macOS) the channel name, choose **Delete**, and confirm.
* The Virtual Webcam mirrors the channel’s **Program Monitor** in real time — anything you bring live with **Play** appears in the camera feed.

## See also

* [Output graphics to OBS](/set-up-your-production/chapter-index/output-graphics-to-obs.md) — for use specifically with OBS Studio (and other apps with the NewBlue plugin), this path offers lower latency, full alpha, and audio.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://captivatehelp.newbluelive.com/set-up-your-production/chapter-index-6/output-graphics-as-a-virtual-webcam.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
