Introduction
SimplyLive servers support integrations over the Advanced Media Protocol, or AMP. The AMP protocol was developed by Thompson Grass Valley in 2004, as an enhancement to a command list originally specified in the Video Disk Recorder – Command and Control Specification document of the Odetics Broadcast Corporation.
This protocol is intended to be used by any external system focusing on control over the SimplyLive server, using simple transport and media management functions. The protocol is ideally suited to workflows where integrations with SimplyLive are focused on VTR transport controls over replay channels, clips and playlists.
More advanced integrations might require the use of the Rest API SimplyLive Connect in place of, or in Conjunction with the SimplyLive AMP Server. For third parties seeking to build a more complex control surface in software or hardware for switching or reply, we recommend using the SimplyLive Device Plugins gRPC API.
Important Information
Truncated Command List
⚠️ It should be noted that not all commands in the AMP protocol have been implemented by SimplyLive: only the truncated set of commands listed in this documented are supported.
Maximum Channel Support
⚠️ It should be noted that the AMP Protocol was designed for a maximum of 4 channels, currently SimplyLive AMP Server supports a maximum of 8 channels, specifically channels numbered 1 – 8.
Getting Started
SimplyLive AMP Server
Any SimplyLive server can communicate with external systems using AMP, providing that the SimplyLive authored AMP Server application is running. For more information on how to enable this please contact Riedel Customer Support[1] .
The SimplyLive AMP Server will have an icon on the Desktop of the host server, this application can be launched to select which application (or mode) the SimplyLive AMP Server should run in.
The AMP Server works with either SimplyLive BMR (the recording mode) or SimplyLive ViBox (the production mode). We can change the mode on the AMP Server UI. It’s impossible to work with both at the same time.
Once running, the application will also display a log of commands received by any external applications.
Message Format
In TCP mode, all AMP commands are textual.
Creating a connection
The most AMP commands require a channel connection to the AMP Server, these commands will work on a PGM or a camera which is specified when creating the channel connection.
Some AMP commands don’t need to specify a PGM or a camera, we can create a channel-less connection for these commands. The AMP specification lists all these commands, please refer to it if needed.
Channel connection
The Structure is:
CRAT0007204Vtr4\n
Where:
· “CRAT” tells the AMP server that a connection is coming.
· “0007” is the total number of characters to follow.
· “2” is the connection mode: “channel”
· “04” is the channel length
· “VtrX” is the channel where X is a value from 1 to 8, Here it is 4. We support up to 8 in Simplylive AMP Server. With BMR, Vtr1 means camera 1, Vtr2 means camera 2, and so on. With ViBox, Vtr1 means PGM 1, Vtr2 means PGM 2, and so on.
· \n is the terminator of a command.
Channel-less connection
The Structure is:
CRAT00014\n
Where:
· “CRAT” tells the AMP Server that a connection is coming.
· “0001” is the number of characters to follow.
· “4” is the connection mode: “channel-less”
· \n is the terminator of a command.
Closing a connection
The Structure is:
STOP0000\n
This command tells the AMP server to close the connection, whether it’s a channel connection or a channel-less connection.
Sending a command:
CMDS<decimal length of message><message><terminator>
For example, to play a clip on PGM1, we send:
CMDS00042001\n
· CMDS is the prefix of AMP commands for the SimplyLive AMP Server,
· 0004 is the length of the command expressed as a decimal number; in this example it is four because the command is “2001” (which is only four numeric characters).
· 2001 is the command; in this example it is to play a clip on PGM1.
· \n is the terminator of a command.
If you are referencing commands using the AMP specification document, be aware that there is no CMDS and message length presented in the documentation.
Important: In the AMP specification, when it says Byte count, we need to double the count since the bytes will be presented by hexadecimal number, so 1 byte = 2 hexadecimal number.
Standard Message Format
|
Command Type |
Byte Count |
Command Code |
Payload Length |
Payload |
Checksum |
|
1 byte (1 char) |
1 byte (1 hex char) |
2 bytes (2 char) |
2 bytes (4 hex chars) |
n bytes (n * 2 hex chars) |
1 byte (2 hex char) |
Example Command
For example, we send an ID Status command with the ID name "clip01" as payload:
CMDS0020aa180006636c69703031\n
-
CMDS: AMP command prefix; this should be in upper case. Please note other hexadecimal number should be in lower case.
-
0020: a decimal number, the number of the following characters
-
aa18: the first a is the command type, the second a is a hexadecimal number 0xa presented payload length, but in this command as an exception it doesn't present the payload length but means in payload the clip name is in Extended Format (see Command Definitions). 18 is the command code.
-
0006: a hexadecimal number presented payload length in byte count.
-
636c69703031: the encoded string "clip01", to encode a string, first step, we get the UTF8 byte array of the string and then convert each byte to the ASCII character value presented by 2 hexadecimal number.
-
In TCP mode, checksum is not used.
Command Definitions
Name Format
An 8-byte ASCII name representing the file name of the clip. If timecode and name are together, the timecode precedes the name in the data stream.
If the name length is less than 8 bytes, then the extra bytes following the name are padded with blanks (0x20).
Extended Name Format
A variable length ASCII name preceded by a two-byte value containing the name length. If timecode and name are together, the timecode precedes the name in the data stream.
Timecode Format
Timecode is represented in four BCD bits representing the hours (hh), minutes (mm), seconds (ss), and frames (ff) of a clip. The ordering of the bytes is: ff ss mm hh with frames sent first in the byte stream.
Format for Multi-Byte Numbers Sent
MSB is sent first in the stream.
Command List
The list of supported AMP protocol commands is documented in this section. The structure is to state the category of the commands, followed by the heading listing the command and command name as follows:
<Command><Command Name>
Under the heading and additionally Riedel specific notes will be added in Light Grey Italics, followed by information about the command as stated in the AMP Specification guide, along with the AMP document reference number.
Device Management
(01.06) Set Drop Frame Mode
Command Sent
01.06 Set Drop Frame Mode
Command Type 0
Byte count 1
Command Code 06
Send Data 1 1 byte data to set Drop Frame on/off
|
CMD Type |
Byte Count |
CMD Code |
Send Data |
CS |
|
|
0 |
1 |
0 |
6 |
|
|
|
1 byte |
1 byte |
1 byte |
1 byte |
||
Returns
ACK
(20.04) Standby Off
Command Sent
20.04 Standby Off
Command Type 2
Byte count 0
Command Code 04
Returns
ACK
(20.05) Standby On
Command Sent
20.05 Standby On
Command Type 2
Byte count 0
Command Code 05
Returns
ACK
(20.60) EE Off
Command Sent
20.60 EE Off
Command Type 2
Byte count 0
Command Code 60
Returns
ACK
(20.61) EE On
Command Sent
20.61 EE On
Command Type 2
Byte count 0
Command Code 61
Returns
ACK
(A0.21) Device ID Request
Command Sent
A0.21 Device ID Request
Command Type A
Byte count 0
Command Code 21
Returns
88.21 Device ID
Command Type 8
Byte count 8
Command Code 21
Return Data 8 byte device ID
Transport Controls
(2X.00) Stop
Only 20.00 is supported.
The SimplyLive AMP Server can work with the BMR application (in recording mode) or ViBox (not in recording mode),
BMR: AMP controls channels that are mapped to camera 1-8 using the channel name VTR1- 8, the Stop command will switch the channel to a live camera, VTR1 to camera 1, VTR2 to camera2, and so on.
ViBox: AMP controls channels that are mapped to PGM1-8 using the channel name VTR1-8 or PGM1-8, the Stop command will change the speed of the PGM to 0%
Command Sent
2X.00 Stop
Command Type 2
Byte count 0 or 4
Command Code 00
Send Data 1 4 byte time data (timecode (see Command Definitions)
(ffssmmhh)) (Optional)
Returns
ACK
(2X.01) Play
Only 20.01 is supported, setting playback speed to 100%
This control only works when the SimplyLive AMP Server is connected to the ViBox application.
ViBox: AMP controls channels that are mapped to PGM1-8 using the channel name VTR1-8 or PGM1-8, the Stop command will change the speed of the PGM to 0%
Command Sent
2X.01 Play
Command Type 2
Byte count 0 or 4
Command Code 01
Send Data 1 4 byte time (Timecode (see Command Definitions) (ffssmmhh))
(Optional)
Returns
ACK
(2X.02) Record
If specifying a time code, the recording will be scheduled at that time, otherwise the recording will start immediately.
Command Sent
2X.02 Record
Command Type 2
Byte count 0 or 4
Command Code 02
Send Data 1 4 byte time (Timecode (see Command Definitions) (ffssmmhh))
(Optional)
Returns
ACK
(20.0F) Eject
The Eject command works with the BMR application only, it will switch the channel to a live camera. VTR1 to camera 1, VTR2 to camera 2, and so on
Command Sent
20.0F Eject
Command Type 2
Byte count 0
Command Code 0F
Returns
ACK
(2X.11) Jog Forwards
If specified a frame number, will jump to the position.
If specified one or two parameters of speed rates, will change the speed according to the parameters, the calculation formulas are as follows:
1 rate parameter:
2 rate parameters:
Command Sent
2X.11 Jog Forward
Command Type 2
Byte count 1 – One rate parameter sent
2 – Two rate parameters sent
4 – Number of fields sent
Command Code 11
Send Data 1-byte rate parameter 1
Send Data 1-byte rate parameter 2 (Optional)
Send Data 4-byte field count sent
Returns
ACK
(2X.12) Variable Forward
Same formula as Jog Forward
Command Sent
2X.12 Variable Forward
Command Type 2
Byte count 1 or 2
Command Code 12
Send Data 1 1-byte rate parameter 1
Send Data 2 1-byte rate parameter 2 (Optional)
Returns
ACK
(2X.21) Jog Reverse
Same formula as Jog Forward
Command Sent
2X.21 Jog Reverse
Command Type 2
Byte count 1 – One rate parameter sent
2 – Two rate parameters sent
4 – Number of fields sent
Command Code 21
Send Data 1-byte rate parameter 1
Send Data 1-byte rate parameter 2 (Optional)
Send Data 4-byte field count sent
Returns
ACK
(2X.22) Variable Reverse
Same formula as Jog Forward
Command Sent
2X.22 Variable Reverse
Command Type 2
Byte count 1 or 2
Command Code 22
Send Data 1 1-byte rate parameter 1
Send Data 2 1-byte rate parameter 2 (Optional)
Returns
ACK
(40.40) Auto Mode Off
Command Sent
40.40 Auto Mode Off
Command Type 4
Byte count 0
Command Code 40
Returns
ACK
(40.40) Auto Mode On
Enable Auto Mode. In Auto Mode, AMP Server will play the clips specified by In Preset/Preview In Preset one by one.
Command Sent
40.41 Auto Mode On
Command Type 4
Byte count 0
Command Code 41
Returns
ACK
(41.36) Timecode Mode Preset
We don't support changing timecode mode, for now only LTC is supported.
Command Sent
41.36 Timecode Mode Preset
Command Type 4
Byte count 1
Command Code 36
Send Data 0 – Select LTC mode
1 – Select Timer mode
2 – Select VITC mode
3 – Select Time Of Day mode
Returns
ACK
(41.42) Set Loop Playback Mode
Enable or disable Loop Playback Mode.
Command Sent
41.42 Set Loop Playback Mode
Command Type 4
Byte count 1
Command Code 42
Send Data 1 1 byte data to set Loop Mode On/Off
|
CMD Type |
Byte Count |
CMD Code |
Send Data |
CS |
|
|
4 |
1 |
4 |
2 |
|
|
|
1 byte |
1 byte |
1 byte |
1 byte |
||
|
|
|
|
|
|
|
Returns
ACK
(61.0C) Current Time Sense
Return the time code of the camera.
Command Sent
47 61.0C Current Time Sense
Command Type 6
Byte count 1
Command Code 0C
Send Data 1 1-byte data with format as shown in table below
|
VITC time from source |
LTC Time From Source |
VITC User Bits |
LTC User Bits |
Windows Time |
Timer1 |
VITC Time from timecode track |
LTC Time from timecode track |
Returns
7X.0Y Time and/or User Bits Data
Command Type 7
Byte count 4 or 8
Command Code 04 or 05
Return Data As specified in following table. The values listed in the following
table are the only data byte values supported.
|
|
Supported Data Byte Values and Responses |
|
Data byte Value |
Expected Response |
|
01 |
74.04 LTC Time Data with the LTC timecode. |
|
02 |
If VITC is implemented, 74.06 VITC Time Data with the VITC timecode. If VITC is not implemented, 70.0D Request Time Data Missing. |
|
03 |
74.04 LTC Time Data with the LTC timecode. |
|
04 |
74.04 Time Data with the Timer1 timecode. |
|
10 |
74.05 LTC User Bits Data with the LTC user bits. |
|
20 |
If VITC is implemented, 74.07 VITC User Bits Data with the VITC user bits. If VITC is not implemented, 70.0D Request Time Data Missing. |
|
30 |
74.05 LTC User Bits Data with the LTC user bits. |
|
11 |
78.04 LTC Time and User Bits Data with the LTC timecode and user bits, respectively. |
|
22 |
If VITC is implemented, 78.06 VITC Time and User Bits Data with the VITC timecode and user bits, respectively. If VITC is not implemented, 70.0D Request Time Data Missing. |
|
33 |
78.04 LTC Time and User Bits Data with the LTC timecode and user bits, respectively.
|
|
08 |
74.0A Windows time with 4 byte timecode |
|
40 |
74.0B LTC time from source with 4 byte timecode |
|
80 |
74.0C VITC time from source with 4 byte timecode |
(61.20) Status Sense
If the data byte is 0F, return all status bytes, otherwise return the specified status bytes.
Command Sent
61.20 Status Sense
Command Type 6
Byte count 1
Command Code 20
Send Data 1 byte value
Returns
7X.20 Status Sense
Command Type 7
Byte count 1 to F
Command Code 20
Return Data status bytes
(AX.02) Record Cue Up With Data
Although we support all forms of this command, but only AA.02 is applicable. In AA.02 we can specify a clip name for recording which will be the file name on the disk.
Command Sent
AX.02 Record Cue Up With Data
Command Type A
Command Code 02
Byte count 0 – Current clip is positioned to start of material (SOM) for record
4 – Current clip is positioned to specified timecode for record
8 – Clip (Name (see Command Definitions) ) specified by data is
loaded to SOM for record
C – Clip (Name (see Command Definitions) ) specified by data is
loaded to specified timecode for record
A – Clip (Extended Format (see Command Definitions) ) specified
by data is loaded to SOM for record
E - Clip (Extended Format (see Command Definitions) ) specified
by data is loaded to specified timecode for record
Send Data 1 4-byte timecode (Timecode (see Command Definitions)
(ffssmmhh) (Optional)
Send Data 2 2-byte clip name length (Present only if Extended Format (see
Command Definitions)
is used for clip name)
Send Data 3 clip name
In the case of extended commands, the command format is as depicted below, where X can take values A or E.
|
CMD Type |
Byte Count |
CMD Code |
Actual Byte Count |
Timecode |
Clipname length |
Clipname |
CS |
|
|
A |
X |
0 |
2 |
|
|
|
|
|
|
1 byte |
1 byte |
2 bytes |
4 bytes |
2 bytes |
|
1 byte |
||
|
|
|
|
|
|
|
|
|
|
Returns
ACK
Managing clips on the timeline
(4X.14) In Preset
Support 40.14, 44.14, 42.14, 4A.14, 4E.14
Command Sent
4X.14 In Preset
Command Type 4
Command Code 14
Byte count 0 – Current clip is positioned to start of material (SOM)
4 – Current clip is positioned to specified timecode
2 – Return all clips loaded in the preset position with their
respective In points
A – Clips (Extended Format (see Command Definitions) ) specified
by data is loaded to SOM
E - Clips (Extended Format (see Command Definitions) ) specified
by data is loaded to specified timecode
With byte count equal to 'A’
Send Data 1 2-byte clip name length (present only if Extended Format (see
Command Definitions) is used for the clip name sent)
Send Data 2 clip name
Command Structure
|
CMD Type |
Byte Count |
CMD Code |
Actual Byte Count |
Length |
Clipname |
Length |
Clipname |
CS |
|
|
4 |
A |
1 |
4 |
|
|
|
|
|
|
|
1 byte |
1 byte |
2 bytes |
2 bytes |
|
2 bytes |
|
1 byte |
||
|
|
|
|
|
|
|
|
|
|
|
The least significant nibble of the first byte ‘A’ indicates that the clip name specified is in Extended Format (see Command Definitions). The listener gets the 2 byte actual byte count, then reads the 2 byte clip name length and then reads that number of bytes to obtain the 7 clip name. It keeps reading the length and clip name until the actual byte count is reached. This way multiple clips can be cued to the timeline.
With byte count equal to ‘E’
Send Data 1 1 byte
A – Clip (Extended Format (see Command Definitions) ) specified
by data is loaded to SOM
E - Clip (Extended Format (see Command Definitions) ) specified
by data is loaded to specified timecode
Send Data 2 2-byte clip name length (present only if Extended Format (see
Command Definitions) is used for clip name sent)
Send Data 3 4-byte timecode (Timecode (see Command Definitions)
(ffssmmhh)) (optional)
Send Data 4 clip name
Note: In order to load a series of clips byte count (BC) can be ‘A’ or ‘E’ only. If BC is equal to ‘8’ or ‘C,’ only a single clip will be loaded. This has been done to maintain the original functionality of the commands. The In Preset command looks in the working directory for clips that have been cued.
Command Structure
|
CMD Type |
Byte Count |
CMD Code |
Actual Byte Count |
Type |
Clipname Length |
Clipname |
Type |
Clipname Length |
Timecode |
Clipname |
CS |
|
|
4 |
E |
1 |
4 |
|
A |
|
|
E |
|
|
|
|
|
1 byte |
1 byte |
2 bytes |
1 byte |
2 bytes |
|
1 byte |
2 bytes |
4 bytes |
|
1 byte |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The least significant nibble of the first byte ‘E’ indicates that the clip name specified is in Extended Format (see Command Definitions). The server gets the 2 byte actual byte count, then reads the next 1 byte which indicates whether the timecode is specified with the clip. If this byte is ‘A,’ it cues up the specified clip to SOM; if it is ‘E’ it cues up the clip to the specified timecode. The server keeps reading the bytes until the actual byte count is reached.
Status byte 0, bit 7, busy bit is set high to indicate the system is busy when a sequence of clips is being cued onto the timeline. This is cleared once the cueing process is complete.
Returns
ACK
With byte count equal to ‘2’
|
CMD Type |
Byte Count |
CMD Code |
Actual Byte Count |
Clipname Length |
Timecode |
Clipname |
Clipname Length |
Timecode |
Clipname |
CS |
|
|
8 |
2 |
1 |
4 |
|
|
|
|
|
|
|
|
|
1 byte |
1 byte |
2 bytes |
2 bytes |
4 bytes |
|
2 bytes |
4 bytes |
|
1 byte |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
(4X.15) Out Preset
Support all forms
Command Sent
(4X.15) Out Preset
Command Type 4
Byte count 0 or 4 or E
2 – Return all clips loaded in the preset position with their
respective Out points
Command Code 15
With byte count equal to ‘4’
Send Data 1 4-byte timecode (Timecode (see Command Definitions)
(ffssmmhh)) to which the out point is set
With byte count equal to ‘E’
|
CMD Type |
Byte Count |
CMD Code |
Actual Byte Count |
Type |
Clip name Lenth |
Clip name |
Type |
Clip name Length |
Timecode |
Clip name |
CS |
|
|
4 |
E |
1 |
5 |
|
A |
|
|
E |
|
|
|
|
|
1 byte |
1 byte |
2 bytes |
1 byte |
2 bytes |
|
1 byte |
2 bytes |
4 bytes |
|
1 byte |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Send Data 1 1 byte Type
A – The Out point of the clip specified in Extended Format (see
Command Definitions) is set
to EOM
E – The Out Point of the clip specified in Extended Format (see
Command Definitions) is set
to the specified timecode
Send Data 2 2-byte clip name length (present only if Extended Format (see
Command Definitions) is
used for clip name sent)
Send Data 3 4-byte timecode (Timecode (see Command Definitions)
(ffssmmhh)) (optional) to
which the Out point is set.
Send Data 4 Clip name
Returns
ACK
With byte count equal to ‘2’
|
CMD Type |
Byte Count |
CMD Code |
Actual Byte Count |
Clip name Length |
Timecode |
Clip name |
Clip name Length |
Timecode |
Clip name |
CS |
|
|
8 |
2 |
1 |
5 |
|
|
|
|
|
|
|
|
|
1 byte |
1 byte |
2 bytes |
2 bytes |
4 bytes |
|
2 bytes |
4 bytes |
|
1 byte |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
Status byte 9, bit 6 will be set high to indicate ‘Out Preset Failed’ for certain clips if such clips have not been cued onto the timeline by a Preview In Preset / In Preset previously.
(40.20) In Reset
Clear the ID and the time code position of In Preset.
Command Sent
40.20 In Reset
Command Type 4
Byte count 0
Command Code 20
Returns
ACK
(4X.21) Out Reset
Support all forms
Command Sent
4X.21 Out Reset
Command Type 4
Byte count 0 or 2
Command Code 21
With byte count equal to ‘2’
|
CMD Type |
Byte Count |
CMD Code |
Actual Byte Count |
Clip name Length |
Clip name |
Clip name Length |
Clip name |
CS |
|
|
4 |
2 |
2 |
1 |
|
|
|
|
|
|
|
1 byte |
1 byte |
2 bytes |
2 bytes |
|
2 bytes |
|
1 byte |
||
|
|
|
|
|
|
|
|
|
|
|
(AX.04) Preview In Preset
Support A0.14, A4.14, A2.14, AA.14, AE.14
Command Sent
AX.04 Preview In Preset
Command Type A
Command Code 04
Byte count 0 – Current clip is positioned to start of material (SOM)
2 – Return all clips loaded in the preview position with their
respective In points
4 – Current clip is positioned to specified timecode
8 – Clip (Name (see Command Definitions) ) specified by data is loaded to SOM
C – Clip (Name (see Command Definitions) ) specified by data is
loaded to specified timecode
A – Clips (Extended Format (see Command Definitions) ) specified
by data is loaded to SOM
E - Clips (Extended Format (see Command Definitions) ) specified
by data is loaded to specified timecode
With byte count equal to ‘A’
Send Data 1 2-byte clip name length (present only if Extended Format (see
Command Definitions) is used for clip name sent)
Send Data 2 clip name
Command Structure
|
CMD Type |
Byte Count |
CMD Code |
Actual Byte Count |
Clip name Length |
Clip name |
Clip name Length |
Clip name |
CS |
|
|
A |
A |
0 |
4 |
|
|
|
|
|
|
|
1 byte |
1 byte |
2 bytes |
2 bytes |
|
2 bytes |
|
1 byte |
||
|
|
|
|
|
|
|
|
|
|
|
The least significant nibble of the first byte ‘A’ indicates that the clip name specified is in Extended Format (see Command Definitions). The listener gets the 2 byte actual byte count, then reads the 2 byte clip name length and then reads that number of bytes to obtain the clip name. It keeps reading the length and clip name until the actual byte count is reached. This way multiple clips can be cued to the timeline. If the clip itself is not found, ID Not Found status byte (Byte A Bit 0) will be set too high to indicate the failure.
With byte count equal to ‘E’
Send Data 1 1 byte type
A – Clip (Extended Format (see Command Definitions) ) specified
by data is loaded to SOM
E - Clip (Extended Format (see Command Definitions) ) specified
by data is loaded to
specified timecode
Send Data 2 2-byte clip name length (present only if Extended Format (see
Command Definitions) is
used for clip name sent)
Send Data 3 4-byte timecode (Timecode (see Command Definitions)
(ffssmmhh)) (optional) to
which the In Point is set
Send Data 4 Clip name
Note: In order to load a series of clips, byte count (BC) can be ‘A’ or ‘E’ only. If BC is equal to ‘8’ or ‘C,’ only a single clip will be loaded. This has been done to maintain the original functionality of the commands. The Preview In Preset command looks in the working directory for clips that have been cued.
Command Structure
|
CMD Type |
Byte Count |
CMD Code |
Actual Byte Count |
Type |
Clip name Lenth |
Clip name |
Type |
Clip name Length |
Timecode |
Clip name |
CS |
|
|
A |
E |
0 |
1 |
|
A |
|
|
E |
|
|
|
|
|
1 byte |
1 byte |
2 bytes |
1 byte |
2 bytes |
|
1 byte |
2 bytes |
4 bytes |
|
1 byte |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The least significant nibble of the first byte ‘E’ indicates that the clip name specified is in Extended Format. The listener gets the 2 byte actual byte count, then reads the next one byte which indicates whether the timecode is specified with the clip or not. If this byte is ‘A,’ it cues up the specified clip to SOM while if it is ‘E’ it cues up the clip to the specified timecode. The listener keeps reading the bytes until the actual byte count is reached.
Status byte 0, bit 7, busy bit is set high to indicate the system is busy when a sequence of clips is being cued onto the timeline. This will be cleared once the cueing process is complete. Status byte 9 bit 0 is set high if the auto mode Preview In Preset contains a valid timecode position. Otherwise, it is set low. The auto mode Preview Presets will become invalid, and this bit will be set low, when the auto mode Preview Presets are shifted to the auto mode presets as part of the auto play processing. During this transition, the preview preset status bit values are transferred to the respective preset status bits. This will be the means by which a controlling device can determine when it can set new values for the auto mode Preview Presets. If the clip itself is not found, ID Not Found status byte (Byte A Bit 0) will be set too high to indicate the failure.
Returns
ACK
With byte count equal to ‘2’
|
CMD Type |
Byte Count |
CMD Code |
Actual Byte Count |
Clip name Length |
Timecode |
Clip name |
Clip name Length |
Timecode |
Clip name |
CS |
|
|
8 |
2 |
0 |
4 |
|
|
|
|
|
|
|
|
|
1 byte |
1 byte |
2 bytes |
2 bytes |
4 bytes |
|
2 bytes |
4 bytes |
|
1 byte |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
(AX.05) Preview Out Preset
Support all forms
Command Sent
AX.05 Preview Out Preset
Command Type A
Byte count 0 or 4 or E
2 – Return all clips loaded in the Preview position with their
respective Out Points
Command Code 05
With byte count equal to ‘4’
Send Data 1 4-byte timecode (Timecode (see Command Definitions)
(ffssmmhh)) to which the
Out Point is set.
With byte count equal to ‘E’
|
CMD Type |
Byte Count |
CMD Code |
Actual Byte Count |
Type |
Clip name Lenth |
Clip name |
Type |
Clip name Length |
Timecode |
Clip name |
CS |
|
|
A |
E |
0 |
5 |
|
A |
|
|
E |
|
|
|
|
|
1 byte |
1 byte |
2 bytes |
1 byte |
2 bytes |
|
1 byte |
2 bytes |
4 bytes |
|
1 byte |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Send Data 1 1 byte type
A – The Out Point of the clip specified in Extended Format (see
Command Definitions) is set
to EOM
E – The Out Point of the clip specified in Extended Format (see
Command Definitions) is set
to the specified timecode
Send Data 2 2-byte clip name length (present only if Extended Format (see
Command Definitions) is
used for clip name sent)
Send Data 3 4-byte timecode (Timecode (see Command Definitions)
(ffssmmhh)) (optional)
Send Data 4 clip name
Returns
ACK
Status byte 9, bit 6 will be set high to indicate ‘Preview Out Preset Failed’ for certain clips if such clips have not previously been cued onto the timeline by a Preview In Preset / In Preset command.
With byte count equal to ‘2’
|
CMD Type |
Byte Count |
CMD Code |
Actual Byte Count |
Clip name Length |
Timecode |
Clip name |
Clip name Length |
Timecode |
Clip name |
CS |
|
|
8 |
2 |
0 |
5 |
|
|
|
|
|
|
|
|
|
1 byte |
1 byte |
2 bytes |
2 bytes |
4 bytes |
|
2 bytes |
4 bytes |
|
1 byte |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
(A0.06) Preview In Reset
Clear the ID and the time code position of Preview In Preset.
Command Sent
A0.06 Preview In Reset
Command Type A
Byte count 0
Command Code 06
Returns
ACK
(AX.07) Preview Out Reset
Support all forms
Command Sent
A0.07 Preview Out Reset
Command Type A
Byte count 0 or 2
Command Code 07
With byte count equal to ‘2’
|
CMD Type |
Byte Count |
CMD Code |
Actual Byte Count |
Clip name Length |
Clip name |
Clip name Length |
Clip name |
CS |
|
|
A |
2 |
0 |
7 |
|
|
|
|
|
|
|
1 byte |
1 byte |
2 bytes |
2 bytes |
|
2 bytes |
|
1 byte |
||
|
|
|
|
|
|
|
|
|
|
|
Returns
ACK
(A0.16) ID Loaded Request
Return the name of the clip loaded on the camera even it is loaded by ViBox UI.
Command Sent
A0.16 ID Loaded Request
Command Type A
Byte count 0
Command Code 16
Returns
8X.16 ID Loaded
Command Type 8
Byte count 0 – No Clip Loaded
2 – Name (Extended Format (see Command Definitions)) of loaded
clip returned
Command Code 16
Return Data 1 2-byte number of data bytes to follow
Return Data 2 Clip name in Extended Format (see Command Definitions) (if clip
is loaded)
(A2.25) ID Start Time Request
Return the In point of the specified clip.
Command Sent
A2.25 ID Start Time Request
Command Type A
Byte count 2 – To indicate clip name in Extended Format (see Command
Definitions) sent
Command Code 25
Send Data 1 2-byte number of data bytes to follow
Send Data 2 Clip name in Extended Format (see Command Definitions)
Returns
84.25 ID Start Time
Command Type 8
Byte count 0 – If clip not found
4 – If clip found
Command Code 25
Return Data 1 4-byte timecode in Timecode (see Command Definitions)
(ffssmmhh) if clip is found
Managing Stored clips
(A0.0F) Get Working Folder Request
Command Sent
(A0.0F) Get Working Folder Request
Command Type A
Byte count 0
Command Code 0F
|
CMD Type |
Byte Count |
CMD Code |
CS |
|
|
A |
0 |
0 |
F |
|
|
1 byte |
1 byte |
1 byte |
||
|
|
|
|
|
|
Returns
82.0F Working Folder
Command Type 8
Byte count 2 – Indicates folder name in Extended Format (see Command
Definitions)
Command Code 0F
Send Data 1 2-byte folder name length
Send Data 2 Absolute folder name path in Extended Format (see Command
Definitions)
|
CMD Type |
Byte Count |
CMD Code |
Actual Byte Count |
Length |
Folder Name |
CS |
|
|
8 |
2 |
0 |
F |
|
|
|
|
|
1 byte |
1 byte |
2 bytes |
2 bytes |
|
1 byte |
||
|
|
|
|
|
|
|
|
|
(A2.0E) Set Working Folder Request
Command Sent
(A2.0E) Set Working Folder Request
Command Type A
Byte count 2 – Indicates folder name in Extended Format (see Command
Definitions)
Command Code 0E
Send Data 1 2-byte folder name length
Send Data 2 Absolute folder name in Extended Format (see Command
Definitions)
Returns
ACK
On Success: ACK. Also status byte 0, bit 7, busy bit is set high to indicate that the videodisk recorder is busy. This bit will be cleared once the clip cache is reinitialized.
On Failure: Status byte 9, bit 2 is set high to indicate ‘Folder Not Found,’ in case the specified folder is not found on the disk.
Status byte 3, bit 3 is set high to indicate ‘Invalid folder name’ if the folder name has invalid characters.
(A0.2A) List First Folder
Command Sent
A0.2A List First Folder
Command Type A
Byte count 0
Command Code 2A
Returns
8X.2A Folder List
Command Type 8
Byte count 2 – If at least one folder present
0 – If no folders present
Command Type 2A
Return Data 1 2-byte number of data bytes to follow (if at least one folder is
present)
Return Data 2 2 byte folder name length (if at least one folder is present)
Return Data 3 Folder name (if at least one folder is present)
(A0.2B) List Next Folder
Command Sent
A0.2B List Next Folder
Command Type A
Byte count 0
Command Code 2B
Returns
8X.2B Folder List
Command Type 8
Byte count 0 – No more folders present
2 – One or more folders in Extended Format (see Command
Definitions) returned as data
Command Type 2B
Return Data 1 2-byte number of data bytes to follow (if at least one mor folder is
present)
Return Data 2 2 byte folder name length (if at least one more folder is present)
Return Data 3 Folder name (if at least one more folder is present)
|
CMD Type |
Byte Count |
CMD Code |
Actual Byte Count |
Folder name Length |
Folder name |
Folder name Length |
Folder name |
CS |
|
|
8 |
2 |
2 |
B |
|
|
|
|
|
|
|
1 byte |
1 byte |
2 bytes |
2 bytes |
|
|
|
1 byte |
||
|
|
|
|
|
|
|
|
|
|
|
(AX.14) List First ID
Command Sent
AX.14 List First ID
Command Type A
Byte count 0 – Clip name in Name Format requested
2- Clip name in Extended Format requested
Command Code 14
Returns
8X.14 ID Listing
Command Type 8
Byte count 0 – No clips present
8 – Clip name in Name (see Command Definitions) returned
A – Clip name in Extended Format (see Command Definitions)
returned
Command Type 14
Return Data 1 2-byte number of data bytes to follow (only if clip name in
Extended Format (see Command Definitions) returned)
Return Data 2 2 byte clip name length
Return Data 3 clip name (if at least one clip is present)
(AX.15) List Next ID
Command Sent
AX.15 List Next ID
Command Type A
Byte count 0 – A single clip with name in Name Format (see Command
Definitions) requested
1 – Defined number of clips in Extended Format (see Command
Definitions) requested
Command Code 15
Send Data 1 1 byte number of clips to be returned in ID Listing response
With byte count equal to ‘1’
|
CMD Type |
Byte Count |
CMD Code |
Number of Clips to be returned |
CS |
|
|
A |
1 |
1 |
5 |
|
|
|
1 byte |
1 byte |
1 byte |
1 byte |
||
|
|
|
|
|
|
|
Returns
8X.14 ID Listing
Command Type 8
Byte count 0 – No more clips present
8 – Single clip in Name Format (see Command Definitions)
returned as data
A – Single or multiple clips in Extended Format (see Command
Definitions) returned as data
Command Type 14
Return Data 1 2-byte number of data bytes to follow (only if clip name is returned
in Extended Format (see Command Definitions))
Return Data 2 2 byte clip name length
Return Data 3 clip name (if at least one more clip present)
With byte count equal to ‘A’
|
CMD Type |
Byte Count |
CMD Code |
Actual Byte Count |
Clip name Length |
Clip name |
Clip name Length |
Clip name |
CS |
|
|
8 |
A |
1 |
4 |
|
|
|
|
|
|
|
1 byte |
1 byte |
2 bytes |
2 bytes |
|
|
|
1 byte |
||
|
|
|
|
|
|
|
|
|
|
|
(AX.18) ID Status Request
Command Sent
AX.18 ID Status Request
Command Type A
Command Code 18
Byte count 8 - Clip name in Name Format (see Command Definitions) sent
A - Clip name in Extended Format (see Command Definitions) sent
Send Data 1 2-byte number of data bytes to follow (only if clip name
with Extended Format (see Command Definitions) is sent)
Send Data 2 Clip Name (see comment below)
Returns
81.18 ID Status
Command Type 8
Byte count 1
Command Type 18
Return Data 1 1 byte status data
Clip data information
(AA.13) Clip Data Request
Command Sent
(AA.13) Clip Data Request
Command Type A
Byte count A Extended command
Command Code 13
Send Data 1 1 byte
C – Only clip name is specified. Attributes related to the clip are
returned.
E – Clip name and extension search parameters are specified.
User data that match the search criteria is returned.
Send Data 2 2-byte clip name length
Send Data 3 Clip name
The clip name specified in Send Data 3 may contain a full rooted path; otherwise, it is assumed that the clip whose start time is being requested exists in the current working directory.
With Send Data 1 equal to ‘C’ (0x43)
Command structure
|
CMD Type |
Byte Count |
CMD Code |
Actual Byte Count |
Search Option |
Clip name Length |
Clip name |
CS |
|
|
A |
A |
1 |
3 |
|
C |
|
|
|
|
1 byte |
1 byte |
2 bytes |
1 byte |
2 bytes |
|
1 byte |
||
|
|
|
|
|
|
|
|
|
|
Returns
8A.13 Clip Data
Command Type 8
Byte count A
Command Code 13
Return Data 1 8-bytes Creation Date (Windows FILETIME structure)
Return Data 2 8-bytes Modify Date (Windows FILETIME structure)
Return Data 3 4-bytes duration (timecode)
Return Data 4 1-byte Compression Type – 0 MPEG1, 1 MPEG2, 2 D10,
3 DV25, 4 DV50, 5 DVCAM, 6 MPEG2HD, 7 DV100, 8 AVCI
Return Data 5 1-byte Video Format – 0 NTSC_525, 1 PAL_625, 2
720_59_94p, 3 720_60p, 4 1080_23_98i, 5 1080_24i, 6
1080_25_1to1i, 7 1080_29_97_1to1i, 8 1080_30_1to1i, 9
1080_25_2to1i, 10 1080_29_97_2to1i, 11 1080_30_2to1i, 12
1035_30_2To1 13 1035_29_97_2To1 14 720_50_1To1p 15
525_59_94_1To1p 16 525_60_1To1p 17 525_29_97_1To1p 18
525_30_1To1p 19 625_50_1To1p 20 625_25_1To1p 21
720_29_97_1To1p 22 720_30_1To1p 23 720_25_1To1p 24
1440x1080_29_97_2To1 25 1440x1080_30_2To1 26
1440x1080_25_2To1 27 Xga_59_94_1To1 28 Xga_50_1To1 29
Wxga_59_94_1To1 30 Wxga_50_1To1 31 Wsxga_59_94_1To1 32
Wsxga_50_1To1
Return Data 6 1-byte Number of Video Tracks
Return Data 7 1-byte Number of Audio Tracks
Return Data 8 1-byte Number of Ancillary Data Tracks
Return Data 9 1-byte Number of Timecode Tracks
Return Data 10 4-bytes status bytes – bit 0 ready to play, bit 1 Under
Construction, bit 2 read only, bit 3 locked, bit 4 Drop Frame
Return Data 11 2-bytes Thumbnail extension ID length (on thumbnail supported
servers)
Return Data 12 Thumbnail extension ID (on thumbnail supported servers)
Return Data 13 8-bytes file size in MB (on thumbnail supported servers)
|
CMD Type |
Byte count |
CMD code |
Actual Byte count |
Creation Date |
Modify Date |
Duration |
Comp-ression type |
Video Format |
#Video tracks |
#Audio Tracks |
#Anc data tracks |
# TC tracks |
Status |
Thum-bnail EXT ID length |
Thum-bnail EXT ID |
File Size |
CS |
|
|
8 |
A |
1 |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 byte |
1 byte |
2 bytes |
8 bytes |
8 bytes |
4 bytes |
1 byte |
1 byte |
1 byte |
1 byte |
1 byte |
1 byte |
4 bytes |
2 bytes |
|
8 bytes |
1 byte |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
On Failure: 80.13 is returned to indicate failure.
Status byte A, bit 0 is set high to indicate ‘ID Not Found’ if the specified clip is not found on disk. Status byte 9, bit 4 is set high to indicate ‘Metadata Not Found’ if any requested metadata item is not found in the database.
With Send Data 1 equal to ‘E’
Send Data 2 2-byte clip name length
Send Data 3 Clip name
Optional
Send Data 4 1-byte User Data Name length
Send Data 5 User Data Name Value
Send Data 6 1-byte Creator length
Send Data 7 Creator Value
Send Data 8 1-byte Class length
Send Data 9 Class Value
Command structure
|
CMD Type |
Byte Count |
CMD Code |
Actual Byte Count |
Search Option |
Clip name length |
Clip name |
User data name length |
User data name value |
Creator length |
Creator value |
Class length |
Class value |
CS |
|
|
A |
A |
1 |
3 |
|
E |
|
|
|
|
|
|
|
|
|
|
1 byte |
1 byte |
2 bytes |
1 byte |
2 bytes |
|
1 byte |
|
1 byte |
|
1 byte |
|
1 byte |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Returns
8A.13Clip Data
Command Type 8
Byte count A
Command Code 13
Return Data 1 2-bytes number of data bytes to follow
Return Data 2 1-byte User Data Name length
Return Data 3 User Data Name value
Return Data 4 1-byte Creator length
Return Data 5 Creator value
Return Data 6 1-byte Class length
Return Data 7 Class value
Return Data 8 1-byte Type length
Return Data 9 Type value
Return Data 10 2-bytes User Data Value length
Return Data 11 User Data Value value
. .
. .
. .
Return Data n-9 1-byte User Data Name length
Return Data n-8 User Data Name value
Return Data n-7 1-byte Creator length
Return Data n-6 Creator value
Return Data n-5 1-byte Class length
Return Data n-4 Class value
Return Data n-3 1-byte Type length
Return Data n-2 Type value
Return Data n-1 2-bytes User Data Value length
Return Data n User Data Value value
|
CMD Type |
Byte count |
CMD code |
Actual Byte count |
User data name length |
User data name value |
Creator length |
Creator value |
Class length |
Class value |
Type length |
Type value |
User data value length |
User data value |
|
|
CS |
|
|
8 |
A |
1 |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 byte |
1 byte |
2 bytes |
1 byte |
|
1 byte |
|
1 byte |
|
1 byte |
|
2 bytes |
|
|
|
1 byte |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(A2.09) Get Thumbnail
Command Sent
A2.09 Get Thumbnail
Command Type A
Byte count 2
Command Code 09
Send Data 1 2-byte clip name length
Send Data 2 Clip name in Extended Format5.1
Send Data 3 2-byte frame number (optional)
Without frame info (i.e. byte count = clip name length + 2)
|
CMD Type |
Byte Count |
CMD Code |
Actual Byte Count |
Clip name Length |
Clip name |
|
|
A |
2 |
0 |
9 |
|
|
|
|
1 byte |
1 byte |
2 bytes |
2 bytes |
|
||
|
|
|
|
|
|
|
|
With frame info (i.e. byte count = clip name length + 4)
|
CMD Type |
Byte Count |
CMD Code |
Actual Byte Count |
Clip name Length |
Clip name |
Frame # |
|
|
A |
2 |
0 |
9 |
|
|
|
|
|
1 byte |
1 byte |
2 bytes |
2 bytes |
|
2 bytes |
||
|
|
|
|
|
|
|
|
|
Returns
If thumbnail present/generated for clip,
82.09 Thumbnail Data
Command Type 8
Byte count 2
Command Type 09
Return Data 2 1-byte Frame format
0 – jpeg
1 – bmp
Return Data 3 2-byte thumbnail size
Return Data 4 Thumbnail data
|
CMD Type |
Byte Count |
CMD Code |
Actual Byte Count |
Frame format |
Thumbnail length |
Thumbnail |
|
|
8 |
2 |
0 |
9 |
|
|
|
|
|
1 byte |
1 byte |
2 bytes |
1 byte |
2 bytes |
|
||
|
|
|
|
|
|
|
|
|
If thumbnail does not exist and could not be created,
80.09 Thumbnail Data
Command Type 8
Byte count 0
Command Type 09
[1] https://my.riedel.net/s/contactsupport/simplylive