

# About message processing


SCTE 35 messages are messages that can be included in a source MPEG-2 transport stream (TS). SCTE-104 messages are messages that can be included in source content from SMPTE 2110 stream or an AWS Elemental Link hardware device. SCTE-104 messages are automatically converted into SCTE 35 messages as soon as MediaLive ingests the input. 

**Note**  
To use the ad avail features of MediaLive, you should be familiar with the SCTE 35 standard and optionally with the SCTE-67 standard. You should also be familiar with how the input that you are encoding implements those standards.  
This section assumes that you are familiar with creating or editing a channel, as described in [Creating a channel from scratch](creating-channel-scratch.md).

**Support for SCTE 35 on the input side**

On the input side of a MediaLive channel, SCTE 35 messages can appear only in inputs containing MPEG-2 transport streams (TS). You can set up a channel so that if an input includes these messages, the messages are either processed during ingest (passed through) or ignored.

**Support for SCTE 35 on the output side**

On the output side of a MediaLive channel, if you set up to pass through the input (rather than remove it), then you can set up each output so that the SCTE 35 messages from the input are turned into cueing information that is appropriate for that output type. This cueing information can be in the form of one or both of the following:
+ SCTE 35 messages in a TS output
+ Manifest (or sparse track) decoration

You set up each output separately, so that you can set up some outputs to include cueing information and some to exclude it.

As an adjunct to the ad avail information, you can also set up the outputs to blank out the video, audio, and captions within the cueing information.

**Topics**
+ [

# Supported features by input type
](input-processing-options.md)
+ [

# Supported output features
](processing-options.md)
+ [

# Processing features – default behavior
](processing-options-default.md)
+ [

# Scope of processing by feature
](scope-by-feature.md)
+ [

# Supported features by output type
](processing-applicability-by-output-type.md)

# Supported features by input type


SCTE 35 messages can appear only in the following types of MediaLive inputs:
+ Elemental Link inputs
+ HLS inputs
+ MediaConnect inputs
+ RTP inputs
+ SMPTE 2110 inputs (SCTE 104 messages that are automatically converted to SCTE 35 messages)
+ SRT Caller
+ Transport Stream (TS) File inputs
+ AWS CDI inputs

The following table shows which inputs might include ad avail information and how MediaLive handles that information. To read the table, find an input in the first column, then read across in the row.


****  

| Input | Interpret SCTE 35 messages in the source stream | Interpret ad avail information in the input manifest | 
| --- | --- | --- | 
| Elemental Link |  Yes  | Not applicable | 
| HLS |  Yes  | Yes | 
| MediaConnect | Yes | Not applicable | 
| RTMP | No | Not applicable | 
| RTP | Yes | Not applicable | 
| SMPTE 2110 | Yes (interpret SCTE 104 messages in the ancillary data packets) | Not applicable | 
| SRT Caller | Yes | No applicable | 
| SRT Listener | Yes | Not applicable | 
| Transport Stream (TS) file | Yes | Not applicable | 
| AWS CDI | Yes | Not applicable | 

# Supported output features


MediaLive supports different types of processing that you can implement in different combinations.

## Manifest decoration


You can set up an output so that its manifest is decorated with ad avail information. Manifest decoration works on two sources of ad avail information: 
+ Ad avail information found in the channel input, if the input is a transport stream (TS)
+ Ad avail information from SCTE 35 messages added to the output using the MediaLive schedule

Manifest decoration applies only to HLS outputs, MediaPackage outputs, and Microsoft Smooth outputs:
+ You can set up HLS outputs so that their manifests are decorated according to one of the following styles:
  + Adobe
  + Elemental
  + SCTE 35 enhanced
+ MediaPackage outputs are always set up so that their manifests are decorated. The marker style is always SCTE 35 enhanced style. Keep in mind that if you don't actually want SCTE 35 messages in the output that you deliver from AWS Elemental MediaPackage, then on the AWS Elemental MediaPackage side you can set up the channel to remove the markers. 
+ You can set up Microsoft Smooth outputs so that the sparse track includes instructions that correspond to the original SCTE 35 message content.

You must set up the channel for the behavior that you want. For more information, see [Enabling manifest decoration in the output](enable-manifest-decoration.md).

