

# Creating a CMAF Ingest output group
<a name="opg-cmafi"></a>

When you create a AWS Elemental MediaLive channel, you might want to include a CMAF Ingest output group. For information about the use cases for a CMAF Ingest output group, see [Containers, protocols, and downstream systems](outputs-supported-containers-downstream-systems.md).

Note that MediaLive generates a quality score for outputs in a CMAF Ingest output group. For more information, see [Working with MQCS](mqcs.md).

**Topics**
+ [Organize encodes into outputs](design-cmafi-package.md)
+ [Obtain destination](downstream-system-cmafi-empv2.md)
+ [Create output group](creating-cmafi-output-group.md)

# Organize encodes in a CMAF Ingest output group
<a name="design-cmafi-package"></a>

A CMAF Ingest output group typically set up as a video ABR stack. A video ABR stack is an output group that contains the following:
+ More than one outputs.

Each output can contain the following:
+ One video encode (rendition). Typically, each video encode is a different resolution. 
+ Zero or more audio encodes. 
+ Zero or more captions encodes. The captions are embedded captions or sidecar captions.

This diagram illustrates a CMAF Ingest output group when the captions are embedded in the video. Each video encode is in a separate output. The captions are in each video output. Each audio encode is in a separate output.

![\[Output group diagram showing four outputs: two labeled "V embedded" and two labeled "A".\]](http://docs.aws.amazon.com/medialive/latest/ug/images/output13-ABR-2Ve-2Asep.png)


This diagram illustrates a CMAF Ingest output group when the captions are sidecar captions. Each encode is in its own output.

![\[Output group diagram showing six outputs: two V, two A, and two C, representing video, audio, and captions.\]](http://docs.aws.amazon.com/medialive/latest/ug/images/output14-ABR-2V-2Asep-2C.png)


# Obtain destination for a CMAF Ingest output group
<a name="downstream-system-cmafi-empv2"></a>

1. Decide if you need two destination URLs for the output: 
   + You need two destinations in a [standard channel](plan-redundancy.md).
   + You need one destination in a single-pipeline channel.

1. Obtain the one or two URLs from the MediaPackage operator. The MediaPackage terminology for the URL is *input endpoint*. Make sure that you obtain the URLs (which start with `https://`), not the channel name (which starts with `arn`). 

   Note that you don't use user credentials to send to CMAF Ingest to MediaPackage.

**Example**

Two URLs look like this example:

`https://mz82o4-1.ingest.hnycui.mediapackagev2.us-west-2.amazonaws.com/in/v1/curling-channel-group/1/curling-channel/`

`https://mz82o4-2.ingest.hnycui.mediapackagev2.us-west-2.amazonaws.com/in/v1/curling-channel-group/1/curling-channel/`

Note the following:
+ The `v1/` near the end of the URL is the version of the MediaPackage destination URL schema, it doesn't refer to MediaPackage v1.
+ `curling-channel-group/` is the name of the channel group that the MediaPackage operator created.
+ `curling-channel/` is the name of the MediaPackage channel that the MediaPackage operator created. It isn't the name of the MediaLive channel.
+ The only difference in the two URLs is the `-1` and `-2` before `.ingest`.

# Create a CMAF Ingest output group
<a name="creating-cmafi-output-group"></a>

You create the output group and its outputs when you [create or edit a MediaLive channel](creating-a-channel-step4.md). 

1. On the **Create channel** or **Edit channel** page, in **Output groups**, choose **Add**. 

1. In the **Add output group** section, choose **CMAF Ingest**, and then choose **Confirm**. More sections appear:
   + **CMAF Ingest destination** – This section contains fields for the destination of the outputs. You should have obtained the URLs to enter when you [planned the destinations for the CMAF Ingest output group](downstream-system-cmafi-empv2.md). The URL looks like this:

     `https://mz82o4-1.ingest.hnycui.mediapackagev2.us-west-2.amazonaws.com/in/v1/curling-channel-group/1/curling-channel/`

     Leave the **Credentials** section empty. You don't need to enter credentials to authenticate with MediaPackage.
   + **CMAF Ingest settings** – This section contains fields for configuring how segments are delivered and for configuring how various features behave. See later in this section.
   + **CMAF Ingest outputs** – This section shows the single output that is added by default. You can add more outputs, and you can add video, audio, and captions encodes in each output. See later in this section.

**Topics**
+ [Fields in CMAF Ingest settings section](#cmafi-opg-settings)
+ [Fields for the video, audio, and captions streams (encodes)](#cmafi-opg-streams-section)

## Fields in CMAF Ingest settings section
<a name="cmafi-opg-settings"></a>


| Field | Description | 
| --- | --- | 
| Name | A name for the output group. This name is internal to MediaLive. It doesn't appear in the output. For example, Sports Curling. | 
| SCTE35 Type | To pass through SCTE 35 messages in the output group, choose SCTE\$135\$1WITHOUT\$1SEGMENTATION.The WITHOUT\$1SEGMENTATION wording indicates that each inserted SCTE 35 message will result in a new IDR in the video, but it won't result in a new segment. This handling is standard for CMAF Ingest For more information about setting up for SCTE 35, see [Processing SCTE 35 messages](scte-35-message-processing.md). | 
| Segment Length, Segment Length Units |  Enter the preferred duration of segments (in milliseconds or seconds). The segments will end on the next keyframe after the specified duration, so the actual segment duration might be longer. If the units are seconds, the duration might be a fraction of the seconds.  | 
| Send Delay Msec |  Number of milliseconds to delay the output from pipeline 1, when the channel starts or unpauses. (This field applies only to standard channels. The value is ignored in a single-pipeline channel.)  Some packagers always ingest the first pipeline that they receive. You can therefore set a value here to ensure that pipeline 0 always arrives at the packager first.  | 
| Nielsen ID3 Behavior | For information about this feature, see [Converting Nielsen watermarks to ID3](feature-nielsen-id3.md). | 

## Fields for the video, audio, and captions streams (encodes)
<a name="cmafi-opg-streams-section"></a>

1. In **CMAF Ingest outputs**, choose **Add output** to add the appropriate number of outputs to the list of outputs.

1. Choose the first **Settings** link to view the first output. Each output has two sections: **Output settings** and **Stream settings**.

1. Complete **Output settings**:
   + **Output name**: Change the randomly generated name to a meaningful name. This name is internal to MediaLive; it doesn't appear in the output. 
   + **Name modifier**: MediaLive assigns a sequential modifier to each output in the output group: **\$11**, **\$12**, and so on. Change the name if you want. 

1. Complete **Stream settings**. This section contains fields for the output encodes (the video, audio, and captions) to create in the output. For information about creating encodes, see the following sections:
   + [Set up the video encode](creating-a-channel-step6.md)
   + [Set up the audio encodes](creating-a-channel-step7.md)
   +  [Set up the captions encodes](creating-a-channel-step8.md)