> For the complete documentation index, see [llms.txt](https://docs.dbnetsoft.com/dbnetsoft/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dbnetsoft.com/dbnetsoft/screenspro/projects-and-configs/decklink-output.md).

# Decklink Output

The server plays its output out on a Blackmagic Design Decklink card as fill and key. The card's keyer is switched on, so the graphics are keyed with their alpha channel. The Blackmagic Desktop Video driver has to be installed.

## Settings pane

The Decklink row of the settings pane changes the output right away: a running Decklink output is restarted with the new settings.

| Field  |                                                                                                                                     |
| ------ | ----------------------------------------------------------------------------------------------------------------------------------- |
| Card   | `Off` or one of the Decklink cards found, e.g. `#0 DeckLink Duo (1)`. A configured card that isn't found is shown as `(not found)`. |
| Format | Video format of the output, see below.                                                                                              |
| GPU    | Window capture on the GPU instead of rendering the output again, see [GPU capture](#gpu-capture).                                   |

Next to it, `On` shows that the output is running, `Off` that no card is selected and `Error` that the output couldn't be started (see the log).

## Config settings

| Setting               |      |                                                                                                                                                              |
| --------------------- | ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| DecklinkCardIndex     | int  | Number of the card, starting at 0. Empty or missing: no Decklink output.                                                                                     |
| DecklinkFormat        | Enum | `Format1080i50` (default), `Format1080p25`, `Format1080p50` or `Format720p50`.                                                                               |
| DecklinkCapture       | Enum | `Render` (default): the output is rendered again for the card. `WindowCapture`: the render window is captured on the GPU and played out clocked by the card. |
| TransparentBackground | bool | Transparent render window. Needed for a key (alpha channel) with `WindowCapture`.                                                                            |

## Formats

| Format        | Size      | Frames per second          |
| ------------- | --------- | -------------------------- |
| Format1080i50 | 1920x1080 | 25 (interlaced, 50 fields) |
| Format1080p25 | 1920x1080 | 25                         |
| Format1080p50 | 1920x1080 | 50                         |
| Format720p50  | 1280x720  | 50                         |

With interlaced output, both fields of a frame show the same picture, flicker removal of the card is switched off for crisp graphics.

## GPU capture

With `Render`, every frame is rendered a second time on the UI thread, in software, and handed to the card right away. Effects like `DropShadowEffect` or `BlurEffect` make this slow, see [NDI Output](/dbnetsoft/screenspro/projects-and-configs/ndi-output.md#gpu-capture).

With `WindowCapture` (the GPU switch), the render window is captured as Windows shows it, on the graphics card, and the card plays the frames out with its own clock: it asks for exactly one frame per frame time, so the output runs at the exact frame rate of the format. At 25 fps formats, the animations of all layouts are limited to 25 fps, so every frame shows exactly one animation step.

Requirements and differences:

* Windows 11. On Windows 10 the output is rendered as with `Render` (warning in the log).
* The render window gets exactly the size of the format in pixels. It has to be completely on the displays: parts outside of the displays are black in the output (warning in the log). Other windows covering the render window are fine.
* The display is kept on while the window is captured. If it is dimmed or switched off anyway, Windows doesn't draw the render window and the output stays on the last frame (warning in the log).
* Key (alpha channel) only with `TransparentBackground`, otherwise the background of the render window is part of the output.
* About 4 frames of latency: three frames are scheduled on the card, and the captured frames are buffered to even out the timing of Windows.
