

# Creating a channel from scratch
<a name="creating-channel-scratch"></a>

A channel ingests and transcodes (decodes and encodes) source content from the inputs that are attached to the MediaLive channel, and packages the new content into outputs. You create and configure the channel with the details that instruct the channel how to perform this processing. 

There are three ways to create a MediaLive channel: 
+ **Create from scratch.** See the topics in this chapter.
+ **Use a built-in or custom template.** See [Creating a channel from a template](creating-channel-template.md).
+ **Clone an existing channel.** See [Creating a channel by cloning](creating-channel-clone.md). 

**Important**  
The information in this chapter is presented in sections, typically one section for each part of the **Channel** page on the MediaLive console. You can complete the sections in any order. You can complete part of a section and then come back to it later.  
MediaLive validates all the information once, after you save the channel.

**Topics**
+ [Getting ready](creating-a-channel-getready.md)
+ [Complete channel and input details](creating-a-channel-step1.md)
+ [Attach inputs to the channel](creating-a-channel-step2.md)
+ [Complete the settings for each input](creating-a-channel-step2a.md)
+ [Complete general settings](creating-a-channel-step3.md)
+ [Configure outputs](creating-a-channel-step4.md)
+ [Save the channel](creating-a-channel-step9.md)
+ [Next step](create-channel-nextstep.md)

# Getting ready
<a name="creating-a-channel-getready"></a>

We recommend that before you start creating the MediaLive channel, you [plan the workflow](container-planning-workflow.md). In both these planning procedures, you obtain information that you need to create the channel. In addition, you must create the inputs that you need. You won't be able to create the channel unless you have created these inputs.

Here is the information that you need, listed in the order in which your will use it when you create the channel:
+ You need to know if you will run the channel in the AWS Cloud or on on-premises hardware in a MediaLive Anywhere cluster. Some features and resources are available only for one channel mode. For information, see [Running channels in AWS Elemental MediaLive Anywhere](feature-emla.md). For information about deploying a MediaLive Anywhere cluster, see [Setting up AWS Elemental MediaLive Anywhere](setup-emla.md).
+ You will need the following information when you follow the procedure in [Complete channel and input details](creating-a-channel-step1.md):
  + Whether you will implement any resiliency features of MediaLive, and particularly whether you will create a standard channel or a single-pipeline channel. You made these decisions in step 3 of [Preparing the upstream and downstream systems in a workflow](container-planning-uss-dss.md).
+  You will need the following information when you follow the procedure in [Attach inputs to the channel](creating-a-channel-step2.md):
  + The names of the input or inputs to use in this channel. You created the input or inputs in [Setup: Creating inputs](medialive-inputs.md).
+ You will need the following information to create the input selectors, as part of the procedure in [Complete the settings for each input](creating-a-channel-step2a.md):
  + The assets to extract from each input. You identified these assets in [Map the output encodes to the sources](channel-map-output-source.md), as part of planning the channel.
+ You will need the following information when you follow the procedure in [Configure outputs](creating-a-channel-step4.md):
  + The output groups to create. You should have identified these output groups in step 1 of [Planning a MediaLive workflow](container-planning-workflow.md).
  + The outputs to create. You should have designed the outputs and encodes (video, audio,and captions) when you [planned the channel](planning-the-channel-in-workflow.md).
  + Information about the destinations for the outputs of each output group. You obtained this information in step 7 of [Planning a MediaLive workflow](container-planning-workflow.md).
+ You will need the following information when you follow the procedure in the three steps that start with [Set up the video encode](creating-a-channel-step6.md):
  + Details about the output encodes (video, audio, and captions) to create in each output group. You made these decisions in [Planning the outputs in the channel](planning-the-channel-in-workflow.md).

**Note**  
For information about additional steps for setting up a channel for use in a multiplex program, see [Setting up a multiplex](setting-up-multiplex.md).

# Complete channel and input details
<a name="creating-a-channel-step1"></a>

The **Channel and input details** section of the **Create channel** page lets you do the following in the MediaLive that you are creating:
+ Select the IAM role that AWS Elemental MediaLive will use to access the channel when the channel is running (started).
+ Optionally select a template to use.
+ Select the channel class.
+ Complete input specification information.
+ Set up tagging.

**To provide channel and input details**

