MCIP specification

MCIP controls standard Recorder functions and provides true feedback from the Recorder using a RS-232 serial or TCP/IP connection.

General notes

The control system should wait for a reply after sending each command.  If a reply is not received within the default reply time-out interval of five seconds, after sending a command, the communication has timed out. The control system should allow the reply time-out to be modified, in case of communication failures.

If a command (e.g. RECORD) causes the Recorder to perform some task that may take some time, then it will reply with STATUS RECBUSY until the task is completed.  The control system can either poll for this, or if using Verbose Status Mode, the Recorder will notify the control system when waiting is over (e.g. for the RECORD case, this would be when the Recorder transitions from RECBUSY to RECORD).

Commands are generally replied to instantly, and the wait mode will usually only occur when processing control commands.

Hardware configuration

Baud Rate:

9600

Parity:

None

Data Bits:

8

Stop Bits:

1

 

Serial port pinout

The Recorder uses a standard PC COM port with the following 9-pin male connector configuration:

Pin 2

Receive

Pin 3

Transmit

Pin 5

Ground

 

Basic protocol

      Printable ASCII characters for simple, standard functions

      Debugging for programmers/installers is made much simpler

      Commands should be short and clearly delineated

      Small amounts of data to be transferred

Protocol format

Protocol fields

Header:

*

Terminator:

<CR>

Field Delimiter:

<SPACE>

Message replies that contain white space

* If the reply contains only one parameter, it is not in quotes.

“some reply parameter”

Command:

 

Control messages

Start recording:

RECORD

Reply:

STATUS RECBUSY / ERROR TRUE

*Only if status is IDLE, otherwise replies with current STATUS or ERROR

 

Pause recording:

PAUSE

Reply:

STATUS PAUSED / ERROR TRUE

*Only if status is IDLE, otherwise replies with current STATUS or ERROR

 

Stop recording:

STOP

Reply:

STATUS RECBUSY / ERROR TRUE

*Only if status is RECORD, otherwise replies with current STATUS or ERROR

 

Wake up preview:       

WAKEPREVIEW

Reply:

Does not return a reply.

 

Advance image:           

IMAGEADVANCE

Reply:

IMAGEADVANCE TRUE / FALSE

 

Image auto scene
detection mode:


IMAGEAUTO TRUE / FALSE

Reply:

IMAGEAUTO TRUE / FALSE

 

Set mode to filter scheduled list to just presentations for today:

SCHEDULEDTODAY TRUE / FALSE

Reply:

SCHEDULEDTODAY TRUE / FALSE

 

Choose an encoding
profile by index:

PROFILEINDEX x

* Will wake Recorder from idle preview state

Reply:

PROFILEINDEX x

Error Handling:

Does not return an error immediately. Need to poll for error.

*Where x is a zero-based index of an available encoding profile. Only if status is IDLE, otherwise replies with current index

 

Choose an image preset by index:

PRESETINDEX x

* Will wake Recorder from idle preview state

Reply:

PRESETINDEX x

Error Handling:

Does not return an error immediately. Need to poll for error.

*Where x is a zero-based index of an available image preset settings

Set the audio record level:

AUDIORECORDLEVEL x

Reply:

AUDIORECORDLEVEL x

*Where x is the audio input record level.

  For microphone and line in, this ranges from 0.0 to 100.0, and controls the gain. For RCA (unbalanced) input, the value is a multiple of 3dB, between -12 and +18, or -INF to mute. For XLR (balanced) input, the value is a multiple of 0.75dB between 0 and +47.25, or -INF to mute. Other audio sources have no adjustable gain.

 

Open a scheduled
presentation by id:


SCHEDULEDID id

* Will wake Recorder from idle preview state

Reply:

SCHEDULEDID id
*Where id is an id of an available scheduled presentation, e.g. E874F172-CA21-46ff-B2BC-D3FDEED908B2
*Only if status is IDLE, otherwise replies with current id
*Supports live streaming and on-demand archival of presentations during record, in addition to auto publishing afterwards.

Error Handling:

Does not return an error immediately. Need to poll for error.

 

Verbose status mode:

