Blackmagic SDI and Bluetooth Camera Control Protocol
Version 1
4
.
If you are a software developer you can use the Blackmagic SDI and Bluetooth Camera Control
Protocol to construct devices that integrate with our products
approach is to open up our protocols and we eagerly look forward to seeing what you come up
with
!
Overview
This document describes an extensible protocol for sending a unidirectional stream of small
control messages embedded in the non
video stream containing the protocol stream may be broadcast to a number of devices
addressing is used to allow the sender to specify which device each message is directed to
Assumptions
Alignment and padding constraints are explicitly described in the protocol document
are packed from LSB first
defined as
and can be assumed to be
,
Blanking Encoding
A message group is encoded into a SMPTE 291M packet with DID
region of VANC line 16
.
Message Grouping
Up to 32 messages may be concatenated and transmitted in one blanking packet up to a max-
imum of 255 bytes payload
sent with a maximum of one frame latency
If the transmitting device queues more bytes of message packets than can be sent in a single
frame
it should use heuristics to determine which packets to prioritize and send immediately
,
Lower priority messages can be delayed to later frames
Abstract Message Packet Format
Every message packet consists of a three byte header followed by an optional variable length
data block
The maximum packet size is 64 bytes
.
Device addresses are represented as an 8 bit unsigned integer
Destination device
devices are numbered 0 through 254 with the value 255 reserved to indicate a
uint8
(
)
broadcast message to all devices
The command length is an 8 bit unsigned integer which specifies the length of
Command length
the included command data
uint8
(
)
header or any trailing padding bytes
The command id is an 8 bit unsigned integer which indicates the message type
being sent
Command id
uint8
(
)
understand
multiple types of devices
This byte is reserved for alignment and expansion purposes
Reserved
uint8
(
)
to zero
Command data
The command data may contain between 0 and 60 bytes of data
uint8
the data section is defined by the command itself
(
[])
Messages must be padded up to a 32 bit boundary with 0x0 bytes
Padding
uint8
(
[])
bytes are NOT included in the command length
Receiving devices should use the destination device address and or the command identifier to
determine which messages to process
irrelevant or unknown commands and should be careful to skip the implicit padding as well
active picture region of a digital video stream
-
Message groups
individual messages and command headers are
.
,
32 bit aligned
,
Under most circumstances
.
.
.
The length does NOT include the length of the
.
Receiving devices should ignore any commands that they do not
.
Commands 0 through 127 are reserved for commands that apply to
.
Commands 128 through 255 are device specific
.
.
The receiver should use the command length to skip
.
Here at Blackmagic Design
.
.
SDID x51
/
/
this should allow all messages to be
,
or dropped entirely as appropriate
,
.
.
.
.
.
Developer Information
our
,
The
.
Device
.
.
Bit fields
.
x53 in the active
.
.
Individual
.
.
It should be set
The format of
.
Any padding
.
.
2015