Blackmagic Media Reference

Describes the options and settings exposed by the Blackmagic Design Media Framework components.

Choose your operating system:

Windows

macOS

Linux

This page describes the options and settings exposed on Blackmagic Media Framework objects.

Supported Blackmagic Cards

The Blackmagic Media Source and Blackmagic Media Output have been tested with the following cards:

  • DeckLink 4K Extreme 12G

  • DeckLink Duo 2

  • DeckLink 8K Pro

Other devices may or may not work as expected.

Blackmagic Media Source Settings

Each Blackmagic Media Source object that you create exposes the following configuration settings.

Property

Description

Configuration Options

Blackmagic Media Source Configuration

Device

Sets the Blackmagic device and SDI connection that this Media Source will use to bring video into the Unreal Engine. If you have multiple cards or devices attached to your computer, you can choose which one to use here.

Resolution

Sets the resolution of the incoming video feed. Note that this must match the actual video feed exactly.

Standard

Sets whether the incoming video feed is progressive or interlaced. Note that this must match the actual video feed exactly.

Frame Rate

Sets the number of video frames per second in the incoming feed. Note that this must match the actual video feed exactly.

Other Blackmagic Options

Timecode Format

Specifies the type of timecode that accompanies the video signal.

Audio

Capture Audio

Determines whether the Unreal Engine captures audio from the Media Port.

Audio Channels

Specifies the audio channel that contains the signal you want the Unreal Engine to capture.

Max Num Audio Frame Buffer

Sets the maximum number of frames of audio data the Unreal Engine will store in memory at any given time. If the input video jumps or hitches, you can try raising this value.

Video

Capture Video

Determines whether the Unreal Engine captures video from the Media Port.

Color Format

Determines the order of the color channels that make up each pixel in the input video, and the number of bits in each channel.

Max Num Video Frame Buffer

Sets the maximum number of frames of video data the Unreal Engine will store in memory at any given time. If the input video jumps or hitches, you can try raising this value.

Debug

Log Drop Frame

When enabled, the Unreal Engine prints a message to its output log every time it detects a dropped frame in the input feed.

Encode Timecode in Texel

When enabled, the engine embeds the timecode of each frame into the captured video. You can use this to check that the timecode for each frame of input matches the values you're expecting. See Timecode Texel Encoding .

Synchronization

Synchronize with Engine's Timecode

By default, the Unreal Engine attempts to play the video frames as they come in. Enable this setting to buffer incoming frames, and try to align them with the Unreal Engine's internal timecode. If the timecode of any buffered frame matches the Unreal Engine's internal timecode for any frame, the video input will be synchronized with from that frame forward.

Platforms

Player Overrides

Leave these options at their default values for Blackmagic Media Sources.

Blackmagic Media Output Settings

Each Blackmagic Media Output object that you create exposes the following configuration settings.

Property

Description

Configuration Settings

Blackmagic Media Output Configuration

Output Type

Determines whether the Unreal Engine outputs only the fill image, or both the fill and key images.
When you set this to Fill Only , only the fill image is output to the Source set below.
When you set this to Fill and Key , the fill image is output to the Source , and the key is output to the Key Source .

Device

Sets the Blackmagic device and SDI connection that this Media Source will send its video feed to. If you have multiple cards or devices attached to your computer, you can choose which one to use here.

Resolution

Sets the resolution of the video feed produced by this Media Output.

Standard

Sets whether the output feed produced by this Media Output is progressive or interlaced.

Frame Rate

Sets the number of frames per second in the video feed produced by this Media Output.

Key Source

Sets the port that will receive the key images from the Unreal Engine, when the Output Type is set to Fill and Key .

Output

Timecode Format

Determines whether the Unreal Engine should embed timecode in the output feed, and which timecode format it should use.

Pixel Format

Determines the order of the color channels that make up each pixel, and the number of bits in each channel.

If you want to output the alpha, set the Output Type setting to Fill and Key , and use the Key Source to send the alpha to an output port on your Blackmagic card.

Number of Blackmagic Buffers

Sets the number of buffers used to transfer each frame image from the main thread memory to the Blackmagic card.
Lower values are more likely to cause missed frames as it waits for each transfer to complete; larger numbers are more likely to increase latency.

Interlaced Fields Timecode Need to Match

When producing an interlaced video feed, this setting determines whether the timecode values for both fields in a single interlaced frame need to match.

Number of Texture Buffers

Sets the number of buffers used to transfer each frame image from the GPU to main thread memory.
Lower values are more likely to cause a bottleneck on the GPU side as it waits for each transfer to complete; larger numbers are more likely to increase latency.

Synchronization

Wait for Sync Event

When this option is disabled, and you don't already have the Unreal Engine genlocked to an input signal, the engine runs at the fastest frame rate it can manage and provides all the frames it generates to the Blackmagic card. Each time the card is ready to output a new frame, it selects one of the frames generated by the Engine.

When this option is enabled, the Unreal Engine does not generate any new frames of output until the Blackmagic card is ready to accept the new frame. The effect is similar to genlock, but instead of locking the Unreal Engine's frame rate to an input signal, it locks the Engine's frame rate to the output timing of the Blackmagic card.

This option is most useful when you don't already have an input signal that you can lock the Unreal Engine's frame rate to, but you want to ensure that the Engine is producing only one output frame for every frame in the output video feed.

Do not enable this option if you already have the Unreal Engine genlocked to an input feed using a custom time step.

Debug

Encode Timecode in Pixel

When enabled, the engine embeds the timecode of each frame in the output signal. See Timecode Texel Encoding .

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss