Blackmagic Ultimatte 12 8K

Blackmagic Ultimatte12 User Manual Developer Information

Blackmagic Ultimatte 12 8K

Controlling Ultimatte using Telnet

The Blackmagic Ultimatte 12 Ethernet Protocol gives you the freedom to build your own custom control solutions for your Ultimatte 12. For example, you can create your own software application and control your Ultimatte via Ethernet from your computer.

The first step is to connect your Ultimatte to your computer via Ethernet. You can do this by connecting Ultimatte to the same network your computer is connected to, or you can connect Ultimatte directly to your computer.

📘

NOTE If your Blackmagic Ultimatte is connected directly to your computer, set your computer to a manual static IP address. Set the first three blocks of numbers in the IP address to match your Ultimatte and set the subnet mask to 255.255.255.0. You can leave the gateway or router setting blank as it will not be used in a direct connection between your computer and Ultimatte.

If your network settings are set correctly, you can now open the Terminal application on Mac OS, or enable Telnet command line utilities on Windows and enter Ultimatte control protocol commands. These commands can be programmed into your application and triggered by related items on a custom user interface of your own design.

Below is a basic example of using Telnet to change the backing color, restore to factory defaults, and adjust the matte density control.

  1. In the Terminal application, type the following:

    telnet (IP address of main unit (space) port number)(enter)
    For example: telnet 192.168.10.220 9998
    Press ‘enter’.

    A list of status information will appear and you are ready to control your Ultimatte.

  2. Now type the following:

    control: (press enter)
    backing color: blue (press enter twice)

    Terminal will acknowledge the action with ‘ack’ and confirm it so you know your setting has been performed.

    You have now changed Ultimatte’s backing color to blue.

  3. To restore to factory defaults, type the following:

    control: (press enter)
    factory defaults: yes (press enter twice)

    This restores your Ultimatte to factory default settings and performs an automatic composite.

  4. To adjust the matte density setting, type the following:

    control: (press enter)
    matte density: 273 (press enter twice)

    Terminal will acknowledge and confirm the action.

    You have now adjusted the matte density setting.

  5. To exit Telnet:
    Hold down the control button and press the ‘]’ key. The Telnet prompt will appear.
    Type the following:
    quit(press enter)

A status message will appear confirming the connection is closed.

Blackmagic Ultimatte 12 Ethernet Protocol

Version 2.0

If you are a software developer you can use Ultimatte Ethernet Protocol to construct devices that integrate with our products. Here at Blackmagic Design our approach is to open up our protocols and we eagerly look forward to seeing what you come up with!

Overview

The Blackmagic Ultimatte Ethernet Protocol is a text based protocol that is accessed by connecting to TCP port 9998 on an Ultimatte.

Ultimatte sends information in blocks. Each block has an identifying header in all caps, followed by a full colon. A block spans multiple lines and is terminated by a blank line. Each line in the protocol is terminated by a newline character.

Upon connection, the Ultimatte device sends a complete update of its status. After the initial status transmission, status updates are sent every time the Ultimatte device’s status changes.

To be resilient to future protocol changes, clients should ignore blocks they do not recognize, up to the trailing blank line. Within existing blocks, clients should ignore lines that they do not recognize.

Protocol Preamble

The first block sent by Ultimatte is always the protocol preamble:

PROTOCOL PREAMBLE:↵
Version: 2.0↵

The version field indicates the protocol version. When the protocol is changed in a backwards compatible way, the minor version number will be updated. If incompatible changes are made, the major version number will be updated.

Identity

The next block contains information about the device identity.

IDENTITY:↵
Model: Ultimatte 12 8K↵
Label: Ultimatte 12 8K↵
Unique ID: 12345678↵

Network Information

There are two network blocks. The first describes the general network information and the second describes the network interface details.

NETWORK:↵
Interface count: 1↵
Default Interface: 0↵
Static DNS Servers: 8.8.8.8, 8.8.4.4↵
Current DNS Servers: 8.8.8.8, 8.8.4.4↵