## Blanking and blackout


The *cue out* and *cue in* instructions in SCTE 35 messages in TS inputs line up with specific content in the video, audio, and captions streams. You can set up the channel so that this content is blanked out in the output:
+ To blank out content for ad avails, use the ad avail blanking feature. 
+ To blank out content for other messages, use the blackout feature.

For more information, see [Enabling ad avail blanking in the output](enable-ad-avail-blanking.md) and [Enabling blackout in the output](enable-blackout.md).

## SCTE 35 passthrough


You can set up TS outputs so that all the SCTE 35 messages from the input are passed through to the output. Or you can set up to remove these messages from the output.

The behavior that you want must be set up in the channel. For more information, see [Enabling SCTE 35 passthrough or removal](scte-35-passthrough-or-removal.md).

## Inserting SCTE 35 messages using the schedule


You can insert SCTE 35 messages in TS outputs using the [channel schedule](x-actions-in-schedule-SCTE35.md). For example, you can add an action in the channel schedule to insert a splice insert in the running channel. 

The main use case for this feature is to add SCTE 35 messages to the output, when the input doesn't already include SCTE 35 messages. 

For more information, see [Inserting SCTE 35 messages using the schedule](setup-scte35-insertion.md).

# Processing features – default behavior


The default handling of SCTE 35 by MediaLive is the following:
+ No passthrough – Remove SCTE 35 messages in any data stream outputs. There is one exception: for MediaPackage outputs, passthrough is always enabled.
+ No blanking or blackout – Do not blank out video content for any events. Leave the content as is.
+ No manifest decoration – Do not convert any SCTE 35 messages to event information in any output manifests or data streams. There is one exception: for MediaPackage outputs, manifest decoration is always enabled and can't be disabled.

If this is the behavior that you want, you don't need to read any further in this SCTE 35 section.

Typically, you change these defaults only if you want to include ad avail information in the channel outputs. The following are examples of when you change the defaults
+ You enable passthrough.
+ You enable manifest decoration, if your channel includes HLS, MediaPackage, or Microsoft Smooth output groups.
+ You blank or blackout video content depending on your agreement with the content provider. 

# Scope of processing by feature


The SCTE 35 features that you can implement in a MediaLive channel have different scopes in terms of the output groups and outputs that they affect:

**Blackout or ad avail blanking**

Blackout applies at the *global output* level. If you enable blackout, all the relevant content in every output in every output group is blanked. 

Ad avail blanking also applies at the *global output* level. If you enable blanking, all the ad avails in every output in every output group are blanked.