VERBOSE TRUE / FALSE

Reply:

VERBOSE TRUE / FALSE

 

Route image, video, or PiP to encoder

 

 

ENCODERVIDEOINPUT route type stream type

* Will wake Recorder from idle preview state

* Route type is the input to the encoder (0/1/2): 0 is when video is the input, 1 is when the image is the input, and 2 is when the image with video in PiP is the input.

The input is routed to the specified stream type’s output (Video 1, Video 2, Video 3, and Image). If no stream is supplied, Video 1 is used. 

Examples:

ENCODERVIDEOINPUT 1 Video2 sends the image source to the Video 2 output

ENCODERVIDEOINPUT 2 sends PiP to the Video 1output

Reply:

ENCODERVIDEOINPUT route type  to stream type

 

Create a scheduled presentation on the server using a presentation template and open the presentation on the Recorder:

PRESENTATIONTEMPLATEID id

* Will wake Recorder from idle preview state

Reply:

PRESENTATIONTEMPLATEID id
*Where id is an id of an available presentation template, e.g. CD87EFA6-A98B-4968-BDF2-E3BF4AF3EE6B
*Only if status is IDLE

Error Handling:

Does not return an error immediately. Need to poll for error.

 

Set active server connection:

SERVERCONNECTIONNAME name

Reply:

SERVERCONNECTIONNAME name

Error Handling

Does not return an error immediately. Need to poll for error.

*Only if Status is IDLE

Set active scheduler site connection:

SCHEDULERSITECONNECTIONNAME name

Reply:

SCHEDULERSITECONNECTIONNAME name

 

Error Handling

Does not return an error immediately. Need to poll for error.

*Only if Status is IDLE

 

Register IP address for media access:


REGISTERMEDIAACCESSIP ipaddress

Reply:

REGISTERMEDIAACCESSIP ipaddress / ERROR TRUE

 

Remove IP address from media access list:


UNREGISTERMEDIAACCESSIP ipaddress

Reply:

UNREGISTERMEDIAACCESSIP ipaddress / ERROR TRUE

 

Choose a presentation setting by index when creating a new presentation:


PRESENTATIONSETTINGSINDEX x

Reply:

PRESENTATIONSETTINGSINDEX x

Error Handling

Does not return an error immediately. Need to poll for error.

*Where x is a zero-based index of available presentation settings

 

Insert chapter while recording presentation

ADDCHAPTER

 

Reboot idle Recorder

REBOOT

*Only if status is IDLE, otherwise replies with current STATUS or ERROR

 

Shutdown idle Recorder

SHUTDOWN

*Only if status is IDLE, otherwise replies with current STATUS or ERROR

Feedback messages

Request version:

VERSION ?

Reply:

VERSION version build

 

Request record time:

TIME ?

Reply:

TIME hh:mm:ss

Verbose Status:

Supports notification

 

Request status:

STATUS ?

Reply:

STATUS IDLE / RECBUSY / RECORD /PAUSED / PUBLISH

Verbose Status:           

Supports notification

 

Request if presentation is Available:

PUBLISH ?

Reply:

PUBLISH TRUE / FALSE

Verbose Status:

Supports notification

 

Request if filter scheduled list to just presentations for today is on:

SCHEDULEDTODAY ?

Reply:

SCHEDULEDTODAY TRUE / FALSE

 

Request image count:

IMAGECOUNT ?

Reply:

IMAGECOUNT x
*Where x is the current count of sent slides

Verbose Status:

Supports notification

 

Request image auto
scene detection
mode:

IMAGEAUTO ?

Reply:

IMAGEAUTO TRUE / FALSE

Verbose Status:

Supports notification

 

Request NDI input device count:


NETWORKNDIDEVICECOUNT ?

Reply:

NETWORKNDIDEVICECOUNT x

*Where x is the current count of NDI devices on the network.

 

 

Request NDI device by index:


NETWORKNDIDEVICE x ?

*x is 0 in a based index of visible NDI devices.

Reply:

NETWORKNDIDEVICE <device name>

*Device name is the name of the device or "No Device" if no devices are connected.

 

