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
containing the protocol stream may be broadcast to a number of devices
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
packed from LSB first
.
Message groups
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
maximum 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
Every message packet consists of a three byte header followed by an optional variable length data
block
.
The maximum packet size is 64 bytes
Destination device (uint8)
Command length (uint8)
Command id (uint8)
Reserved (uint8)
Command data (uint8[])
Padding (uint8[])
-
active picture region of a digital video stream
,
individual messages and command headers are defined
,
32 bit aligned
.
.
Under most circumstances
.
Format
.
Device addresses are represented as an 8 bit unsigned integer. Individual devices are numbered
0 through 254 with the value 255 reserved to indicate a broadcast message to all devices.
The command length is an 8 bit unsigned integer which specifies the length of the included
command data. The length does NOT include the length of the header or any trailing padding
bytes.
The command id is an 8 bit unsigned integer which indicates the message type being sent.
Receiving devices should ignore any commands that they do not understand. Commands 0
through 127 are reserved for commands that apply to multiple types of devices. Commands 128
through 255 are device specific.
This byte is reserved for alignment and expansion purposes. It should be set to zero.
The command data may contain between 0 and 60 bytes of data. The format of the data section is
defined by the command itself.
Messages must be padded up to a 32 bit boundary with 0x0 bytes. Any padding bytes are NOT
included in the command length.
.
Here at Blackmagic Design
.
The video stream
.
Device addressing is
.
/
SDID x51
/
x53 in the active
,
this should allow all messages to be
,
or dropped entirely as appropriate
DeveloperInformation
,
our
!
.
Bit fields are
.
.
1724