NETWORK INTERFACE 0:↵
Name: Cadence GigE Ethernet MAC↵
Priority: 0↵
MAC Address: xx.xx.xx.xx.xx.xx↵
DynamicIP: false↵
Current Addresses: 10.0.0.2/255.255.255.0↵
Current Gateway: 10.0.0.1↵
Static Addresses: 10.0.0.2/255.255.255.0↵
Static Gateway: 10.0.0.1↵

Version Information

The version information describes the hardware and software version numbers and identifiers of the device. For example, the “Product ID” field contains the hexadecimal USB Product Identifier.

VERSION:↵
Product ID: BE84↵
Hardware Version: 0100↵
Software Version: 09A89B7A↵
Software Release: 2.0↵

Device Information

The next block contains general information about the connected Ultimatte device.

DEVICE:↵
Video Format: 1080p60↵
Reference Source: Foreground↵
FG In: Locked↵
BG In: Locked↵
MONITOR In: Locked↵
G MATTE In: Locked↵
H MATTE In: Locked↵
REFIn: Locked↵
BG MATTE In: Locked↵
LAYER In: Locked↵
LAYER MATTE In: Locked↵

📘

NOTE Some Ultimatte models will only have a subset of the above-mentioned inputs.

For example, the Ultimatte 12 HD Mini only has the following inputs:

  • Foreground input (FG In), and

  • Background input (BG In).

Similarly, the Ultimatte 12 HD only has the following inputs:

  • Foreground input (FG In),

  • Background input (BG In),

  • Garbage Matte input (G MATTE In),

  • Holdout Matte input (H MATTE In),

  • Monitor Input (MONITOR In), and

  • Reference Input (REF In).

Video Formats Information

The Video Formats blocks lists the video formats supported by the device. See the Video Format Control list to find the formats supported by each device.

VIDEO FORMATS:↵
auto detect↵
525.59.94 NTSC 4:3↵
625i50 PAL 4:3↵
720p60↵
...

Initial Status Dump

The next eleven blocks provide the control values, control default values, current file, file list, the GPI lists, the Frame Buffer Image List and Frame Buffer State.

CONTROL:↵
Matte Density: 0↵
Red Density: 0↵
Green Density: 0↵
...(Full list in Controls section)

CONTROL DEFAULT:↵
Matte Density: 0↵
Red Density: 0↵
Green Density: 0↵
...(Full list in Controls section)

CURRENT FILE:↵
Filename↵

FILE LIST:↵
File 1↵
File 2↵

GPI LIST: ↵
ID: 1↵
Index: 0↵
File 1↵
File 2↵

📘

NOTE The Ultimatte 12 HD Mini does not have GPI inputs, so this block is not available on that device.

The IMAGE LIST block contains the filenames of images that are currently stored on the device. These images can be assigned to Frame Buffer inputs.

IMAGE LIST:↵
Image 1↵
Image 2↵

The FRAME BUFFER block contains the status of the Frame Buffers on the device. This information will show:

  • How many image buffers are available,

  • whether a frame buffer is enabled and has an image buffer assigned to it, and

  • how frame buffer transitions are set up for those frame buffers that support transitions.

📘

NOTE Frame Buffer Duration time is in milliseconds.

FRAME BUFFER:↵
Number Of Frame Buffers: 46↵
BG 1 Frame Buffer Enable: off↵
BG 1 Frame Buffer Index: 0↵
LY 1 Frame Buffer Enable: off↵
LY 1 Frame Buffer Index: 0↵
BG 2 Frame Buffer Enable: off↵
BG 2 Frame Buffer Index: 0↵
LY 2 Frame Buffer Enable: off↵
LY 2 Frame Buffer Index: 0↵
GM Frame Buffer Enable: off↵
GM Frame Buffer Index: 0↵
HM Frame Buffer Enable: off↵
HM Frame Buffer Index: 0↵
BG Frame Buffer Mix: 0↵
LY Frame Buffer Mix: 0↵
BG Transition Duration: 0↵
LY Transition Duration: 0↵
Frame Buffer 1: Image 1↵
Frame Buffer 2: Image 2↵
...

End Prelude

The final block of the status dump sent by Ultimatte is always end prelude:

END PRELUDE:↵

Status Updates

When any Control is changed on an Ultimatte device, the Ultimatte device replies with the applicable status block to all connected clients, containing only the items that have changed. For example, if Matte Density has been changed, the following block will be sent:

CONTROL:↵
Matte Density: 0↵

If multiple items are changed, multiple items may be present in the update:

CONTROL:↵
Matte Density: 0↵
Red Density: 0↵

These notifications are sent whether the change originated from the front panel, or from any other connected client.

Requesting Changes

To update a Control the client should send a block of the same form Ultimatte sends when its status changes. For example, to change Matte Density to 100, the client should send the following block:

CONTROL:↵
Matte Density: 100↵

The block must be terminated by a blank line. On receipt of a blank line, Ultimatte will either acknowledge the request by responding:

ACK↵

or indicate that the request was not understood by responding:

NAK↵

After a positive response, the client should expect to see a status update from Ultimatte showing the status change. This is likely to be the same as the command that was sent, but if the request could not be performed, or other changes were made simultaneously by other clients, there may be more updates in the block, or more blocks. Simultaneous updates could cancel each other out, leading to a response that is different to that expected.

In the absence of simultaneous updates, a simple control change will result in the following protocol exchange:

CONTROL:↵
Matte Density: 0↵

ACK↵

CONTROL:↵
Matte Density: 0↵

The asynchronous nature of the responses means that a client should never rely on the desired update actually occurring and must simply watch for status updates from Ultimatte and use only these to update its local representation of Ultimatte’s state.

A client may also request Ultimatte to change a control by a relative amount. For example, to change Matte Density by 10, the client should send the following block:

CONTROL:↵
Offset Matte Density: 10↵

Only controls with numerical ranges support this relative mode.

Requesting a Status Dump

The client may request that Ultimatte resend the complete state of any status block by sending the header of the block, followed by a blank line. In the following example, the client requests Ultimatte resend the control status:

CONTROL:↵

ACK↵

CONTROL:↵
Matte Density: 0↵
Red Density: 0↵
Green Density: 0↵
...(Full list in Controls section)

File System

The client may request that Ultimatte load, save, delete, or rename a file. To load a file the client should send the following block:

FILE:↵
Load: <filename>↵

Ultimatte will respond with an ACK followed by a Current File block or a Message block.

To save, delete, or rename a file the client should send one of the following blocks:

FILE:↵
Save: <filename>↵

FILE:↵
Delete: <filename>↵

FILE:↵
Rename: <filename>↵
To: <filename>↵

In each case Ultimatte will respond with an ACK followed by a File List block or a Message block.

GPI Event List

The client may request that Ultimatte add, insert or remove an event to a GPI Event List by sending an Insert GPI Event or Remove GPI Event command, followed by a blank line. For example, to insert an event, the client should send the following block:

GPI:↵
ID: 1↵
Insert: <filename>↵
At: -1↵ {The insertion index. A ‘-1’ represents the end of the list}

To remove an event a client would send the following block:

GPI:↵
ID: 1↵
Remove: 1 ↵ {Event index to remove. A ‘0’ will delete all events}

To set the current event index a client would send the following block:

GPI:↵
ID: 1↵
Index: 1↵

Ultimatte will respond with an ACK message followed by either a GPI List Block or a Message Block.

GPI LIST:↵
ID: 1↵
Index: 0↵
File 1↵
File 2↵
...

or

MESSAGE:↵
Warning: Event limit exceeded↵

Frame Buffer

The client may request that the Ultimatte device assign a pre-loaded image from its Media Pool into a particular frame buffer and enable/disable the frame buffer. To assign and enable an image to the BG frame buffer the following commands are required:

FRAME BUFFER:↵
BG 1 Frame Buffer Index: 1↵
BG 1 Frame Buffer Enable: on↵

To disable the frame buffer only the enable command is required:

FRAME BUFFER:↵
BG 1 Frame Buffer Enable: on↵

📘

NOTE The Telnet interface does not currently provide loading or removing images in the Media Pool. This has to be done from either a Smart Remote 4, or using the Software Control application. Refer to the ‘using the media pool’ section of this manual for more information.

Camera Control

Ultimatte 12 HD Mini can be used to control an attached camera via SDI or HDMI, please refer to the ‘Camera Control via Ultimatte 12 HD Mini’ section for more information. For SDI Camera Control, the Ultimatte device’s Camera ID may be changed using the CAMERACONTROL block:

CAMERACONTROL:↵
Camera Id:↵

📘

NOTE This control block is only available on the Ultimatte 12 HD Mini.

Controls

Matte Density

0-10000

Black Gloss

0-10000

Blue Density

0-10000

Green Density

0-10000

Red Density

0-10000

Shadow Level

0-10000

Shadow Threshold

0-10000

Matte Correct Horizontal Size

0-6

Matte Correct Vertical Size

0-3

Cursor X

0-10000

Cursor Y

0-10000

Cursor 2 X

0-10000

Cursor 2 Y

0-10000

Veil Master

0-10000

Veil Red

0-10000

Veil Green

0-10000

Veil Blue

0-10000

Veil Correct Horizontal Size

0-6

Veil Correct Vertical Size

0-6

Wall Color Red

0-10000

Wall Color Green

0-10000

Wall Color Blue

0-10000

Floor Color Red

0-10000

Floor Color Green

0-10000

Floor Color Blue

0-10000

Cleanup Level

0-10000

Cleanup Dark Recover

0-10000

Cleanup Light Recover

0-10000

Cleanup Strength

0-10000

GM Cleanup Level

0-10000

GM Cleanup Dark Recover

0-10000

GM Cleanup Light Recover

0-10000

GM Cleanup Strength

0-10000

Correction Level

0-10000

Noise Level

0-10000

Black Balance

0-10000

Gray Balance

0-10000

Controls

White Balance

0-10000

Flare Level

0-10000

Cool

0-10000

Skin Tone

0-10000

Light Warm

0-10000

Dark Warm

0-10000

Flare Correct Horizontal Size

0-6

Flare Correct Vertical Size

0-6

Ambiance Master

0-10000

Ambiance Red

0-10000

Ambiance Green

0-10000

Ambiance Blue

0-10000

Ambiance Strength

0-10000

Direct Light Red

0-10000

Direct Light Green

0-10000

Direct Light Blue

0-10000

Direct Light Mix

0-10000

Vertical Blur

0-10000

FG Saturation Red

0-10000

FG Saturation Green

0-10000

FG Saturation Blue

0-10000

FG Saturation Master

0-10000

FG Contrast Red

0-10000

FG Contrast Green

0-10000

FG Contrast Blue

0-10000

FG Contrast Master

0-10000

FG Black Red

0-10000

FG Black Green

0-10000

FG Black Blue

0-10000

FG Black Master

0-10000

FG White Red

0-10000

FG White Green

0-10000

FG White Blue

0-10000

FG White Master

0-10000

FG Contrast Crossover

0-10000

Fade Mix

0-10000

BG Saturation Red

0-10000

Controls

BG Saturation Green

0-10000

BG Saturation Blue

0-10000

BG Saturation Master

0-10000

BG Contrast Red

0-10000

BG Contrast Green

0-10000

BG Contrast Blue

0-10000

BG Contrast Master

0-10000

BG Black Red

0-10000

BG Black Green

0-10000

BG Black Blue

0-10000

BG Black Master

0-10000

BG White Red

0-10000

BG White Green

0-10000

BG White Blue

0-10000

BG White Master

0-10000

BG Contrast Crossover

0-10000

BG Filter

0-10000

Test Signal Master

0-10000

Test Signal Red

0-10000

Test Signal Green

0-10000

Test Signal Blue

0-10000

LY Saturation Red

0-10000

LY Saturation Green

0-10000

LY Saturation Blue

0-10000

LY Saturation Master

0-10000

LY Contrast Red

0-10000

LY Contrast Green

0-10000

LY Contrast Blue

0-10000

LY Contrast Master

0-10000

LY Black Red

0-10000

LY Black Green

0-10000

LY Black Blue

0-10000

LY Black Master

0-10000

LY White Red

0-10000

LY White Green

0-10000

LY White Blue

0-10000

LY White Master

0-10000

Controls

LY Contrast Crossover

0-10000

LY Filter

0-10000

LY Test Signal Master

0-10000

LY Test Signal Red

0-10000

LY Test Signal Green

0-10000

LY Test Signal Blue

0-10000

LY Fade Mix

0-10000

Lighting Level Red

0-10000

Lighting Level Green

0-10000

Lighting Level Blue

0-10000

Lighting Level Master

0-10000

Lighting Minimum Level

0-10000

Window Position Top

0-{Based on Video Format}

Window Position Bottom

0-{Based on Video Format}

Window Position Left

0-{Based on Video Format}

Window Position Right

0-{Based on Video Format}

Window Softness Top

0-10000

Window Softness Bottom

0-10000

Window Softness Left

0-10000

Window Softness Right

0-10000

Window Skew Top

0-10000

Window Skew Bottom

0-10000

Window Skew Left

0-10000

Window Skew Right

0-10000

Window Skew Offset Top

0-10000

Window Skew Offset Bottom

0-10000

Window Skew Offset Left

0-10000

Window Skew Offset Right

0-10000

Transition Rate

1-120

BM Process Horizontal

0-3

BM Process Vertical

0-3

BM Filter

0-10000

BM Input Level

0-10000

BM Input Offset

0-10000

GM Process Horizontal

0-3

GM Process Vertical

0-3

GM Filter

0-10000

Controls

GM Input Level

0-10000

GM Input Offset

0-10000

HM Process Horizontal

0-3

HM Process Vertical

0-3

HM Filter

0-10000

HM Input Level

0-10000

HM Input Offset

0-10000

LM Process Horizontal

0-3

LM Process Vertical

0-3

LM Filter

0-10000

LM Input Level

0-10000

LM Input Offset

0-10000

Noise Cursor X

0-10000

Noise Cursor Y

0-10000

FG Input Frame Delay

0-14

FG Input U Position

0-10000

FG Input V Position

0-10000

FG Input UV Position

0-10000

Talent Highlight Level**

0-10000

Monitor Highlight Level

0-10000

Matte Out Level

0-10000

Output Offset

-1500-+1500

GP Out Delay*

1-120

GP 1 Input Delay*

1-120

GP 2 Input Delay*

1-120

GP 3 Input Delay*

1-120

GP 4 Input Delay*

1-120

GP 5 Input Delay*

1-120

Matte Enable

On/Off

Screen Correct

On/Off

GM Cleanup Enable

On/Off

Noise Enable

On/Off

Noise Cursor Enable

On/Off

FG Freeze

On/Off

FG Advanced Contrast Enable

On/Off

Advanced Flare Enable

On/Off

HM Flare Enable

On/Off

Controls

Ambiance Enable

On/Off

BG Gradient Enable

On/Off

BG Freeze

On/Off

BG Advanced Contrast Enable

On/Off

BG Test Signal Enable

On/Off

LY Input Enable

On/Off

LY Advanced Contrast Enable

On/Off

LY Freeze**

On/Off

LY Test Signal Enable

On/Off

Lighting Enable

On/Off

Window Enable

On/Off

Window BM Enable

On/Off

Window GM Enable

On/Off

Window HM Enable

On/Off

Window LM Enable

On/Off

Window Invert

On/Off

Wall Cursor Position Enable

On/Off

Floor Cursor Position Enable

On/Off

Dual Cursor

On/Off

Manual Color Enable

On/Off

Custom Powerup(deprecated)

On/Off

BM Enable

On/Off

BM Invert

On/Off

BM Process Invert

On/Off

BM Freeze**

On/Off

GM Enable

On/Off

GM Invert

On/Off

GM Process Invert

On/Off

GM Freeze*

On/Off

HM Enable

On/Off

HM Invert

On/Off

HM Process Invert

On/Off

HM Freeze*

On/Off

LM Invert

On/Off

LM Process Invert

On/Off

Monitor To Program

On/Off

Monitor To Talent**

On/Off

Controls

Fill Linear Mix Correction*

On/Off

Talent Mirror**

On/Off

Monitor Cascade

On/Off

Matte Out Invert*

On/Off

On Air Enable

On/Off

On Air Lockout

On/Off

Matte View Range

On/Off

Matte View Invert

On/Off

Monitor Out RGB

On/Off

Monitor Out Red Only

On/Off

Monitor Out Green Only

On/Off

Monitor Out Blue Only

On/Off

GP Out Save*