1. Open the MediaLive console at [https://console.aws.amazon.com/medialive/](https://console.aws.amazon.com/medialive/).

1. Before creating a channel, make sure that you have [created the inputs](creating-input.md) that you will attach to the channel.

1. On the MediaLive home page, choose **Create channel**, and in the navigation pane, choose **Channels**. 

   If you've created a channel before, you won't see the home page. In that case, in the MediaLive navigation pane, choose **Channels**, and then choose **Create channel**.

1. On the **Create channel** page, choose **Channel and input details**.

1. Complete the sections:
   + In **General info**, for **Channel name**, type a name for your channel. 
   + In **General info**, complete **IAM role**. See [IAM role and ARN](role-and-remember-arn.md). 
   + You can optionally configure the channel by selecting and loading a channel template. For information about the **Channel template** section, see [Creating a channel from a template](creating-channel-template.md).
   + Your organization might have deployed a MediaLive Anywhere cluster, in order to run channels on on-premises hardware. In this case, complete the MediaLive Anywhere settings. You must specify the channel placement group that the channel belongs to, and the cluster that this channel placement group belongs to.

     If you were involved in [designing the MediaLive Anywhere clusters](emla-deploy-design-cluster.md) in your organization, you should know which is the appropriate channel placement group and cluster. If you weren't involved in this design, you must obtain this information from the video engineer who was involved. 
**Warning**  
Don't arbitrarily choose a channel placement group and cluster. If you do, it's possible that the channel won't run because it will be assigned to a node that can't handle this type of input, or that future channels won't run, because you have overloaded the channel placement group.
   + In **Channel class**, choose the class. See [Channel class](channel-class.md).

     With a regular MediaLive channel, you can set up the channel as a standard channel or a single-pipeline channel.

     With a MediaLive Anywhere channel, you must set up the channel as a single-pipeline channel.
   + If you selected **SINGLE\$1PIPELINE** for channel class, you can optionally configure **Linked channel settings** to set up this channel as a primary or follower channel for pipeline locking. See [Linked channels for single-pipeline channels](channel-class.md#linked-channels).
   + In **Input specifications** and **CDI input specifications**, complete the fields to match your input. See [Input specifications settings](input-specification.md).
   + In **Output delivery**, set up the channel to deliver output via the public internet or your Amazon VPC. 

     With a regular MediaLive channel, you can set up in either way. For information about delivering via Amazon VPC, see [Delivering outputs via your VPC](delivery-out-vpc.md). 

     With a MediaLive Anywhere channel, you must set up the channel to use the public internet.
   + In the **Tags **section, create tags if you want to associate tags with this channel. For more information, see [Tagging resources](tagging.md).

1. When ready, go to the [next section](creating-a-channel-step2.md).

# IAM role and ARN
<a name="role-and-remember-arn"></a>

This section describes how to complete the **IAM role** section in the **General info** section of the **Channel and input details** pane.

You must choose a role for MediaLive to assume when it works with this channel. If you don't choose a role, you can't create the channel. There are two general scenarios, depending on whether your organization has a designated administrator.

**Note**  
This section on the MediaLive console is identical to the **IAM role** section on the **Create input** page for a MediaConnect push input (also on the MediaLive console). The difference in the two usages is that on the **Create channel** page, you attach the role to the channel. On the **Create input** page, you attach the role to the MediaConnect input. You can use the same role (for example, the **MediaLiveAccessRole**) in both usages.

There are two general scenarios for choosing a role, depending on whether your organization has a designated administrator.

## Your organization has a designated administrator
<a name="role-scenario-1"></a>

Your organization might have an administrator who manages this service. That administrator has likely set up one or more roles: 
+ Ask the administrator or your manager which role to use. Or if only one rule is listed in **Use existing role**, choose that role. 
+ If the only rule that is listed is **MediaLiveAccessRole**, choose that role. In addition, if the **Update** button is displayed beside this role name, choose the button. (The button does not always appear, but whenever it does appear, choose it to refresh the role.)
+ If you want the selected ARN to appear first in the list next time, select **Remember ARN**. 

## Your organization has no administrator
<a name="role-scenario-2"></a>

Your organization might not have a designated service administrator. In this case, if none of your colleagues have set up a suitable role, you might have to create one yourself and then choose it. 
+ You can create the default role, called **MediaLiveAccessRole**. To first check if someone else has already created this role (only one person needs to create it for all users in your AWS account), look at **Create role from template**:
  + If this option is grayed out, this task has been done. In that case, choose **Use existing role**, and then choose **MediaLiveAccessRole** from the list. 
  + If this option is not grayed out, choose **Create role from template**, and then choose **Create IAM role**. Next, choose that role from the list. If MediaLive does not let you create the role, speak to an administrator about your IAM permissions. 
+ If the **MediaLiveAccessRole** has already been created and the **Update** button is displayed beside it, choose the button. (The button does not always appear, but whenever it does appear, choose it to refresh the role.)
+ If you want the selected ARN to appear first in the list next time, select **Remember ARN**.

# Channel class
<a name="channel-class"></a>

When you [planned the workflow](plan-redundancy-mode.md), you decided whether to set up the MediaLive channel as a standard channel (with two pipelines) or a single-pipeline channel. You must now specify the class in the channel configuration. 

For **Channel class**, choose `STANDARD` or `SINGLE_PIPELINE`.

## Standard class
<a name="channel-class-standard"></a>

With this class, the channel contains two pipelines. The input for the channel has two entry points. The upstream system sends identical source streams to these two entry points, to provide content to two pipelines within the channel. MediaLive performs identical processing on both pipelines. For each output that you configure (for example, for both HLS output and RTMP output), the two pipelines deliver identical content to two destinations on the downstream system. 

## Single pipeline class
<a name="channel-class-single-pipeline"></a>

With this class, the channel contains one pipeline. For each output that you configure, the channel delivers content to one destination on the downstream system.

### Linked channels for single-pipeline channels
<a name="linked-channels"></a>

When you select **SINGLE\$1PIPELINE** as the channel class, additional fields appear for configuring linked channels. Linked channels enable pipeline locking for single-pipeline channels.

You can configure a single-pipeline channel as either:
+ **Primary channel**: The owner of the linked group. The primary channel establishes the linked channel relationship. The primary channel does not need to be running for the follower channel to function.
+ **Follower channel**: A channel that participates in the linked group. You must specify the ARN of the primary channel to join the linked group.

Linked channels have the following requirements:
+ Primary and follower channels must belong to the same AWS account.
+ Only one follower channel can be linked to a primary channel.
+ The follower channel must reference a valid primary channel ARN.

For more information about pipeline locking, see [Implementing pipeline locking](pipeline-lock.md).

# Input specifications settings
<a name="input-specification"></a>

 

The **Input Specifications** settings include three fields that characterize the video in the input that you intend to use with this MediaLive channel. The fields are the following: 
+ Input codec
+ Input resolution
+ Maximum input bitrate 

You should have obtained information about these video characteristics when you [assessed the upstream system](evaluate-upstream-system.md) for each input source.

## How MediaLive uses this information
<a name="input-specification-how-used"></a>

MediaLive uses these values for billing and resource allocation purposes.
+ For billing, MediaLive uses these fields to calculate the charges that you will incur on the input side. You pay for the option that you specify. For example, if you specify HD but the inputs are all actually SD, you will still be charged for HD. 
+ For resource allocation, MediaLive uses these fields to allocate processing resources when you run this channel. If you don't choose the correct option, MediaLive might not allocate sufficient processing resources. Insufficient processing resources might mean that your channel output starts to degrade when the channel is running.

MediaLive doesn't use these values to determine what is actually in the video for decoding purposes. At ingest time, it still inspects the video to detect the source codec, resolution, and bitrate. 

## Completing the settings – option A
<a name="input-specification-option-a"></a>

Follow this procedure if you will run the channel in the AWS Cloud, not in a [MediaLive Anywhere cluster](setup-emla.md).

1. Find the following codec, resolution, and bitrate:
   + Find the most resource-intensive codec among all the inputs. The codecs, from least to most intensive, are MPEG-2, then AVC, then HEVC. Make a note of the codec. The input it appears in isn't relevant.
   + Find the highest resolution tier among all the inputs. The tiers, from lowest to highest, are SD, HD, UHD. Make a note of the tier. The input it appears in isn't relevant. 
   + Find the highest bitrate among all the inputs. Make a note of the bitrate. The input it appears in isn't relevant.

1. For each field, choose an option that meets or exceeds the value you identified for that field. 

   Follow these tips: 
   + If you aren't sure about the processing requirements of your inputs, choose a higher option. For example, if you aren't sure of the bitrate and you are trying to choose between 10 Mbps and 20 Mbps, then choose 20 Mbps, to be on the safe side. Or if you aren't sure if your inputs use AVC (H.264) or HEVC (H.265), then choose HEVC. 
   + If your channel contains only one input and it's from an AWS Elemental Link device, complete the fields so that MediaLive allocates resources correctly. 

     Then make sure that you [configure the **Input resolution **in the device](device-edit.md), so that MediaLive calculates the billing correctly.
**Note**  
If the input resolution is HD and the device is a Link UHD, make sure that you [configure the **Input resolution **in the device](device-edit.md) to make sure that you don't get charged UHD rates.

## Completing the settings – option B
<a name="input-specification-option-b"></a>

Follow this procedure if you plan to run the channel in a [MediaLive Anywhere cluster](setup-emla.md).

Leave the default values in all the fields. MediaLive doesn't use the input specification for billing, and MediaLive isn't responsible for resource allocation.

# Attach inputs to the channel
<a name="creating-a-channel-step2"></a>

Before you started to create the MediaLive channel, you should have [created all of inputs](medialive-inputs.md) for all the content sources for the channel. 

You must now attach the inputs to the channel. You can attach multiple inputs to the channel. For detailed information about setting up a channel with more than one input, see [Setting up for input switching](scheduled-input-switching.md). There are [specific rules](eml-limitations-and-rules.md#limits-inputs) about the number and type (push versus pull, for example) of inputs that you can attach to one channel.

# The procedure to attach inputs
<a name="attach-inputs-procedure"></a>

**To attach one MediaLive input**

1. On the **Create channel** page, for **Input attachments**, choose **Add**. The **Attach input** section appears.

1. In **Input**, choose an existing input. As soon as you choose the input, information about the input appears. To review this information, see the following sections:
   + [Channel input—CDI VPC push input](input-cdi.md)

     [Channel input—Elemental Link push input](input-elink.md)
   + [Channel input—HLS pull input](input-hls-pull.md)
   + [Channel input—MediaConnect push input](input-mediaconnect-push.md)
   + [Channel input—MediaConnect Router input](input-mediaconnect-router.md)
   + [Channel input—MP4 pull input](input-mp4-pull.md)
   + [Channel input—RTMP push input](input-rtmp-push.md)
   +  [Channel input—RTMP pull input](input-rtmp-pull.md) 
   + [Channel input—RTP push input](input-rtp-push.md)
   + [Channel input—SMPTE 2110 input](input-s2110-pull.md) 
   + [Channel input—SRT caller input](input-srt-pull.md) 
   + [Channel input—SRT listener input](input-srt-push.md) 

1. Complete the **Logical interface names** fields. These fields appear only if you set up the channel to [run in a MediaLive Anywhere cluster](creating-a-channel-step1.md) and the input is a SMPTE 2110 input. 
   + You must specify the logical interface for the incoming content for the input.
   + If the channel implements SMPTE 2022-7 seamless protection switching, you must also specify the logical interface for that content. Slide the selector beside **Use 2022-7 **to enable the feature. Then select the logical interface to use.

   If you were involved in [designing the MediaLive Anywhere clusters](emla-deploy-design-cluster.md) in your organization, you should know which logical interface or interfaces to select. If you weren't involved in this design, you must obtain this information from the video engineer who was involved. 

1. Enter a name for the attachment. The default name is the name of the input itself.

1. Choose **Confirm**. The **Input attachment** section closes, and the **General input settings** section appears.

1. For information about completing the fields in the **General input settings** section, go to the [next step](creating-a-channel-step2a.md).

# Channel input—CDI VPC push input
<a name="input-cdi"></a>

To verify that the input is set up correctly, look at the **Input destinations** section. It shows the two locations on MediaLive that the upstream system will push the source to when the channel is running. These locations were automatically generated when you created the input:
+ If the channel is set up as a standard channel, two locations are generated. 
+ If the channel is set up as a single-pipeline channel, one location is generated. 

For example:

**10.99.39.23:5000**

**192.0.2.54:5000**

# Channel input—Elemental Link push input
<a name="input-elink"></a>

To view the status of the AWS Elemental Link hardware device for this input, look at the **Details**. If the device is currently pushing content to MediaLive, the **Device** thumbnail shows the content. The device generates the thumbnails by capturing a video frame approximately every 5 seconds. 

# Channel input—HLS pull input
<a name="input-hls-pull"></a>

To verify that the input is set up correctly, look at the **Input sources** section. It shows the locations of the source video. You specified these locations when you created the input:
+ If the channel is set up as a standard channel, you specified two locations.
+ If the channel is set up as a single-pipeline channel, you specified one.

For example, for an HTTPS pull:

**https://203.0.113.13/sports/curling.m3u8** and

**https://203.0.113.54/sports/curling.m3u8** 

Or, for a pull from an AWS Elemental MediaStore container:

**mediastoressl://eri39n.data.mediastore.us-west-2.amazonaws.com/sports/canada/curling.m3u8**

 and

**mediastoressl://21lu05.data.mediastore.us-west-2.amazonaws.com/sports/canada/curling.m3u8** 

Or, for a pull from an Amazon S3 bucket:

**s3ssl://amzn-s3-demo-bucket/filler-videos/main/oceanwaves.mp4** and

**s3ssl://amzn-s3-demo-bucket/filler-videos/redundant/oceanwaves.mp4**

# Channel input—MediaConnect push input
<a name="input-mediaconnect-push"></a>

To verify that the input is set up correctly, look at the **MediaConnect flows** section. It shows the ARNs of the AWS Elemental MediaConnect flows that are the source for this input. These ARNs were automatically generated when you created the input:
+ If the channel is set up as a standard channel, two ARNs are generated.
+ If the channel is set up as a single-pipeline channel, one ARN is generated. 

For example:

**arn:aws:mediaconnect:us-west-1:111122223333:flow:1bgf67:sports-event-A** and

**arn:aws:mediaconnect:us-west-1:111122223333:flow:9pmlk76:sports-event-B**

# Channel input—MediaConnect Router input
<a name="input-mediaconnect-router"></a>

To verify that the input is set up and ready to use, look at the **state ** section. It should say detached if it's available to be used on a channel.

# Channel input—MP4 pull input
<a name="input-mp4-pull"></a>

To verify that the input is set up correctly, look at the **Input destinations** section. It shows the locations of the source video. You specified these locations when you created the input:
+ If the channel is set up as a standard channel, you specified two locations.
+ If the channel is set up as a single-pipeline channel, you specified one. 

The format of the location depends on the type of upstream system:
+ For an upstream system that uses HTTP or HTTPS, the location is an HTTP or HTTPS URL. For example:

  **https://203.0.113.31/filler-videos/oceanwaves.mp4**

  **https://203.0.113.52/filler-videos/oceanwaves.mp4**
+ For a file that is stored on Amazon S3, the location is the bucket name and object for the file. For example:

  **s3ssl://amzn-s3-demo-bucket/filler-videos/main/oceanwaves.mp4**

  **s3ssl://amzn-s3-demo-bucket/filler-videos/redundant/oceanwaves.mp4**

# Channel input—RTMP pull input
<a name="input-rtmp-pull"></a>

To verify that the input is set up correctly, look at the **Input destinations** section. It shows the locations of the source video. You specified these locations when you created the input:
+ If the channel is set up as a standard channel, you specified two locations. 
+ If the channel is set up as a single-pipeline channel, you specified one. 

For example:

**rtmp://203.0.113.13:1935/live/curling/**

**rtmp://198.51.100.54:1935/live/curling/**

# Channel input—RTMP push input
<a name="input-rtmp-push"></a>

Follow these guidelines to verify that the input is set up correctly.

**To verify the setup of the input**

1. Look at the **Input destinations** section. It shows the two locations on MediaLive that the upstream system will push the source to when the channel is running. These locations were automatically generated when you created the input: 
   + If the channel is set up as a standard channel, two locations are generated. 
   + If the channel is set up as a single-pipeline channel, one location is generated. 

   Each location consists of an address portion that was automatically generated, appended by a folder that you specified when you created the input. 

   For example, for an RTMP Public push input:

   **rtmp://198.51.100.99:1935/live/curling**

   **rtmp://192.0.2.18:1935/live/curling**

   For example, for an RTMP VPC push input:

   **rtmp://10.12.30.44:1935/live/curling**

   **rtmp://10.99.39.15:1935/live/curling**

1. Look again at the **Input destinations** section. 
   + If the section has an **Input security group** with a number beside it, then the input is an RTMP Public input that has a MediaLive security group. The input is correctly set up and you can continue.
   + If the section has an **Input security group** without a number beside it, then the input is an RTMP Public input that is missing a MediaLive input security group. This input isn't correctly set up. Typically, this situation occurs if, for example, you have input A attached to input security group B and then you delete B. Input A is no longer useable. You must recreate the input and attach an input security group to it before you can associate it with a channel that you are creating. 
   + If the section doesn't have an **Input security group**, then the input is an RTMP VPC push input. The input is correctly set up and you can continue.

# Channel input—RTP push input
<a name="input-rtp-push"></a>

Follow these guidelines to verify that the input is set up correctly.

**To verify the setup of the input**

1. Look at the **Input destinations** section. It shows the two locations on MediaLive that the upstream system will push the source to when the channel is running. These locations were automatically generated when you created the input:
   + If the channel is set up as a standard channel, two locations are generated. 
   + If the channel is set up as a single-pipeline channel, one location is generated. 

   For example, for an RTP Public input:

   **rtp://198.51.100.99:5000**

   **rtp://192.0.2.18:5000**

   For example, for an RTP VPC input:

   **rtp://10.12.30.44:5000**

   **rtp://10.99.39.15:5000**

1. Look again at the **Input destinations** section. 
   + If the section has an **Input security group** with a number beside it, then the input is an RTP Public input that has a MediaLive security group. The input is correctly set up and you can continue.
   + If the section has an **Input security group** without a number beside it, then the input is an RTP Public input that is missing a MediaLive input security group. This input isn't correctly set up. Typically, this situation occurs if, for example, you have input A attached to input security group B and then you delete B. Input A is no longer useable. You must recreate the input and attach an input security group to it before you can associate it with a channel that you are creating. 
   + If the section doesn't have an **Input security group**, then the input is an RTP VPC input. The input is correctly set up and you can continue.

# Channel input—SMPTE 2110 input
<a name="input-s2110-pull"></a>

To verify that the input is set up correctly, look at the **SMPTE 2110 Receiver Group** section. It shows information from the SDP files that you specified when you created the input. For example:
+ **Video SDP: http://172.18.8.19/curling\$1video.sdp, Media index: 2**
+ **Audio SDPs: http://172.18.8.19/curling\$1audio\$11.sdp, Media index: 0**
  + **http://172.18.8.19/curling\$1audio\$12.sdp, Media index: 0**
  + **http://172.18.8.19/curling\$1audio\$12.sdp, Media index: 1**
+ **Ancillary SDPs: http://172.18.8.19/curling\$1ancill.sdp, Media index: 0**

  **Ancillary SDPs: http://172.18.8.19/curling\$1ancill.sdp, Media index: 1**

# Channel input—SRT caller input
<a name="input-srt-pull"></a>

To verify that the input is set up correctly, look at the **SRT caller settings** section. It shows the locations of the source video. This is the locations of the SRT listener. You specified these locations when you created the input:
+ If the channel is set up as a standard channel, you specified two locations. 
+ If the channel is set up as a single-pipeline channel, you specified one. 

For example, the information for one location, when source encryption is disabled: 
+ **SRT listener address: 192.0.2.120** 
+ **SRT listener port: 7001**
+ **Stream ID: mystream**

# Channel input—SRT listener input
<a name="input-srt-push"></a>

Follow these guidelines to verify that the input is set up correctly.

**To verify the setup of the input**

1. Look at the **Input destinations** section. It shows the locations on MediaLive that the upstream system will push the source to when the channel is running. These locations were automatically generated when you created the input. The port is always 5050 for SRT listener inputs:
   + If the channel is set up as a standard channel, MediaLive allocated two IP addresses. 
   + If the channel is set up as a single-pipeline channel, MediaLive allocated one IP address.

   For example:

   **srt://54.123.45.67:5050**

   **srt://54.123.45.68:5050**

1. Look at the **SRT listener settings** section. It shows the configuration you specified when you created the input:
   + **Minimum latency**: The latency value in milliseconds (120 to 15000).
   + **Stream ID**: The stream ID if you specified one.
   + **Decryption**: The encryption algorithm (AES 128, AES 192, or AES 256) and the passphrase secret ARN.

1. Look again at the **Input destinations** section. 
   + The section must have an **Input security group** with a number beside it. This security group controls which IP addresses are allowed to push content to this input. If the section doesn't have an input security group, the input isn't correctly set up.

# Complete the settings for each input
<a name="creating-a-channel-step2a"></a>

As soon as you attach the input on the **Attach input** sections, the **Input attachment** section closes and the **General input settings** section appears for that input. You must complete these fields to configure the input:
+ Configure the input connection.
+ Identify the video, audio, and captions to extract from the input.

**To configure the input**

1. Complete the fields as required. See the topics links below. For details about a field, choose the **Info** link next to the field on the MediaLive console:
   + For most fields, the default values are sufficient. 
   + However, if you want to include audio and captions in the outputs, you must complete the **Audio selectors** and **Caption selectors** sections; the defaults do not specify enough information.

1. Complete the following field in the **General settings** section in the navigation pane:
   + **Global configuration **- **Input loss behavior**. These fields configure how the channel behaves when it stops receiving content from any input. For more details, see [Handling loss of video input](feature-input-loss.md). These fields apply to all inputs, therefore you only need to set them once for the entire channel.

1. If you are setting up the channel with multiple inputs, add more inputs to the channel. For guidelines about implementing input switching, see [Setting up for input switching](scheduled-input-switching.md).

1. When ready, go to the [next step](creating-a-channel-step3.md).

**Topics**
+ [Input settings—Network input settings](input-network-input.md)
+ [Input settings—Other settings](input-other-settings.md)
+ [Input settings—Video selector](input-video-selector.md)
+ [Input settings—Audio selectors](input-audio-selectors.md)
+ [Input settings—Caption selectors](input-caption-selectors.md)

# Input settings—Network input settings
<a name="input-network-input"></a>

The fields in the Network input settings section apply only to HLS inputs and multicast inputs. 
+ For HLS inputs, all the fields except **Multicast input settings** apply.
+ For multicast inputs, only the **Multicast input settings** applies.

# Input settings—Other settings
<a name="input-other-settings"></a>

The fields that are not within the **Network input settings** section apply to all inputs. For details about a field, choose the **Info** link next to the field.

# Input settings—Video selector
<a name="input-video-selector"></a>

This section lets you identify the video to extract from the input, and lets you enable the optional color space feature. 

1. In **Video selector**, choose **Video selector**. More fields appear. 

1. Complete **Selector settings** as specified in the table after this procedure. 

   Keep in mind that there is no button to add more video selectors because you can extract only one video asset from the input.

1. For all input types, complete **Color space** and **Color space usage**, but only if you want to configure the handling of color space. For more information, see [Handling complex color space conversions](color-space.md).

**Determining whether you need to create a video selector**

When you planned the channel, you should have [identified the video](channel-map-output-source.md) that you need to extract from this input. 

You must now determine if you need to create a *video selector*, to identify the specific asset to extract from the input. Some input types require selectors, some input types don't require them.

The following table specifies whether you need to create a video selector. 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/medialive/latest/ug/input-video-selector.html)

# Input settings—Audio selectors
<a name="input-audio-selectors"></a>

If you want to extract audio from the input, this section is required. You create one or more audio selectors to identify the audio asset to extract. Typically, you identify different languages from the input, but you could also extract different audio codecs (such as AAC and Dolby).

You can create a maximum of 20 audio selectors in one channel.

**To identify the audio to extract**

1. Decide if you need to create any audio selectors. When you planned the channel, you should have [identified the audio assets](channel-map-output-source.md) that you need to extract from this input. 

   The following table specifies whether you need to create an audio selector in order to extract that audio. In the table, find your input type and read across the row for guidance.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/medialive/latest/ug/input-audio-selectors.html)

   If the input contains more than one audio asset and you don't create a selector, MediaLive selects the first audio it encounters.

1. Choose **Add audio selector** once for each audio that you want to extract from the input.

   If you are creating a channel with multiple inputs, then you must extract the same audio languages from every input. For example, you must extract English and Spanish audio from every input. 

1. In **Audio selector name**, enter a name that describes the audio that you are extracting.

   If you are creating a channel with multiple inputs, then you must assign the identical name to the selector in every input. For example, create a selector called **audio-english** in every input, and a selector called **audio-spanish** in every input.

1. In **Selector Settings**, choose the appropriate type of selector, then complete the field that appears.
   + If you choose **Audio track selection**, then choose **Add tracks** to add a selector for each track you want to extract. 
   + If you choose **Audio pid selection**, enter the PID for the audio asset.
   + If you choose **Audio language selection**, enter the three-letter ISO code for the language of the audio asset to extract. Then complete **Language selection policy**. 

# Input settings—Caption selectors
<a name="input-caption-selectors"></a>

If you want to extract captions from the input or to specify an external file as the source of the captions, this section is required. You create one or more captions selectors to identify the captions to extract. Typically, you identify different languages in each selector, but you could also identify different captions formats. 

For each captions item that you want to extract or include, choose the **Add captions** selector. 

**To identify the caption assets to extract**

1. Choose **Add caption selector** once for each captions asset that you want to extract from the input.

   If you are creating a channel with multiple inputs, then you must extract the same captions languages from every input. For example, you must extract English and Spanish captions from every input. 

1. In **Caption selector name**, enter a name that describes the captions that you are extracting.

   If you are creating a channel with multiple inputs, then you must assign the identical name to the selector in every input. For example, create a selector called **captions-english** in every input, and a selector called **captions-spanish** in every input.

1. In **Selector Settings**, select the format of the captions asset to extract. Then complete the fields that apply to that format.

For more information about setting up an input for captions, see [Including captions in a channel](captions.md), specifically [Create captions selectors in the inputs](identify-captions-in-the-input.md).

# Complete general settings
<a name="creating-a-channel-step3"></a>

The **General settings** section in the **Create channel** page lets you configure global settings and global features:
+ Global *settings* set behavior that applies to all inputs or all outputs in the channel. You can't configure the behavior differently for different inputs or outputs.
+ Global *features* set up features that are optional but that apply globally to all outputs if they are enabled.

**To complete the general settings**

1. On the **Create channel** page, choose **General settings**.

1. In the **General channel settings** section, set the global settings and optional features as needed. For information about each setting or feature, see the topics at the end of this procedure. 

1. When you have finished working with these fields, go to the [next step](creating-a-channel-step4.md).

## Avail blanking
<a name="avail-blanking"></a>

Optional feature. You can set this to blank out the output video during ad avails. For more information, see [Processing SCTE 35 messages](scte-35-message-processing.md).

## Avail configuration
<a name="scte35-handling"></a>

Optional feature. You can modify the way that MediaLive handles SCTE-35 ad avail messages, or you can keep the default behavior. For information about the default behavior and how to modify that behavior, see [Processing SCTE 35 messages](scte-35-message-processing.md).

## Blackout slate
<a name="blackout-slate"></a>

Optional feature. You can black out the output video as specified by program metadata, if that metadata is present in the input. For more information, see [Processing SCTE 35 messages](scte-35-message-processing.md).

## Feature activations
<a name="channel-gen-feature-activ"></a>

Optional features. You can enable the input prepare feature for input switching. For more information, see [Preparing inputs in AWS Elemental MediaLive](feature-prepare-input.md). 

## Global configuration
<a name="global-channel-settings"></a>

Global configuration settings. In this section, complete the first three fields as appropriate. For details about each field, choose the **Info** link next to the field. 

## Global configuration – input loss behavior
<a name="input-loss-behavior"></a>

Global configuration settings. The **Input Loss Behavior** fields control how MediaLive handles input loss. You can customize the handling. For more information, see [Handling loss of video input](feature-input-loss.md).

## Motion graphics configuration
<a name="channel-config-mgi"></a>

Optional feature. You can enable the motion graphics overlay feature. For more information, see [Working with motion graphics overlays](feature-mgi.md). 

## Nielsen configuration
<a name="nielsen-configuration"></a>

Optional feature. You can configure a MediaLive channel to convert Nielsen watermarks to ID3 metadata. For more information see [Converting Nielsen watermarks to ID3](feature-nielsen-id3.md).

## Timecode configuration
<a name="timecode-config"></a>

Global configuration settings. This section lets you specify the timecode for the output. For more information about configuring the timecode, see [Working with timecodes and timestamps](timecode.md).

## Logging
<a name="channel-logging"></a>

Optional feature. You can enable logging of activity on this individual channel. For detailed information about this feature, see [Monitoring a channel using Amazon CloudWatch Logs](monitoring-with-logs.md).

To enable logging, choose a log level other than **DISABLED**. The levels are listed from least to most verbose. 

To disable logging, choose **DISABLED**.

# Configure outputs
<a name="creating-a-channel-step4"></a>

The **Outputs **section lets you create output groups in the channel. The **Outputs** section provides access to the following content:
+ The output group, which contains settings that configure the output packages and output containers in the channel.
+ One or more outputs. Outputs are containers for video, audio, and captions output encodes. 
+ The individual output encodes.

For information about setting up the contents of an output group, see the following sections:
+ [Setup: Creating output groups and outputs](medialive-outputs.md)
+ [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)

After you have set up all the output groups, you will be ready to [save the channel](creating-a-channel-step9.md).

# Save the channel
<a name="creating-a-channel-step9"></a>

You can save the channel only after you have configured and created everything that you need. 

To save (create) the channel, choose **Create channel** in the navigation pane. 

As soon as you choose **Create channel**, MediaLive validates the configuration of the channel and displays messages for any errors. You can't save a draft of the channel, and you can't save a channel that contains error messages.

To find your newly created channel, in the navigation pane, choose **Channel**. (The navigation pane might be collapsed. To open it, choose the menu icon in the upper-left corner of the console).

The **Channel** pane appears and shows the newly created channel in the list of channels. The state changes to **Creating**, and then to **Ready**.

# Next step
<a name="create-channel-nextstep"></a>

For your next step in creating a MediaLive channel, we recommend that you read the chapter about the channel schedule. It is likely that there are features of the schedule that you want to use. For more information, see [Creating an AWS Elemental MediaLive schedule](working-with-schedule.md).

For example, if you have attached more than one input to the channel, you must implement input switching in order to move from one input to another. Input switching uses schedule actions. See [Setting up for input switching](scheduled-input-switching.md).

After you have set up the schedule, you can [start the channel](starting-stopping-deleting-a-channel.md).