Use the Live Slicer API to:
The Live Slicer API, which is exposed by the Live Slicer via an internal web server, may be called from any programming language that provides a simple HTTP client interface.
Live Slicer API
Consider using the Live Slicer API when you need to control the behavior of your stream (e.g., mark ads, replacement content, or content boundaries), set metadata on an asset, or retrieve detailed Live Slicer status information.
Slicer API
Consider using the Slicer API when you need to find out the last known status information for one or more Live Slicers or retrieve/update a slicing scheduling.
Live Slicer API calls are not session-based or password protected. It is assumed that the Live Slicer is running in a secure environment.
The Live Slicer API follows a simplified version of RESTful conventions.
Key points:
All responses include a response body set to a JSON object. This object includes an error member set to an integer value.
Authentication requires Live Slicer version 15091000 or higher.
By default, the Live Slicer does not require authentication. However, the Live Slicer may be configured to allow authenticated API requests over the port defined by the authenticated_api_port configuration parameter. The data sent over this port is unencrypted.
Authenticate a request by adding the following request body parameters:
Parameter | Description |
---|---|
timestamp |
An integer that defines a 10 second authentication window in Unix time. |
cnonce |
An integer that defines a unique value. |
sig |
A string that is set to a base-64-encoded SHA-1 hash of the following string: Endpoint:Timestamp:cnonce:Authentication Token
Replace the above variables as indicated below.
|
Example:
timestamp = 1438101883
cnonce = 123
sig_input = '/content_start:1438101883:123:2adf9dd93ca0261ccd04dd879258ef35fa3ff17d'
sig = Base64(SHA1(sig_input)) = '49bQGXKTRYPQ5b22m89zKe1zcKk='
Sample request (HTTP):
POST /content_start HTTP/1.1
Content-Type: application/json
Host: localhost:65009
Content-Length: 108
{ "timestamp": 1438101883, "cnonce": 123, "sig": "49bQGXKTRYPQ5b22m89zKe1zcKk=", "start_timecode": "11:22:33;04" }
Sample request (Python):
import urllib2, hashlib, time, json, base64 secret = hashlib.sha1('XH7HtD8tR3993IxfbcqX0uhKnc-mYksmPxqM2z1a').hexdigest() timestamp = int(time.time()) endpoint = '/content_start' cnonce = 123 sig_input = endpoint+':'+str(timestamp)+':'+str(cnonce)+':'+secret sig = base64.b64encode(hashlib.sha1(sig_input).digest()) body = json.dumps({"timestamp": timestamp, "cnonce": cnonce, "sig": sig }) request = urllib2.urlopen('http://localhost:65009/' + endpoint, body) response = json.loads(request.read()) assert response['error'] == 0
By default, the Live Slicer listens for API requests on port 65009. Use the api_port configuration setting to configure the Live Slicer to listen on a different port.
Schedule when the action defined within an API request will take effect by passing one of the following parameters:
Most Live Slicer API endpoints accept the above parameters.
The start_timecode parameter defines a timecode that identifies a specific video frame at which the action will take place. For example, you may use this parameter to determine the video frame where an ad or content boundary should occur.
Key information:
UDP and RTMP
You must enable the useSystemClockAsTimecode setting within the Live Slicer's configuration file to use the start_timecode parameter with UDP (including RTP) and RTMP signal sources.
A Live Slicer accepts timecodes defined using either drop frame or non-drop frame format.
Drop frame format:
Non-drop frame format:
Drop frame example:
The following value identifies the second frame at 15 minutes and two seconds after midnight (Live Slicer's local time):
Timecodes are typically provided via a playout automation system (e.g., Snell or Harris).
By default, the Live Slicer resolves an API request's timecode from a short buffer of frames (e.g., 5 seconds) known as the capture delay buffer.
Configure the duration of the capture delay buffer through the capture_delay setting.
Configure a Live Slicer to resolve timecodes up to 12 hours in the future by enabling the future_timecodes setting:
Upon enabling this configuration parameter, the Live Slicer will resolve timecodes as described below.
Condition | Behavior |
---|---|
Buffered Frame The start_timecode parameter identifies a video frame contained by the capture delay buffer. |
The Live Slicer will apply the action requested via the API when it reaches the video frame identified by the start_timecode parameter. |
Future Timecode (< 12 hours) The start_timecode parameter identifies a video frame that takes place 12 hours or less in the future. |
The endpoint will return an id response body parameter. The Live Slicer will apply the action requested via the API when it reaches the video frame identified by the start_timecode parameter. |
Future Timecode (> 12 hours) or Missing Frame The start_timecode parameter identifies a video frame that either:
|
The requested operation will take effect immediately. |
Past Timecode The start_timecode parameter identifies a video frame that takes place in the past. |
Your signal source determines how the Live Slicer will behave:
|
A time limit may be placed on breaks scheduled in the future through the future_break_expiration_minutes setting:
This setting requires the Live Slicer to expire API requests for scheduled breaks that have been retained the specified number of minutes. The drop_expired_breaks setting determines how a Live Slicer will handle expired API requests.
drop_expired_breaks | Description |
---|---|
On |
Expired API requests will be ignored. |
Off or Missing |
Expired API requests are processed once they have been retained for the length of time defined within the future_break_expiration_minutes setting. This occurs regardless of whether the specified timecode has elapsed. |
View or delete breaks scheduled for the future through the remove_break and list_breaks endpoints.
An alternative to the start_timecode parameter is to define a relative time through one of the following parameters:
Parameter | Value |
---|---|
offset_from_now_ms |
Identifies a time relative to now (local system time), in milliseconds, when an operation will take effect. |
offset_time_ms |
Identifies a time relative to the start of the current asset, in milliseconds, when an operation will take effect. |
The order of precedence between these parameters is:
For example, if all three parameters are included in the request, then the offset_time_ms parameter will take precedence over the other two parameters.
An operation takes effect immediately when none of the above parameters are included in the request.
Sample requests are provided below.
Sample request (HTTP):
POST /blackout HTTP/1.1
Content-Type: application/json
Host: localhost:65009
Content-Length: 33
{ "start_timecode": "11:22:33;04" }
Sample response (HTTP):
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 12
{ "error": 0 }
Sample request (Python):
import urllib2, json body = json.dumps({"start_timecode":"11:22:33;04"})request = urllib2.urlopen('http://localhost:65009/blackout', body) response = json.loads(request.read()) assert response['error'] == 0
Sample request (curl):
curl --data '{"start_timecode":"11:22:33;04"}' http://localhost:65009/blackout
The Live Slicer API supports the following endpoints:
Endpoint | Description |
---|---|
Inject EIA/CEA-608/708 captions into the stream. |
|
Schedules an image overlay. |
|
Adds metadata to the asset currently being sliced. |
|
Ends the current asset and stops capturing until further notice. Use the content_start endpoint to resume capture. |
|
Creates and defines the starting/ending point of a boundary. |
|
Performs either of the following tasks:
|
|
Enables or disables the ignore state for slicing schedules. |
|
Returns a list of scheduled breaks. |
|
Lists all scheduled image overlays. |
|
Ends an ad pod and resumes capture for the current asset. |
|
Marks an ad pod for replacement when the duration is unknown. |
|
Removes a break from the schedule. |
|
Removes an image overlay |
|
Replaces a section of the live stream with pre-encoded content. |
|
Marks an ad pod for replacement with a specific duration. |
|
Instructs the Live Slicer to restart at the next ad break, blackout, or content_start. |
|
Returns server time for both the Live Slicer and the CMS. |
|
Returns the Live Slicer's operating state. |
|
Returns information describing the Live Slicer's status. |
|
Inserts a timed metadata key/value pair into the stream for the asset currently being sliced. |
Marks the start and the end of a boundary as described below.
End: Mark the end of a boundary by either:
Request body parameters are described below.
Request Parameter |
Type |
Description |
---|---|---|
expected_duration |
Float |
Specifies the expected duration, in seconds, of the segment. An ending boundary will automatically be triggered after the specified time. |
type |
String |
Creates a boundary whose type is determined by the value assigned to this parameter. |
meta |
Dictionary |
Requires the type parameter. Contains key-value pairs that defines the set of metadata that will be supplied at the start of a new boundary. Use the Asset Info API to access an asset's metadata. Example: {"My Metadata Field": "Value 1"}
|
Integer |
Requires Live Slicer version 17061500 or higher. Identifies a time relative to now (local system time), in milliseconds, when an operation will take effect. |
|
Integer |
Identifies a time relative to the start of the current asset, in milliseconds, when an operation will take effect. |
|
String |
Identifies a video frame at which this operation will take effect. |
Create a Boundary Example:
POST /boundary HTTP/1.1
{ "type": "c3" }
End a Boundary Example:
POST /boundary HTTP/1.1
{}
Alternative Workflow: Create a Boundary With a Duration Example:
POST /boundary HTTP/1.1
{ "type": "c3", "expected_duration": 30.5 }
Marks the beginning of a new asset.
Request body parameters are described below.
Request Parameter |
Type |
Description |
---|---|---|
external_id |
String |
Assigns the specified external ID to the asset. |
meta |
Dictionary |
Assigns the specified metadata to the asset. Use the Asset Info API to access an asset's metadata. |
Integer |
Requires Live Slicer version 17061500 or higher. Identifies a time relative to now (local system time), in milliseconds, when an operation will take effect. |
|
Integer |
Identifies a time relative to the start of the current asset, in milliseconds, when an operation will take effect. |
|
String |
Identifies a video frame at which this operation will take effect. |
|
title |
String |
Assigns the specified title to the asset. |
Sample request:
POST /content_start HTTP/1.1
{ "start_timecode": "00:15:21;09", "title": "Some Title", "external_id": "asdf1234" }
Marks an ad for replacement.
Request body parameters are described below.
Request Parameter |
Type |
Description |
---|---|---|
duration Required |
Float |
Defines the length of the ad break in seconds. |
meta |
Dictionary |
Assigns the specified metadata to the asset. Use the Asset Info API to access an asset's metadata. |
Integer |
Requires Live Slicer version 17061500 or higher. Identifies a time relative to now (local system time), in milliseconds, when an operation will take effect. |
|
Integer |
Identifies a time relative to the start of the current asset, in milliseconds, when an operation will take effect. |
|
String |
Identifies the video frame at which this operation will take effect. |
Sample request:
POST /replace_pod HTTP/1.1
{ "start_timecode": "00:15:21;09", "duration": 213.32 }
Marks an ad for replacement when the duration of the ad pod is unknown. The Live Slicer will remain in blackout state until further notice.
Request body parameters are described below.
Request Parameter |
Type |
Description |
---|---|---|
meta |
Dictionary |
Assigns the specified metadata to the asset. Use the Asset Info API to access an asset's metadata. |
Integer |
Requires Live Slicer version 17061500 or higher. Identifies a time relative to now (local system time), in milliseconds, when an operation will take effect. |
|
Integer |
Identifies a time relative to the start of the current asset, in milliseconds, when an operation will take effect. |
|
String |
Identifies the video frame at which this operation will take effect. |
Sample request:
POST /pod_start HTTP/1.1
{ "start_timecode": "00:15:21;09" }
Ends an ad pod and resumes capture for the current asset.
Request body parameters are described below.
Request Parameter |
Type |
Description |
---|---|---|
Integer |
Requires Live Slicer version 17061500 or higher. Identifies a time relative to now (local system time), in milliseconds, when an operation will take effect. |
|
Integer |
Identifies a time relative to the start of the current asset, in milliseconds, when an operation will take effect. |
|
String |
Identifies the video frame at which this operation will take effect. |
Sample request:
POST /pod_end HTTP/1.1
{ "start_timecode": "00:15:21;09" }
Blacks out a section of the live feed and replaces it with pre-encoded content.
Request body parameters are described below.
Request Parameter |
Type |
Description |
---|---|---|
duration Required |
Float |
Defines the duration, in seconds, of the segment that will be removed from the live feed. |
replacements Required |
List |
Defines a list of replacement content as described below. |
Integer |
Requires Live Slicer version 17061500 or higher. Identifies a time relative to now (local system time), in milliseconds, when an operation will take effect. |
|
Integer |
Identifies a time relative to the start of the current asset, in milliseconds, when an operation will take effect. |
|
String |
Identifies the video frame at which this operation will take effect. |
The replacements parameter is a list of dictionaries. Each dictionary may contain the following parameters:
Request Parameter |
Type |
Description |
---|---|---|
duration |
Float |
Defines the duration, in seconds, of the replacement content that may be inserted into the live feed. By default, the full duration is used. |
external_id Required |
String |
Identifies replacement content by its external ID. |
Sample request:
POST /replace_content HTTP/1.1
{ "start_timecode": "00:15:21;09", "duration": 213.32, "replacements": [{ "external_id": "asdf1234", "duration": 104.2 }, { "external_id": "asdf4321" } ] }
Blacks out the live feed until further notice. Use the content_start endpoint to stop a blackout window.
A request body parameter is described below.
Request Parameter |
Type |
Description |
---|---|---|
Integer |
Requires Live Slicer version 17061500 or higher. Identifies a time relative to now (local system time), in milliseconds, when an operation will take effect. |
|
Integer |
Identifies a time relative to the start of the current asset, in milliseconds, when an operation will take effect. |
|
String |
Identifies the video frame at which this operation will take effect. |
Sample request:
POST /blackout HTTP/1.1
{ "start_timecode": "00:15:21;09" }
Adds metadata to the asset being sliced.
A request body parameter is described below.
Request Parameter |
Type |
Description |
---|---|---|
meta |
Dictionary |
Assigns the specified metadata to the asset. Use the Asset Info API to access an asset's metadata. |
Sample request:
POST /add_meta HTTP/1.1
{ "meta": { "rating": "TV-Y7" } }
Toggles the ignore state for the slicing schedule. Enabling the ignore state causes the Live Slicer to discard commands given by the slicing schedule.
A request body parameter is described below.
Request Parameter |
Type |
Description |
---|---|---|
ignore Required |
Boolean |
Valid values are:
|
Sample request:
POST /ignore_schedule HTTP/1.1
{ "ignore": true }
Returns status information about a Live Slicer.
The response for this endpoint includes a status dictionary that contains the following key-value pairs:
Response Parameter |
Type |
Description |
---|---|---|
brokerid |
String |
Identifies the broker assigned to the Live Slicer by its system-defined ID. Sample value: 5bbf3fcf8ac8453caae8bc9a6015cb1e
|
brokerzone |
String |
Identifies the zone corresponding to the broker assigned to the Live Slicer. Sample value: ausw3
|
capture_delay |
Integer |
Indicates the length of the capture delay as measured in seconds. |
cc_last_seen |
Dictionary |
Indicates the time at which the Live Slicer received the most recent caption for each channel. The Live Slicer updates these timestamps every ten seconds. Syntax: "Channel Number":Unix Time
This parameter will report a null value until a caption is detected. |
connect_info |
Dictionary |
Indicates connection information for the Live Slicer. This dictionary contains the following parameters:
|
current_profile |
String |
Identifies the current encoding profile by its system-defined ID. |
delivered |
Integer |
Indicates the number of slices that have been uploaded to cloud storage since the Live Slicer was started. |
dropped |
Integer |
Indicates the number of frames that have been dropped for the current beam. Prior to Live Slicer version 19022000, this metric reported the number of dropped frames since the Live Slicer was started. Dropped frames are indicative that the Live Slicer is experiencing severe egress bandwidth problems or insufficient system resources (CPU/memory). |
dropped_frames_usec |
Integer |
Measures the duration, in microseconds, of a gap in the live stream due to dropped frames. This measurement is reset on content_start. |
dropped_since_last |
Integer |
Indicates the number of dropped frames in the CMS asset being encoded. |
duration |
Integer |
Indicates the duration, in seconds, of the live stream. |
lastBeamID |
String |
Identifies the last beam by its system-defined ID. |
luma |
Integer |
Indicates the average luminosity percentage for the last few seconds of video. This percentage will only be returned when the Live Slicer has reported a luma value. |
meta |
Dictionary |
Contains key-value pairs that describe the metadata fields that have been applied to the live stream. This dictionary does not include metadata manually defined via the CMS. It may take a few seconds before recently added metadata is reported within this dictionary. Syntax: "FieldName" : "Value"
|
method |
String |
Identifies the method through which the Live Slicer communicates with the encoder. Sample value: broker
|
rtp_stats |
Dictionary |
Contains statistics for each RTP feed being ingested by the Live Slicer. |
signal |
String |
Indicates the input signal type.
|
slicer_id |
String |
Indicates the Live Slicer's ID as defined in the Live Slicer configuration file. |
slices |
List |
Identifies the slices being encoded to the current CMS asset. |
software |
String |
Identifies the Live Slicer's OS version (e.g., slicer_linux_64). |
source_queue_depth |
Integer |
Requires Live Slicer version 15080700 or higher. Indicates the number of packets waiting to be read by the Live Slicer. |
source_queue_max_depth |
Integer |
Requires Live Slicer version 15080700 or higher. Indicates the highest number of packets queued to be read by the Live Slicer since it started running. |
state |
Integer |
Valid values are:
|
sys_info |
Dictionary |
Contains system information (i.e., CPU, memory usage, network interface bandwidth, Nvidia graphics card, and OS) about the hardware on which the Live Slicer is running. |
version |
String |
Indicates the Live Slicer's version number. |
vol |
Integer |
Indicates the average loudness percentage for the last few seconds of audio. This percentage will only be returned when the Live Slicer has reported a volume value. |
waiting |
Integer |
Indicates the number of slices waiting to be uploaded. |
The rtp_stats dictionary contains the following key-value pairs:
Response Parameter |
Type |
Description |
---|---|---|
90Khz_stream_time |
Integer |
Indicates the current stream time in Unix time. |
downstream_timeout |
Boolean |
Indicates whether the Live Slicer has stopped reading the payload. |
fec |
Dictionary |
Contains information on how forward error correction (FEC) packets were generated. This dictionary contains the following key-value pairs:
Key information:
|
realtime |
Dictionary |
Contains real-time statistics for the last three seconds. This dictionary contains the following key-value pairs:
|
total |
Dictionary |
Contains packet statistics. This dictionary contains the following key-value pairs:
|
redundancy |
Dictionary |
Contains information about each RTP feed. This dictionary contains the following key-value pairs:
|
Sample request:
GET /status HTTP/1.1
Indicates the Live Slicer's current operating state.
Response body parameters are described below.
Response Parameter |
Type |
Description |
---|---|---|
state |
Integer |
Valid values are:
|
state_name |
String |
Valid values are:
|
Sample request:
GET /state HTTP/1.1
Indicates server time.
Response body parameters are described below.
Response Parameter |
Type |
Description |
---|---|---|
corrected |
Integer |
Indicates the current Unix time reported by the CMS. |
time |
Integer |
Indicates the current Unix time on the Live Slicer's host machine. |
Sample request:
GET /server_time HTTP/1.1
Inserts a timed metadata key/value pair into the stream for the asset currently being sliced.
Request body parameters are described below.
Request Parameter |
Type |
Description |
---|---|---|
key Required |
String |
Sets the key value of the key/value pair that will be inserted into the stream. |
Integer |
Requires Live Slicer version 17061500 or higher. Identifies a time relative to now (local system time), in milliseconds, when an operation will take effect. |
|
Integer |
Identifies a time relative to the start of the current asset, in milliseconds, when an operation will take effect. |
|
String |
Identifies the video frame at which this operation will take effect. |
|
value Required |
String |
Set the value element of the key/value pair that will be inserted into the stream. |
Sample request:
POST /timedmeta HTTP/1.1
{ "start_timecode": "00:15:21;09", "key": "myKey", "value": "myValue" }
The timedmeta endpoint may also be used to insert PRIV metadata with the following parameters:
Request Parameter |
Type |
Description |
---|---|---|
owner Required |
String |
Identifies the organization that owns a video frame by either of the following:
Please refer to section 4.27 of the ID3v2.4.0 specification for more information. |
Integer |
Requires Live Slicer version 17061500 or higher. Identifies a time relative to now (local system time), in milliseconds, when an operation will take effect. |
|
Integer |
Identifies a time relative to the start of the current asset, in milliseconds, when an operation will take effect. |
|
String |
Identifies the video frame at which this operation will take effect. |
|
value Required |
String |
Defines the base64-encoded data that will be contained by the PRIV frame. |
Sample request:
POST /timedmeta HTTP/1.1
{ "start_timecode": "00:15:21;09", "type": "PRIV", "owner": "http://example.com", "value": "bXlWYWx1ZQ==" }
Inserts a base64-encoded EIA/CEA-608/708 payload into the stream.
Request body parameters are described below.
Request Parameter |
Type |
Description |
---|---|---|
data Required |
String |
Base64-encoded EIA/CEA-608/708 cc_data_pkt data. |
Integer |
Requires Live Slicer version 17061500 or higher. Identifies a time relative to now (local system time), in milliseconds, when an operation will take effect. |
|
Integer |
Identifies a time relative to the start of the current asset, in milliseconds, when an operation will take effect. |
Sample request:
POST /add_cc608 HTTP/1.1
{ "data": "/BQg/BRQ/EFu/G90/Ghl/HIg/FRl/HN0/BQg/BQs/BQv", "offset_time_ms": 10000 }
Instructs the Live Slicer to restart at the next ad break, blackout, or content_start. Using this endpoint in tandem with a service manager (e.g., Upstart) allows Live Slicer restarts to be scheduled to match discontinuities.
Request body parameters are described below.
Request Parameter |
Type |
Description |
---|---|---|
Integer |
Requires Live Slicer version 17061500 or higher. Identifies a time relative to now (local system time), in milliseconds, when an operation will take effect. |
|
Integer |
Identifies a time relative to the start of the current asset, in milliseconds, when an operation will take effect. |
|
String |
Identifies the video frame at which this operation will take effect. |
Sample request:
POST /restart_later HTTP/1.1
{ "start_timecode": "00:15:21;09" }
Removes a scheduled break.
This endpoint is only applicable for breaks scheduled in the future when the future_timecodes parameter has been enabled.
A request body parameter is described below.
Request Parameter |
Type |
Description |
---|---|---|
id Required |
Integer |
Identifies a scheduled break by its ID. Use the list_breaks endpoint to retrieve a list of scheduled breaks and their IDs. |
Sample request:
POST /remove_break HTTP/1.1
{ "id": 0 }
Sample response:
{ "error": 0 }
Returns a list of scheduled breaks.
This endpoint is only applicable for breaks scheduled in the future when the future_timecodes parameter has been enabled.
Sample request:
POST /list_breaks HTTP/1.1
Sample response:
{ "breaks": [{ "age": 19, "id": 2, "timecode": "01:01:45;00", "type": 5, "type_str": "content start" }, { "age": 27, "id": 1, "timecode": "01:01:50;00", "type": 5, "type_str": "content start" } ], "error": 0 }
Indicates the bitrate of the video that the Live Slicer is sending to the encoder.
Response body parameters are listed below.
Response Parameter |
Type |
Description |
---|---|---|
current_video_kbps |
Integer |
Indicates the current video's bit rate (Kbps). |
effective_total_kbps |
Integer |
Indicates the effective total bit rate (Kbps). |
original_video_kbps |
Integer |
Indicates the original video's bit rate (Kbps). |
Sample request:
GET /quality HTTP/1.1
Requires Live Slicer version 19022000 or higher
Overlays an image on the live stream at the specified start time for the given duration.
Request body parameters are described below.
Request Parameter |
Type |
Description |
---|---|---|
data Required |
String |
Defines the image that will be overlaid on the video. Key information:
|
duration |
Integer |
Defines the duration, in milliseconds, for which the image passed by the data parameter will be overlaid on the video. Omit this parameter or set it to 0 to overlay the image defined by the data parameter until it is removed. An image overlay will persist until one of the following conditions is true:
|
Integer |
Requires Live Slicer version 17061500 or higher. Identifies a time relative to now (local system time), in milliseconds, when an operation will take effect. |
|
Integer |
Identifies a time relative to the start of the current asset, in milliseconds, when an operation will take effect. |
|
String |
Identifies the video frame at which this operation will take effect. |
A response body parameter is listed below.
Response Parameter |
Type |
Description |
---|---|---|
id |
String |
Identifies an image overlay by its ID. Use the list_imagebug endpoint to retrieve a list of scheduled and currently active image overlays and their IDs. |
Sample request:
POST /add_imagebug HTTP/1.1
{ "data": "iVBORw0KGg ... U5Erkggg==", "duration": 30000 }
Sample response:
{ "error": 0, "id": "40312374433b78666162691020586f12" }
Requires Live Slicer version 19022000 or higher
Provides a list of all scheduled and currently active image overlays.
Response body parameters are listed below.
Response Parameter |
Type |
Description |
---|---|---|
bugs |
List |
A list of dictionaries that describes each scheduled and currently active image overlay. |
duration |
Integer |
Indicates the duration, in milliseconds, for which the image overlay will be applied to the live stream. A value of 0 indicates that the image overlay will persist until it is removed. |
start |
Integer |
Indicates the scheduled start time for the image overlay. For the purpose of this parameter, start time is defined as the number of milliseconds since the start of the live stream. If the image overlay was scheduled to appear immediately, then this parameter will report the live stream's time at the moment that the add_imagebug endpoint was requested. Example: If the image overlay is scheduled for 10 seconds from the start of the live stream, then this parameter would report 10000. |
id |
String |
Identifies an image overlay by its ID. |
Sample request:
GET /list_imagebug HTTP/1.1
Sample response:
{ "bugs": [{ "duration": 30000, "start": 39516608, "id": "40312374433b78666162691020586f12" } ], "error": 0 }
Requires Live Slicer version 19022000 or higher
Immediately removes an image overlay. Set the id query string parameter to the ID of the image overlay that will be removed.
Sample request:
POST /remove_imagebug?id=40312374433b78666162691020586f12 HTTP/1.1