Request connected input devices by count:

INPUTCOUNT ?

Reply:

INPUTCOUNT x

*Where x is the current count of input devices connected to the Recorder.

 

Request connected input devices by count:

INPUT x ?

*x is 0 in a based index of input devices.

Reply:

INPUT <input name>

*Input name is the name of the input or “No Input” if no inputs are connected.

 

Request to route input device to an output:

ROUTE <input name> <output>

*If input name has spaces in it, then it needs to be inside quotes (")

*Output is optional and defaults to Video1.

*Output options: Video1, Video2, Video3, Image, and Audio.

Reply:

ROUTE <input name> <output>

or

ERROR TRUE

*Errors:

      Not enough parameters as input name is required

      If the recorder is not in the idle, recording or paused states

      The input is not known to the recorder

 

Request to remove input from an output:

UNROUTE <output>

*Output is optional and defaults to Video1.

*Output options: Video1, Video2, Video3, Image, and Audio.

Reply:

UNROUTE <output>

or

ERROR TRUE

*Errors:

      If the recorder is not in the idle, recording or paused states.

 

Request to add a NDI device:

ADDNDIDEVICE <NDI device name>

*NDI device name does not need to be in quotes.

Reply:

ADDNDIDEVICE <NDI device name>

or

ERROR TRUE

*Errors:

      If the recorder is not in the idle, recording or paused states.

      If NDI inputs are not available.

      If the Recorder is already at the maximum amount of NDI devices.

      If the NDI input is already added.

      If the NDI device is not known to the recorder.

 

Request to add an IP device:

ADDIPDEVICE <URL> <port> <username> <password> <name>

*Note:

      URL and name are required

      Port, username, and password are optional.

      Port's default is 554

      Username and password require quotes (“”).

      Name must be in quotes if it has a space in it.

Reply:

ADDIPDEVICE <URL>

or

ERROR TRUE

*Errors:

      If the recorder is not in the idle, recording or paused states.

      If the IP device has already been added.

      If the firewall was unable to be configured.

 

Request to remove input device from Recorder:

REMOVEDEVICE <input>

Reply:

REMOVEDEVICE <input>

or

ERROR TRUE

*Errors:

      If the recorder is not in the idle, recording or paused states.

      Input does not exist.

 

 

Request to change an input device’s PTZ focus recall:


PTZRECALL <input name> <PTZ preset>

*Note:

      Input name is required. If the name has spaces, it must be inside quotes.

      PTZ preset is optional and defaults to 0.

Reply:

PTZRECALL <input name>

or

ERROR TRUE

*Errors:

      Not enough parameters.

      If the input does not exist.

      If the input does not support PTZ presets.

 

Request current encoding profile by index:

PROFILEINDEX ?

Reply:

PROFILEINDEX x
*Where x is a zero-based index of an available encoding profile

Verbose Status:

Supports notification

 

Request streaming
profile count:

PROFILECOUNT ?

Reply:

PROFILECOUNT x
*Where x is the current count of available encoding profiles

 

Request streaming
profile name by index:

PROFILENAME x ?

Reply:

PROFILENAME x title

*Where x is a zero-based index of an available encoding profile and title is the title of the associated encoding profile

 

Request current image preset by index:

PRESETINDEX ?

Reply:

PRESETINDEX x
*Where x is a zero-based index of an available image presets

Verbose Status:

Supports notification

 

Request image preset count:

PRESETCOUNT ?

Reply:

PRESETCOUNT x
*Where x is the current count of available image presets

 

Request image
preset info by index:

PRESETINFO x ?

Reply:

PRESETINFO x “title” “description” scan-rate sensitivity stabilization

*Where x is a zero-based index of an available image presets and title, description, scan-rate, sensitivity, and stabilization are the title, description, scan rate, sensitivity, and stabilization of the associated image preset

 

Request currently
opened scheduled presentation by id:

SCHEDULEDID ?

Reply:

SCHEDULEDID id

*Where id is an id of an available scheduled presentation, e.g. E874F172-CA21-46ff-B2BC-D3FDEED908B2

Verbose Status:

Supports notification

 

Request scheduled
presentation count:

SCHEDULEDCOUNT ?

Reply:

SCHEDULEDCOUNT x / ERROR TRUE

*Where x is the current count of all scheduled presentations on Mediasite Video Platform for that day. The reply for a successful command will be a zero-based indexed list of id and title. If unable to retrieve the list of scheduled presentations, the reply will be ERROR.

 

Request scheduled
presentation info by index:

SCHEDULEDINFO x ?

Reply:

SCHEDULEDINFO x id title

*Where x is a zero-based index of all scheduled presentations on Mediasite Video Platform for that day, and id and title are the id and title of the associated scheduled presentation

 

Request detailed scheduled
presentation info by index:

SCHEDULEDINFO2 x ?

Reply:

SCHEDULEDINFO2 x id “title” “presenter” date time

*Where x is a zero-based index of an available scheduled presentation, where id is the id of the presentation, title is the title of the scheduled presentation, presenter is the name of person presenting and date time is the record/air date time of the scheduled presentation

Request presentation template count:

PRESENTATIONTEMPLATECOUNT ?

Reply:

PRESENTATIONTEMPLATECOUNT x / ERROR TRUE

*Where x is the current count of available presentation templates, otherwise if unable to retrieve the presentation template list replies with ERROR

 

Request currently selected presentation template id:

PRESENTATIONTEMPLATEID ?

Reply:

PRESENTATIONTEMPLATEID id

Verbose Status:

Supports notification

*Where id is an id of an available presentation template, e.g. CD87EFA6-A98B-4968-BDF2-E3BF4AF3EE6B

 

Request presentation template info (id) by index:

PRESENTATIONTEMPLATEINFO x ?

Reply:

PRESENTATIONTEMPLATEINFO x id “name” “details”

*Where x is a zero-based index of an available presentation template, and id is the id of the associated presentation template

 

Request currently opened presentation title:

PRESENTATIONTITLE ?

Reply:

PRESENTATIONTITLE Test Template

Verbose Status:

Supports notification

*Where Test Template is the title of the opened presentation on the Recorder

 

Request recorder’s hard drive free space amount:

FREESPACE ?

Reply:

FREESPACE x

*Where x is the available free space on the recorder’s hard drive in GB

 

Request current audio input level:

AUDIOLEVEL ?

Reply:

AUDIOLEVEL x

*Where x is the audio output level in the range 0 to 100.

 

Request current audio input record level:

AUDIORECORDLEVEL ?

Reply:

AUDIORECORDLEVEL x

*Where x is the audio input record level.

  For microphone and line in, this ranges from 0.0 to 100.0, and controls the gain. For RCA (unbalanced) input, the value is a multiple of 3dB, between -12 and +18, or -INF to mute. For XLR (balanced) input, the value is a multiple of 0.75dB between 0 and +47.25, or -INF to mute. Other audio sources have no adjustable gain.

 

Request verbose
status mode:

VERBOSE ?

Reply:

VERBOSE TRUE / FALSE

Verbose Status:

Supports notification

 

Request encoder Video Input:

ENCODERVIDEOINPUT  route type  stream type

* Route type is the input to the encoder (0/1/2): 0 is when video is the input, 1 is when the image is the input, and 2 is when the image with video in PiP is the input.

The input is routed to the specified stream type’s output (Video 1, Video 2, Video 3, and Image). If no stream is supplied, Video 1 is used.  

Reply:

ENCODERVIDEOINPUT 0 / 1 / 2 to stream type

Verbose Status:

Supports notification

 

Request Audio Status:

AUDIOSTATUS ?

Reply:

AUDIOSTATUS 0 / 1 / 2

* 0 is normal, 1 is low audio levels, 2 is low audio warning

Verbose Status:

Supports notification

 

Request error:

ERROR ?

Reply:

ERROR TRUE / FALSE

Verbose Status:

Supports notification

 

Request error text:

ETEXT ?

Reply:

ETEXT error text message

 

Reply if invalid
command received:

EMESSAGE command

 

Request current server connection by name:

SERVERCONNECTIONNAME ?

Reply:

SERVERCONNECTIONNAME name
*Where name is the name of the active connection, e.g. untitled

Verbose Status:

Supports notification

 

Request current scheduler site connection by name:

SCHEDULERSITECONNECTIONNAME ?

Reply:

SCHEDULERSITECONNECTIONNAME name
*Where name is the name of the active scheduler site connection, e.g. untitled

Verbose Status:

Supports notification

 

Request server connection count:

SERVERCONNECTIONCOUNT ?

Reply:

SERVERCONNECTIONCOUNT x
*Where x is the current count of available server connections

 

Request scheduler site connection count:

SCHEDULERSITECONNECTIONCOUNT ?

Reply:

SCHEDULERSITECONNECTIONCOUNT x
*Where x is the current count of available scheduler site connections

 

Request server connection
info:

SERVERCONNECTIONINFO x ?

Reply:

SERVERCONNECTIONINFO x “name” URL

*Where x is a zero-based index of an available server connection and the URL is the Mediasite connection URL

 

Request scheduler site connection
info:

SCHEDULERSITECONNECTIONINFO x ?

Reply:

SCHEDULERSITECONNECTIONINFO x “name” URL

*Where x is a zero-based index of an available scheduler site connection and the URL is the Mediasite connection URL

Request scheduler site connection
info:

SCHEDULETYPE ?

Reply:

SCHEDULETYPE type

Verbose Status:

Supports notification if the presentation is schedule-controlled

*Where type is the automation pattern of the schedule-controlled presentation.  The patterns are Create, CreateAndLoad, CreateLoadAndStart, CreateLoadStartAndStop, or None for manually loaded presentations.

 

Request current server connection by name:

PRESENTATIONINFO ?

Reply:

PRESENTATIONINFO date time duration

Verbose Status:

Supports notification

 

Request presentation settings count:


PRESENTATIONSETTINGSCOUNT ?

Reply:

PRESENTATIONSETTINGSCOUNT x
*Where x is the current count of available presentation settings

 

Request current presentation setting by index:

PRESENTATIONSETTINGSINDEX ?

Reply:

PRESENTATIONSETTINGSINDEX x
*Where x is a zero-based index of an available presentation setting

Verbose Status:

Supports notification

 

Request presentation setting by name:

PRESENTATIONSETTINGSNAME x ?

Reply:

PRESENTATIONSETTINGSNAME x “title”

*Where x is a zero-based index of an available presentation setting and title is the title of the associated presentation setting

Request outputs in use for presentation

PRESENTATIONOUTPUTS ?

Reply:

PRESENTATIONOUTPUTS V1/V2/V3SA

*V1/V2/V3 refers to Video 1-Video 3 outputs.

*S refers to slide output

*A refers to audio output

 

Protocol examples

Start recording:

* RECORD <CR>

Reply:

* STATUS RECBUSY <CR>

 

Start recording but errors:

* RECORD <CR>

Reply:

* ERROR TRUE <CR>

 

Stop recording:

* STOP <CR>

Reply:

* STATUS RECBUSY <CR>

 

Publish last recorded presentation
with query:

Request can publish:

* PUBLISH ? <CR>

Reply:

* PUBLISH TRUE <CR>

 

Request image auto scene detection:

* IMAGEAUTO ? <CR>

Reply:

* IMAGEAUTO TRUE <CR>

 

Turn off image auto scene detection:

* IMAGEAUTO FALSE <CR>

Reply:

* IMAGEAUTO FALSE <CR>

 

Manually advance image:

* IMAGEADVANCE <CR>

Reply:

* IMAGEADVANCE TRUE <CR>

 

Request image count:

* IMAGECOUNT ? <CR>

Reply:

* IMAGECOUNT 10 <CR>

 

Request version info:

* VERSION ? <CR>

Reply:

* VERSION Mediasite  Recorder 7.1.13 Build 4483 <CR>

 

Request record time:

* TIME ? <CR>

Reply:

* TIME 00:43:15 <CR>

 

Request status:

* STATUS ? <CR>

Reply:

* STATUS IDLE <CR>

 

Request encoding profile count:

* PROFILECOUNT ? <CR>

Reply:

* PROFILECOUNT 11 <CR>

 

Request encoding profile name
by zero-based index:

* PROFILENAME 0 ? <CR>

Reply:

* PROFILENAME 0 16:9 MP4 (h.264/aac) at 15fps, 2.5 Mbps <CR>

 

Request current encoding profile
by zero-based index:

* PROFILEINDEX ? <CR>

Reply:

* PROFILEINDEX 0 <CR>

 

Choose an available encoding profile
by zero-based index:

* PROFILEINDEX 5 <CR>

Reply:

* PROFILEINDEX 5 <CR>

 

Request image preset settings count:

* PRESETCOUNT ? <CR>

Reply:

* PRESETCOUNT 5 <CR>

 

Request image preset settings info
by zero-based index:

* PRESETINFO 2 ? <CR>

Reply:

* PRESETINFO 2 “[Default] Fast” “Fast motion, and high sensitivity” 4 95 TRUE <CR>

 

Request current image preset setting
by zero-based index:

* PRESETINDEX ? <CR>

Reply:

* PRESETINDEX 0 <CR>

 

Choose an available encoding profile
by zero-based index:


* PROFILEINDEX 5 <CR>

Reply:

* PROFILEINDEX 5 <CR>

 

Request scheduled presentation count:

* SCHEDULEDCOUNT ? <CR>

Reply:

* SCHEDULEDCOUNT 20 <CR>

 

Request scheduled presentation info
by zero-based index:

* SCHEDULEDINFO 0 ? <CR>

Reply:

* SCHEDULEDINFO 0 E874F172-CA21-46ff-B2BC-D3FDEED908B2 This is a test presentation title <CR>

 

Request detailed scheduled presentation info by zero-based index:

* SCHEDULEDINFO2 0 ? <CR>

Reply:

* SCHEDULEDINFO2 0 E874F172-CA21-46ff-B2BC-D3FDEED908B2 “This is a test presentation title” “Spiderman” 10-10-07 9:30:00AM <CR>

 

Request currently opened scheduled
presentation by id:

* SCHEDULEDID ? <CR>

Reply:

* SCHEDULEDID E874F172-CA21-46ff-B2BC-D3FDEED908B2 <CR>

 

Open an available scheduled
Presentation by id:

* SCHEDULEDID CF1012F6-A921-4f54-899D-AB264F28DA39 <CR>

Reply:

SCHEDULEDID CF1012F6-A921-4f54-899D-AB264F28DA39 <CR>

 

Request scheduled today filter setting:

* SCHEDULEDTODAY ? <CR>

Reply:

* SCHEDULEDTODAY TRUE <CR>

 

Turn off scheduled today filter:

* SCHEDULEDTODAY FALSE <CR>

Reply:

* SCHEDULEDTODAY FALSE <CR>

 

Request presentation template count:

* PRESENTATIONTEMPLATECOUNT ? <CR>

Reply:

* PRESENTATIONTEMPLATECOUNT 20 <CR>

 

Request currently selected
presentation template by id:

* PRESENTATIONTEMPLATEID ? <CR>

Reply:

* PRESENTATIONTEMPLATEID CD87EFA6-A98B-4968-BDF2-E3BF4AF3EE6B <CR>

 

Request presentation template info
by zero-based index:

* PRESENTATIONTEMPLATEINFO 0 ? <CR>

Reply:

* PRESENTATIONTEMPLATEINFO 0 CD87EFA6-A98B-4968-BDF2-E3BF4AF3EE6B "Chemistry 101" "16:9 MP4 (h.264/aac) at 15 fps, 2.5 Mbps" <CR>

 

Request currently opened
presentation title:

* PRESENTATIONTITLE ? <CR>

Reply:

* PRESENTATIONTITLE This is a test presentation title <CR>

 

Create a scheduled presentation on the server using a presentation template id and open the presentation on the Recorder:

* PRESENTATIONTEMPLATEID CD87EFA6-A98B-4968-BDF2-E3BF4AF3EE6B <CR>

Reply:

PRESENTATIONTEMPLATEID CD87EFA6-A98B-4968-BDF2-E3BF4AF3EE6B <CR>

 

 

Set audio record level:

* AUDIORECORDLEVEL 50.0 <CR>

 

Request verbose status:

* VERBOSE ? <CR>

Reply:

* VERBOSE TRUE <CR>

 

Turn off verbose status:

* VERBOSE FALSE <CR>

Reply:

* VERBOSE FALSE <CR>

 

Switch Video 1 to image input:

* ENCODERVIDEOINPUT 1 Video 1 <CR>

Reply:

* ENCODERVIDEOINPUT 1 <CR>

 

Switch Video 1 to image input with PiP:

* ENCODERVIDEOINPUT 2 Video1 <CR>

Reply:

* ENCODERVIDEOINPUT 2 Video1 <CR>

 

Request error status:

* ERROR ? <CR>

Reply:

* ERROR TRUE <CR>

 

Request error text:

* ETEXT ? <CR>

Reply:

* ETEXT Invalid media in drive <CR>

 

Request recorder free space:

* FREESPACE ? <CR>

Reply:

* FREESPACE 43 <CR>

Reply if invalid
command received:


* EMESSAGE RCORD <CR>

 

Verbose status mode

      Provides for event-driven asynchronous communications from the Recorder to the control system, please see the previous section where “Supports Notification” is shown.

      Defaults to enabled, it can be adjusted on the Recorder and via the VERBOSE command.

      If enabled, the Recorder will report back status changes as they occur.

      If the Recorder is operated directly via the Windows UI and Verbose Status is enabled, the verbose status changes will still be sent as if it were being controlled remotely.

      If disabled, the control system can poll for status.

Examples of notifications in verbose status mode

Recording a presentation via RECORD and STOP commands with notifications:

Start Record command:

* RECORD <CR>

Reply:

* STATUS RECBUSY <CR>

Notify Record

* STATUS RECORD <CR>

Notify Image count:

* IMAGECOUNT 0 <CR>

Notify Image count:

* IMAGECOUNT 1 <CR>

Notify Time:

* TIME 00:00:05 <CR>

Notify Image count:

* IMAGECOUNT 2 <CR>

Notify Time:

* TIME 00:00:10 <CR>

Notify Image count:

* IMAGECOUNT 3 <CR>

 

Stop Record command:

* STOP <CR>

Reply:

* STATUS RECBUSY <CR>

Notify Idle

* STATUS IDLE <CR>

Notify can Publish

* PUBLISH TRUE <CR>

 

User directly turned off image auto scene detection via Windows UI:

Notify detection mode:

* IMAGEAUTO FALSE <CR>

 

User directly chose an encoding profile via Windows UI:

Notify encoding profile index:

* PROFILEINDEX 1 <CR>

 

User directly opened a scheduled presentation via Windows UI:

Notify open scheduled presentation:

* SCHEDULEDID E874F172-CA21-46ff-B2BC-D3FDEED908B2 <CR>

User directly chose a presentation template via Windows UI:

Notify select presentation template:

* PRESENTATIONTEMPLATEID CD87EFA6-A98B-4968-BDF2-E3BF4AF3EE6B <CR>

Application sets the title of the presentation opened on the Recorder:

Notify presentation title:

* PRESENTATIONTITLE Chemistry 101 <CR>

 

Application sets the routing video selection on the Recorder:

Notify routing video selection:

* ENCODERVIDEOINPUT 0 VideoX <CR>

*Where X is the number of video streams. E.g. X is 2 for Video 2.

Application sets the image advance presets:

Notify image advance presets:

* PRESETINDEX 0 <CR>

 

Application sets the active server connection:

Notify active server connection:

* SERVERCONNECTIONNAME Untitled <CR>

 

Application opens a new presentation on the Recorder:

Notify presentation information:

* PRESENTATIONINFO 10-10-07 9:30:00AM 00:02:00 <CR>

 

Application opens a presentation controlled by the scheduler on the Recorder:

Notify schedule type:

* SCHEDULETYPE CreateLoadAndStart <CR>

.