On/Off

Quickload 1

On/Off

Quickload 2

On/Off

Quickload 3

On/Off

Quickload 4

On/Off

Quickload 5

On/Off

Quicksave 1

On/Off

Quicksave 2

On/Off

Quicksave 3

On/Off

Quicksave 4

On/Off

Quicksave 5

On/Off

GP 1 Input Enable*

On/Off

GP 2 Input Enable*

On/Off

GP 3 Input Enable*

On/Off

GP 4 Input Enable*

On/Off

GP 5 Input Enable*

On/Off

GP 1 High Enable*

On/Off

GP 2 High Enable*

On/Off

GP 3 High Enable*

On/Off

GP 4 High Enable*

On/Off

GP 5 High Enable*

On/Off

Tally Active

On/Off {Read Only}

3G SDI level

A/B

Color Space*

Rec.709/Rec.2020

Filter Mode

Median/Average

Filter Median

0/1/2/3/4

Filter Average

0/1/2/3/4

LY In Mix Mode

Realistic/Linear/Additive

Backing Color

Red/Green/Blue

Cursor Position

Default/Last

GP Out Level*

High/Low

Output Range

Normal/Full

Monitor Out

Program, FG, BG, Combined Matte, Internal Matte, Fill, Layer In, Background Matte In, Garbage Matte In, Holdout Matte In, Layer Matte In, Processed LM, Processed HM, Processed GM, Processed BM, Screen Correction

Layer Order

FG/Layer/BG Layer/BG, Layer/FG/ BG Layer/BG, Layer/BG Layer/FG/BG, BG Layer/Layer/FG/BG, BG Layer/FG/ Layer/BG, FG/BG Layer/Layer/BG, FG/BG Layer/BG, BG Layer/FG/BG, FG/Layer/BG, Layer/FG/BG

Video Format

Auto Detect, 525i59.94 NTSC 4:3, 625i50 PAL 4:3, 720p60, 720p59.94, 720p50, 1080i60, 1080i59.94, 1080i50, 1080p60, 1080p59.94, 1080p50, 1080p30, 1080p29.97, 1080p25, 1080p24, 1080p23.98, 1080PsF30, 1080PsF29.97, 1080PsF25, 1080PsF24, 1080PsF23.98, 2160p60, 2160p59.94, 2160p50, 2160p30, 2160p29.97, 2160p25, 2160p24, 2160p23.98, 4320p60, 4320p59.94, 4320p50, 4320p30, 4320p29.97, 4320p25, 4320p24 and 4320p23.98

Factory Defaults

Yes

User Defaults

Yes

Auto Screen Sample

Yes

Screen Capture

Yes

Noise Select

Yes

Sample Wall

Yes

Sample Floor

Yes

Matte Reset

Yes

Cleanup Reset

Yes

GM Cleanup Reset

Yes

FG Color Reset

Yes

BG Color Reset

Yes

Flare Reset

Yes

Ambiance Reset

Yes5

BG Test Signal Color Reset

Yes5

LY Color Reset

Yes5

LY Test Signal Color Reset

Yes5

Window Reset

Yes5

Window Skew Reset

Yes5

GP Out*

Yes5

  1. These ranges are Ultimatte device dependent. For Ultimate 12 8K running protocol 2.0, the range is 0-6. For Ultimatte 12 running version 1.2, the range is 0-3.

  2. These controls are only available in protocol version 2.0 and up.

  3. Loop outputs for ‘garbage matte’ and ‘holdout matte’ inputs are available for Ultimatte 12, not Ultimatte 12 8K.

  4. Supported video formats are Ultimatte device dependent. 4320p formats are available for Ultimatte 12 8K. Ultimatte 12 HD Mini does not support PsF video formats.

  5. These controls represent functions. Send ‘Yes’ to execute the function. Ultimatte will respond with a ‘Yes’ to indicate the function is complete.

* These controls are not available on the Ultimatte 12 HD Mini

** These controls are not available of the Ultimatte 12 HD or HD Mini

Glossary

FG

Foreground

BG

Background

LY

Layer

GM

Garbage Matte

BM

Background Matte

HM

Holdout Matte

LM

Layer Matte

Was this information helpful?