Channel Operations for Organization

Generic Signal

Inserts an out-of-band signal into a channel. A signal represents a program signal like chapter-start or ad-end. Signals operate on signaling segments. For example, a chapter-start will result in a new active Chapter segment, while a chapter-end with the same event_id will end it. Signals loosely map to SCTE-35 time_signals and splice_inserts.

The breakaway and resumption signal types are only valid with program segments.

The required event_id identifies the active signaling segment. Use the same event_id for both start and end to reference the same segment.

Delivery restrictions may be supplied on a signal with the delivery_restrictions field. The device_restrictions value may be undefined, none, restrict_group0, restrict_group1, or restrict_group2.

Program Start

Inserts a SCTE-35 program start message into the channel with the given event ID. Corresponding calls to end the program must use the same event ID.

Example input body:

[
	{
		"event_id": 0,
		"segment_type": "program",
		"signal_type": "start"
	}
]

Program End

Inserts a SCTE-35 program end message into the channel with the given event ID. The event ID must match the one given during program start.

Example input body:

[
	{
		"event_id": 0,
		"segment_type": "program",
		"signal_type": "end"
	}
]

Slate In

Replaces the current video source with a video slate. An optional duration may be passed to automatically remove the slate after some time, otherwise the slate will remain until removed via a slate out signal.

The following table describes how video slates are supported and recommended attributes. Image slates are NOT supported.

<table> <tr> <th>Attribute</th> <th>Supported</th> <th>Recommended</th> </tr> <tr> <td>Max File Size</td> <td>100MB (104,857,600 bytes)</td> <td></td> </tr> <tr> <td>Total Duration</td> <td>Minimum: 3s</td> <td>10-30s</td> </tr> <tr> <td>Container</td> <td>MPEG-TS</td> <td></td> </tr> <tr> <td>Resolution (Recommended)</td> <td>Up to 4k (2160p)</td> <td>720p</td> </tr> <tr> <td>Framerate</td> <td>25i, 25p, 29.97i, 30p, 60p</td> <td>30p</td> </tr> <tr> <td>Video Codec</td> <td> - H.264<br/> - H.265<br/> - MPEG2<br/> </td> <td>H.264 Main or High profile</td> </tr> <tr> <td>Audio Codec</td> <td> - AAC-LC<br/> - AC-3<br/> - E-AC-3<br/> - MPEG1|2 Audio<br/> </td> <td>48KHz AAC-LC</td> </tr> </table>

Additional slate requirements:

<ul> <li>The slate MUST contain at least 3 seconds of supported audio and video.</li> <li>The delta between the duration of audio and video MUST be less than 3 seconds.</li> <li>The delta between the timestamps of the first audio and the first video samples MUST be less than 3 seconds. <ul> <li>Audio and video duration measurement begins after the first IDR in the file.</li> </ul> </li> <li>The MPEG2TS PMT MUST NOT change for the duration of the file. <ul> <li>Ex. PIDs, audio codec, video codec, etc. must be the same throughout.</li> </ul> </li> </ul>

Example input body:

[
	{
		"event_id": 0,
		"segment_type": "slate",
		"signal_type": "start",
		"slate_uri": "https://example.com/slate.ts"
	}
]

Slate Out

Removes any active slate and shows the source video content.

Example input body:

[
	{
		"event_id": 0,
		"segment_type": "slate",
		"signal_type": "end"
	}
]

Splice Insert Start

Inserts a splice opportunity into the channel for a given duration. Can optionally include UPIDs and a slate URL to select the content to splice into the channel.

Example input body:

[
	{
		"event_id": 0,
		"segment_type": "splice_insert",
		"signal_type": "start",
		"duration": 25000,
		"slate_uri": "https://example.com/slate.ts"
	}
]

Splice Insert End

Removes an active splice signaling segment from the channel.

Example input body:

[
	{
		"event_id": 0,
		"segment_type": "splice_insert",
		"signal_type": "end"
	}
]
post/v2/{org}/channels/{channel-id}/signals

Request

  • Base URL: https://api.istreamplanet.com
  • URL: https://api.istreamplanet.com/v2/{org}/channels/{channel-id}/signals
  • Auth: authcode (defined in the document in a form this page cannot read) and m2m (defined in the document in a form this page cannot read)

Path parameters

orgstring required

Organization name

channel-idstring required

Unique channel identifier

Request body

durationinteger

Splice duration (ms). If no duration or a duration of 0 then the default duration for the segment type is used.

event_idinteger required

Identifies the active signaling segment. Use the same event_id for both START and END to reference the same segment. When signaling two STARTs with the same event_id, the second one will result in an error (ALREADY_EXISTS). Signaling a second start with a different event_id will end a previous active segment of the same type. After a segment has ended, its event_id can be reused. IDs are namespaced by segment type. E.g. it is allowed to have an active Chapter and an active Program with the same event_id. This field corresponds to SCTE-35 segmentation_event_id and splice_event_id.

segment_type'splice_insert' | 'content_id' | 'program' | 'program_breakaway' | 'chapter' | 'break' | 'opening_credit' | 'closing_credit' | 'provider_placement' | 'distributor_placement' | 'provider_overlay' | 'distributor_overlay' | 'provider_ad' | 'distributor_ad' | 'unscheduled_event' | 'network' | 'slate' | 'timed_metadata' required

The signaling segment type which is going to start/end/etc. This is used to mark programs, chapters, ad insertion points, video slating, etc.

signal_type'start' | 'end' | 'breakaway' | 'resumption' required

Whether this signal will start/end/etc a signaling segment

slate_uristring uri

Slate url

timed_metadata_payloadstring

Timed metadata opaque payload data

timed_metadata_typestring

The timed metadata signal's type

type'none' | 'overlap' | 'in_progress'

Qualifier type

upidsstring[] nullable

UPIDs

Example request

[
  {
    "duration": 30000,
    "event_id": 1234,
    "segment_type": "program",
    "signal_type": "start",
    "slate_uri": "https://www.example.com/logo.ts",
    "timed_metadata_payload": "1ba4ae34-512e-41a6-b2f1-bbf51635d453",
    "timed_metadata_type": "urn:wbd:timed-metadata:multiview:layout-update",
    "type": "none",
    "upids": [
      "03:ABCD0001000H",
      "08:0A42235B81BC70FC",
      "06:0000-0001-2C52-0000-P-0000-0000-0"
    ]
  }
]

Response

Multi-Status

error_messagestring required

Error details from the signaling subsystem

result_code'accepted' | 'not_found' | 'already_exists' | 'invalid_argument' | 'internal_error' required

Result of signal; 'accepted' means no error

Example response

[
  {
    "result_code": "accepted"
  }
]

Changes

No recorded changes to this operation across all 1 revision of this API.