![\[Diagram showing channel with two output groups, each containing two outputs, and blanking option.\]](http://docs.aws.amazon.com/medialive/latest/ug/images/scte35_scope_blanking.png)


**Decoration **

Manifest decoration applies at the *output group* level. If you enable manifest decoration in an output group, all the outputs in that output group have their manifests decorated.

![\[Diagram showing manifest decoration applied at output group level within a channel.\]](http://docs.aws.amazon.com/medialive/latest/ug/images/scte35_scope_manifest.png)


**SCTE 35 passthrough or removal**

SCTE 35 passthrough or removal applies at the *output* level. You can enable passthrough or removal in individual TS outputs. The messages are passed through or removed only in those outputs.

![\[Channel diagram showing two output groups, each containing two outputs, with passthrough or removal option.\]](http://docs.aws.amazon.com/medialive/latest/ug/images/scte35_scope_passthrough.png)


# Supported features by output type


This section describes which SCTE 35 features apply to the various types of outputs that MediaLive supports. 

**Topics**
+ [

# Archive output with MPEG-2 container
](archive-output-with-mpeg-2-container.md)
+ [

# Frame capture output
](framecapture-output.md)
+ [

# HLS output
](hls-output.md)
+ [

# MediaPackage output
](mediapackage-output.md)
+ [

# Microsoft Smooth output
](ms-smooth-output.md)
+ [

# RTMP output
](adobe-rtmp-output.md)
+ [

# UDP or SRT output
](udp-ts-output.md)

# Archive output with MPEG-2 container


In an Archive output (a transport stream in an MPEG-2 container), MediaLive supports SCTE 35 features as follows:
+ Passthrough of the SCTE 35 messages – Supported.
+ Manifest decoration – Not supported because these outputs don't have manifests.
+ Blanking and blackout – Applicable. Content in the output is blanked or blacked out if the features are enabled at the channel level.

Be careful of setting up so that you have removed messages from the input (passthrough disabled) and you have not enabled blanking and blackout. In this case, the video content that was marked by messages (in the input) will not be marked (in the output). 
+ If you have the rights to that video content, there is no problem setting up this way.
+ If you don't have the rights, then the only way to find that content will be to look for the IDR i-frames that identify where the SCTE 35 message used to be.

# Frame capture output


In a Frame capture output, MediaLive supports SCTE 35 features as follows:
+ Passthrough of the SCTE 35 messages – Not applicable. 
+ Manifest decoration – Not supported because these outputs don't have manifests.
+ Blanking and blackout – Applicable. Content in the output is blanked or blacked out if the features are enabled at the channel level.

A Frame capture output doesn't support passthrough of the SCTE 35 messages. However, if blanking or blackout is enabled (at the channel level), then content that falls between the start and stop of the blackout is blanked or blacked out, even though no SCTE 35 messages are present. 

# HLS output


In an HLS output (a transport stream), MediaLive supports SCTE 35 features as follows:
+ Passthrough of the SCTE 35 messages – Supported.
+ Manifest decoration – Supported.
+ Blanking and blackout – Applicable. Content in the output is blanked or blacked out if the features are enabled at the channel level.

MediaLive supports the following combinations of passthrough and manifest decoration:
+ Passthrough enabled, decoration enabled.
+ Passthrough disabled, decoration enabled.
+ Passthrough disabled, decoration disabled. Be careful of setting up with this combination but leaving blanking and blackout disabled. In this case, the video content that was marked by messages (in the input) are not marked (in the output). In addition, the manifests don't have information for identifying that video content. 
  + If you have the rights to that video content, there is no problem setting up this way.
  + If you don't have the rights, the only way to find that content is to look for the IDR i-frames that identify where the SCTE 35 message used to be.

# MediaPackage output


In a MediaPackage output, MediaLive supports SCTE 35 features as follows:
+ Passthrough of the SCTE 35 messages – Always enabled.
+ Manifest decoration – Always enabled.
+ Blanking and blackout – Applicable. Content in the output is blanked or blacked out if the features are enabled at the channel level.

# Microsoft Smooth output


In a Microsoft Smooth output, MediaLive supports SCTE 35 features as follows:
+ Passthrough of the SCTE 35 messages – Not applicable. SCTE 35 messages are never included in this output. 
+ Manifest decoration – Not supported because these outputs don't have manifests. However, you can set up to include instructions in the sparse track.
+ Blanking and blackout – Applicable. Content in the output is blanked or blacked out if the features are enabled at the channel level.

Be careful of setting up so that you have the following combination:
+ You have not enabled sparse track.
+ You have not enabled blanking and blackout. 

In this case, the video content that was marked by messages (in the input) is not marked (in the output). 
+ If you have the rights to that video content, there is no problem setting up this way.
+ If you don't have the rights, it is impossible to find these blanks and blackouts programmatically in a Microsoft Smooth output.

# RTMP output


In an RTMP output, MediaLive supports SCTE 35 features as follows:
+ Passthrough of the SCTE 35 messages – Not applicable.
+ Manifest decoration – Not supported.
+ Blanking and blackout – Applicable. Content in the output is blanked or blacked out if the features are enabled at the channel level.

# UDP or SRT output


In a transport stream output (for example, UDP or SRT), MediaLive supports SCTE 35 features as follows:
+ Passthrough of the SCTE 35 messages – Supported.
+ Manifest decoration – Not supported because these outputs don't have manifests.
+ Blanking and blackout – Supported.

Be careful of setting up so that you have removed messages from the input (passthrough disabled) and you have not enabled blanking and blackout. In this case, the video content that was marked by messages (in the input) is not marked (in the output). 
+ If you have the rights to that video content, there is no problem setting up this way.
+ If you don't have the rights, then the only way to find that content is to look for the IDR i-frames that identify where the SCTE 35 message used to be.