

# Resources: Profiles
<a name="resource_profile"></a>

A *profile *is a pre-defined collection of values for most of the data in an AWS Elemental Live channel. When you use AWS Elemental Conductor Live to create a channel, you associate it with a profile in order to set up all that data.

In Conductor Live, profiles are required. To create a channel, you must use a profile.

This section describes how to use Conductor Live to create, modify or delete a profile.

**Topics**
+ [Creating a profile from scratch](creating-a-profile-from-scratch.md)
+ [Working with channel parameters in a profile](creating-a-profile-with-channel-parameters.md)
+ [Creating a profile for an SPTS channel](step-b-create-a-profile-for-mpts-channels.md)
+ [Creating a profile by duplicating an existing profile](creating-a-profile-by-duplicating.md)
+ [Creating a profile by uploading XML](creating-a-profile-by-uploading-xml.md)
+ [Modifying a profile](modifying-a-profile.md)
+ [Viewing the contents of a profile](viewing-the-contents-of-a-profile.md)
+ [Deleting a profile](deleting-a-profile.md)

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

**Topics**
+ [Design the profile](#crud-profile-create-design)
+ [Create the profile](#crud-profile-create)

## Design the profile
<a name="crud-profile-create-design"></a>

When you create an AWS Elemental Live profile, you must enter a value for every field that you want to be useable by the channel. 

A created profile will contain all the fields where you entered a value (or a checkmark, for example) or where you set up a [profile parameter](creating-a-profile-with-channel-parameters.md). All the other fields are deleted from the profile. The following rules apply:
+ You won't be able to add fields from the profile back in.
+ You won't be able to delete fields that are in the profile.
+ You won't be able to modify or specify a value for any fields, except in fields that have profile parameters.
+ You won't be able to leave a profile parameter empty.

Therefore, you must plan the profile fields carefully:
+ Some fields are required. You must either provide a value, or accept the default. 

  If you provide a value, it must be the permanent value, or you must set it up as a profile parameter (if that's possible).

  If you don't like the default, make sure that you change it, because you won't be able to change it when you use the profile to create the channel.
+ Some fields are optional. If you want to include the field, you must either provide a value or set up the field as a profile parameter (if that's possible).
+ Pay particular attention to the output groups section. Make sure that you include all the output groups, outputs within those groups, and streams (encodes) within all the outputs. 

  You won't be able to add or delete output groups, outputs, or streams. Therefore, for example, make sure that you create all the audio encodes that you need in a specific output. For example, if you know that you will sometimes need two audio encodes and sometimes three audio encodes, you must create two profiles.

## Create the profile
<a name="crud-profile-create"></a>

1. On the AWS Elemental Conductor Live main menu, choose **Profiles**. 

1. On the **Profiles** page, choose **New Profile**. The **New Profile** page appears.

1. Complete the profile. You can accept all the defaults, but you must at least complete the following: 
   + **Name**: Enter a profile name.
   + **Restart on Failure**: Check to restart the channel automatically if it fails (recommended).
   + **Add Input**: Provide information for at least one video input: Specify the type , and the source location.

     Note the following:
     + If you do not want to specify the input source in the profile, you can specify a “channel parameter” as a placeholder that you replace with real information when you create the channel. See [Working with channel parameters in a profile](creating-a-profile-with-channel-parameters.md).
     + If your input is an SDI Direct Input, see [Use case: Using SDI direct input in a profile and channel](using-sdi-direct-input-in-a-profile-and-channel.md) for important information.
     + If your input is an SDI Router Input, see [Use case: Using SDI router input in a profile and channel](using-sdi-router-input-in-a-profile-and-channel.md) for important information.
   + **Output Group**: A channel must always contain at least one output group. Set up the output group with all its contents and features. 
   + **Output **and **Stream**: A channel must always contain at least one output and one stream in each output group that you want to create. Each output must use one stream.

1. Choose **Save** to save the profile. The profile appears in the list on the **Profiles** page.

# Working with channel parameters in a profile
<a name="creating-a-profile-with-channel-parameters"></a>

You can create an AWS Elemental Live profile in which some fields have values that are variable rather than absolute. Then when you create a channel using that profile, you assign real values to those fields. In AWS Elemental Conductor Live, these variable fields are called *channel parameters*. 

Setting up a profile in this way makes the profile more flexible. You can use it with multiple channels simply by entering different values in the channel parameters.

Fields that can be set up with parameters have a blue background in the web interface. For a list of these fields, go to the AWS Elemental User Community and search for *supported channel parameters*. You will definitely need this list if you create profiles using the REST API.

**Topics**
+ [Rules for channel parameters](create-profile-rules.md)
+ [The procedure](create-profile-procedure.md)
+ [Planning ahead for bulk changes](profile-channel-params-plan-ahead.md)
+ [Use case: Using SDI direct input in a profile and channel](using-sdi-direct-input-in-a-profile-and-channel.md)
+ [Use case: Using SDI router input in a profile and channel](using-sdi-router-input-in-a-profile-and-channel.md)

# Rules for channel parameters
<a name="create-profile-rules"></a>

There are two rules associated with channel parameters in the profile:
+ Generally, if a field is blue on the profile, setting up as a channel parameter is optional. On the profile, you could also enter a permanent value or no value.

  There are two exceptions to this rule: the SDI Direct Input field and the SDI Router Input field must be set up as channel parameters. See [Use case: Using SDI direct input in a profile and channel](using-sdi-direct-input-in-a-profile-and-channel.md) and [Use case: Using SDI router input in a profile and channel](using-sdi-router-input-in-a-profile-and-channel.md).
+ You shouldn't set up non-blue fields with a parameter. If you try to do so, you receive an error when you save the profile.

**Warning**  
It is possible to create profiles with parameters in fields that aren't blue. But doing so can cause problems when you create channels from these profiles or when you import profiles after upgrades. 

# The procedure
<a name="create-profile-procedure"></a>

Follow this procedure to set up a blue field with a channel parameter. This procedure assumes that you know how to create a [profile](creating-a-profile-from-scratch.md) and a [channel](creating-a-channel.md).

1. Position your cursor in a blue field. The **Parameters** panel opens on the page.

1. For the value of the field, enter a name for the parameter in double curly brackets:

   **\$1\$1my\$1parameter\$1\$1**

   You can set up the field as a mixture of hardcoded value and parameter value. For example:

   **udp://10.20.110.106:\$1\$1port\$1\$1**

   In the above example, you've created a parameter called **port**. 

1. As soon as you enter a correctly formatted name, the parameter appears in the **Parameters** panel.

1. In the **Parameters** panel, enter a validation value for the parameter. The validation value is a sample value that is correctly formatted. 

   When you create a channel using this profile, you will enter a real value for 

   For example, assume that the field always takes a URI and that the protocol must be RTP or UDP. A sample value could look like any of the following:

   **rtp://hostname.com:1234**

   **rtp://1.2.3.4.com:1234**

   **udp://hostname.com:1234**

   Note the following about these sample validation values: 
   + **rtp://** is a real value and is correctly formatted.
   + **hostname.com** is not a real value, but it is correctly formatted. 
   + **1234** is not a real value, but it is correctly formatted. 

1. When you save the profile, Elemental Live verifies that the validation value you've entered is valid.

# Planning ahead for bulk changes
<a name="profile-channel-params-plan-ahead"></a>

When you create a channel parameter that you might use in another profile, note its name carefully so you can enter the exact same name in the other profile. 

This careful planning will help if you ever want to make a bulk change to switch several channels to a different profile ([Changing the profile used by multiple channels](changing-the-profile-used-by-multiple-channels.md)). 

**Example of good planning**

You create profile\$1A that has one channel parameter called \$1\$1input\$1network\$1location\$1\$1. You create profile\$1B that has one channel parameter called \$1\$1input\$1network\$1location\$1\$1. You assign each profile to one channel: channel\$11 and channel\$12. You later want to use the [task feature](changing-the-profile-used-by-multiple-channels.md) to change the profile of channel\$11 and channel\$12 to use profile\$1C. 

The two profiles have use the same channel parameter name for the same field. You will be able to switch both channels to profile C without a problem. 

**Example of bad planning**

This example is the same as the previous example except that you name the channel parameters differently:
+ Profile\$1A uses the name \$1\$1input\$1network\$1location\$1\$1. 
+ Profile\$1B uses the name \$1\$1input\$1nw\$1location\$1\$1 for the channel parameter for the same field.

You won't be able to change the profiles without making adjustments.

# Use case: Using SDI direct input in a profile and channel
<a name="using-sdi-direct-input-in-a-profile-and-channel"></a>

You might want to specify an SDI direct input in your profile and channel. When you choose this type of input, two supplementary fields appear—the **Device ID** field and the optional **Device Settings**. 

The **Device ID** field must be set up as a channel parameter. You can't enter a real ID.

To set up this field, follow this procedure. This procedure assumes that you have already read [Working with channel parameters in a profile](creating-a-profile-with-channel-parameters.md).

1. When you create the profile, complete the following fields in this way:
   + **Input Type**: Choose **SDI Direct Input**.
   + **Device ID**: For the value, create a channel parameter as described in the section [Working with channel parameters in a profile](creating-a-profile-with-channel-parameters.md).

     Assign any name, but do not create a name consisting only of a number. For example, create a channel parameter with the name **SDI\$1direct\$1input**.

     In the **Parameters** panel, leave the validation value empty. A validation value is not required for the **Device ID **field.
   + **Device Settings**: Always leave this field empty.

1. When you create the channel, complete the following fields in this way:
   + **Node**: Choose a node that has an SDI direct input attached to it.
   + **SDI Direct Input Device Id**: Note that the field name appears with this label. It doesn't appear with the label **Device ID**. 

     From the list, choose one of the SDI interfaces that is attached to the node that you chose. 
   + **Device Settings**: Choose a value, if one is applicable to this input.

# Use case: Using SDI router input in a profile and channel
<a name="using-sdi-router-input-in-a-profile-and-channel"></a>

You might want to specify an SDI router input in your profile and channel. This type of input goes through a router, and is only applicable if there is at least one node in the cluster that is configured with a router. When you choose this type of input, a supplementary field appears—the **Router Input ID** field. 

The **Router Input ID** field must be set up as a channel parameter. You can't enter a real ID. 

To set up this field, follow this procedure. This procedure assumes that you have already read [Working with channel parameters in a profile](creating-a-profile-with-channel-parameters.md).

1. When you create the profile, complete the following fields in this way:
   + **Input Type**: Choose **SDI Router Input**.
   + **Router Input ID**: For the value, create a channel parameter as described in the section [Working with channel parameters in a profile](creating-a-profile-with-channel-parameters.md).

     Assign any name, but do not create a name consisting only of a number. For example, create a channel parameter with the name **SDI\$1router\$1ID**.

     In the **Parameters** panel, enter a validation value.

1. When you create the channel, complete the following fields in this way:
   + **Node**: Choose a node that has an SDI router attached to it.
   + **SDI Router Input Router Input ID**: Note that the field name appears with this label. It doesn't appear with the label **Router Input ID**. 

     From the list, choose one of the inputs on the router. This router is attached to the node that you chose. 

# Creating a profile for an SPTS channel
<a name="step-b-create-a-profile-for-mpts-channels"></a>

An SPTS channel is a channel that you plan to use in an MPTS that you will run on AWS Elemental Statmux. 

A profile for an SPTS channel must include a UDP/TS output group that has one output that is set up for statmux. The UDP/TS output group can also include non-statmux outputs. The profile itself can include other types of output groups. 

1. On the AWS Elemental Conductor Live main menu, choose **Profiles**. On the **Profiles** page, choose **New Profile** (on the top right corner of the page). 

1. Create the profile in the usual way for everything except the UDP/TS output group.

1. To set up the UDP/TS output group, scroll down to **Output Groups** and choose the **UDP/TS** tab.

1. In the **New Output** section, choose the **Add Output** button. 

1. For **MPTS membership**, choose **Remote**. This output section changes to display different fields. Complete the fields as follows:
   + Note that the destination fields are removed because you set the destination in the MPTS, not in the channel profile.
   + Note that the **PAT** and **PMT** fields are enabled because Elemental Statmux always creates these tables. You can set the interval to specify how often each table is inserted in the transport stream.
   + Set the **NIT** and **TDT** fields if you want to create these tables for this program.
   + Set the **SDT** fields to specify how you want Elemental Statmux to handle the program in this table. There is an option to not include this program in the SDT.

1. In the **Streams** section, in the **Video** section, choose **Advanced** to display more fields. Set the following field:

   **Rate Control Mode**: Set to **Statmux**. This value indicates that the muxer will control the rate control for the output. 

   Note that when you set this value, the **Bitrate**, **Max Bitrate**, and **Min Bitrate** fields don't apply, so these fields become disabled.

1. Choose **Save**. 

The profile that you created is listed on the **Profiles** page:
+ Conductor Live assigns a unique numerical ID to the profile.
+ Under the **Channels** column, the profile displays **0 0**. This indicates that the profile is not yet being used by any channels.

# Creating a profile by duplicating an existing profile
<a name="creating-a-profile-by-duplicating"></a>

You can create an AWS Elemental Live profile by duplicating an existing profile and making any changes that you want.

**To duplicate a profile**

1. On the AWS Elemental Conductor Live main menu, choose **Profiles**.

1. In the list of profiles, find the profile that you want to duplicate. Choose the **Duplicate** icon.

   The **Duplicate Profile** page appears. It shows the values from the source profile, including any channel parameters.

1. Change any fields as needed.

   You must enter validation values for all the parameters that you use. For more information, see [Working with channel parameters in a profile](creating-a-profile-with-channel-parameters.md).

1. Choose **Save**.

# Creating a profile by uploading XML
<a name="creating-a-profile-by-uploading-xml"></a>

You can create an AWS Elemental Live profile using the XML from an existing profile that is up to two current versions back from the current AWS Elemental Conductor Live version. When the profile is uploaded, the Conductor Live system migrates the profile to the current version while also maintaining field selections and values.

1. If you haven’t already done so, download the existing profile and save it. 
   + On the Conductor Live main menu, choose **Profiles**.
   + In the list of profiles, find the profile that you want to duplicate. Choose the **Download** icon. Conductor Live copies the profile to your local computer. The profile is an XML file.

1. On the **Profiles** page, choose **New Profile**.

1. Choose the **Upload XML** button. Choose **Browse** and navigate to the downloads folder on your computer. Open the XML file, then choose **Apply** to load the XML in the **New Profile** page. 

1. Update fields as required and save the profile.

# Modifying a profile
<a name="modifying-a-profile"></a>

You can't modify a AWS Elemental Conductor Live profile after it has been created. This rule ensures the dependability of profiles: a channel that uses profile\$1A and that was run two weeks ago has the same profile data as a channel that uses profile\$1A that was run yesterday.

If you want to modify a profile so that you do not have to recreate it from scratch, take the following steps.

**To modify a profile**

1. Duplicate the profile. Change values as desired and then save the profile.

1. Take the appropriate action:
   + If you duplicated the profile in order to fix errors in a profile you only just created, delete the incorrect profile.
   + If you duplicated a profile that is being used by one or more channels, remember to associate the channels with the new profile. Then delete the unused profile. 
     + To change the association for only one channel, see [Modifying a channel](modifying-a-channel.md).
     + To change the association for several channels that use this profile, see [Changing the profile used by multiple channels](changing-the-profile-used-by-multiple-channels.md).

# Viewing the contents of a profile
<a name="viewing-the-contents-of-a-profile"></a>

To view the contents of an AWS Elemental Live profile, choose **Show** beside the profile name. An abbreviated version of the Profile page appears: it shows all the fields that you explicitly completed, plus other key fields.

# Deleting a profile
<a name="deleting-a-profile"></a>

**To delete a profile**

1. Verify that the profile is not being used: 
   + On the AWS Elemental Conductor Live main menu, choose **Profiles**. Look at the **Channels** column for this profile. 
   + If it specifies a number, display the **Channels** page and filter the list (if necessary) to show only channels that use this profile.
   + Modify the channels to use a different profile.

1. Go back to the **Profiles** page and choose **Delete** next to the profile name. Then choose **OK**.