

# Including captions in a channel
<a name="captions"></a>

You can set up the MediaLive channel to extract captions when it ingests the source, and to include those captions in the output in either the same or a different format. You can include several captions in the output. For example, you can include captions for several languages. You can take a source captions asset and convert it to one format in one output and to another format in a different output. 

You perform the setup for captions in your AWS Elemental MediaLive channel. 

By default, AWS Elemental MediaLive does not ingest any captions (not even captionsa that are embedded in the video). You must explicitly identify the captions to ingest and the captions to output.

**Note**  
The information in this captions section assumes that you are familiar with the general steps for creating a channel, as described in [Creating a channel from scratch](creating-channel-scratch.md). It also assumes that you have started creating a channel, including associating an input with the channel.

**Topics**
+ [Captions features supported in a channel](captions-supported-features.md)
+ [Typical scenarios for handling captions](typical-scenarios.md)
+ [Create captions selectors in the inputs](identify-captions-in-the-input.md)
+ [Plan captions for the outputs](planning-captions-in-the-outputs.md)
+ [Match formats to categories](match-categories-captions.md)
+ [Create captions encodes](create-captions-encodes.md)
+ [Examples of handling captions in MediaLive](examples.md)

# Captions features supported in a channel
<a name="captions-supported-features"></a>

This section provides information about the different features of captions that MediaLive supports.

**Topics**
+ [Captions formats supported in a channel](supported-formats.md)
+ [Formats supported in different types of outputs](supported-format-outputs.md)
+ [Constraints for using OCR conversion](captions-languages-ocr.md)
+ [Support for multiple captions languages](support-for-languages.md)
+ [Support for font styles in output captions](support-for-font-styles-in-output-captions.md)

# Captions formats supported in a channel
<a name="supported-formats"></a>

MediaLive supports specific formats in inputs and specific formats in outputs. See [General information about supported captions formats](general-information-supported-formats.md) for a table that lists the supported captions formats, with a reference to the standard that defines that format. The table specifies whether the format is supported as input or output or both. 

# Formats supported in different types of outputs
<a name="supported-format-outputs"></a>

There are several factors that control your ability to include captions of a specific format in the outputs in a MediaLive channel:
+ **The type of input container** – A given input container can contain captions in some formats and not in others.
+ **The format of the input captions** – A given format of captions can be converted to some formats and not to others.
+ **The type of output containers** – A given output container supports some captions formats and not others. 

For example, assume that your input container is an MP4 container and your output is HLS, and that you want to include WebVTT captions in the HLS output. You can implement this use case only if the MP4 container holds 608 embedded captions. You can't implement it if, for example, the MP4 container holds Ancillary captions. 

For more information about all the supported combinations of input container, input format, and output container, see [Captions supported in MediaLive](supported-captions.md).

# Constraints for using OCR conversion
<a name="captions-languages-ocr"></a>

MediaLive uses OCR (optical character recognition) technology for the following scenarios:
+ The input captions are DVB-Sub or SCTE-27
+ The output captions are WebVTT format

**Constraint in supported languages**

OCR conversion uses language libraries. Language libraries are a critical component of conversion. They speed up conversion because the tool can check character strings against a dictionary, instead of recognizing words letter by letter. You must specify the language of a captions source so that MediaLive can choose the correct library. If you choose a language that doesn’t match the language of the captions, conversion accuracy will be poor. 

MediaLive currently includes libraries for six languages, which means that MediaLive can perform an OCR conversion only with the following source languages:
+ Dutch
+ English
+ French
+ German
+ Portuguese
+ Spanish

**Constraint in number of languages in one input**

OCR conversion uses more processing resources than other captions conversions. Therefore, in each input, you can create a maximum of three captions selectors that will use OCR conversion. 

These rules apply:
+ A selector uses OCR conversion if the specified format is DVB-Sub or SCTE-27, and at least one output encode that uses the selector is a [WebVTT encode](output-sidecar-and-smptett-mss.md). 
+ A DVB-Sub or SCTE-27 selector doesn't use OCR conversion (and doesn't count towards the limit) if, for example, the selector is used only in SMPTE-TT encodes.
+ If the selector is used in more than one WebVTT encode (for example, in two output groups), the selector counts only once towards the limit.

# Support for multiple captions languages
<a name="support-for-languages"></a>

Some captions sources that MediaLive supports typically include multiple languages. You can include multiple languages in the output as follows.


| Source captions | Output captions | Result | 
| --- | --- | --- | 
| ARIB  | ARIB (which is the only option for ARIB sources) | This combination is performed as a passthrough. Therefore, all the languages that are in the input are included in the output. You can't remove any languages.  | 
| Embedded | Embedded | This combination is performed as a passthrough. Therefore, all the languages that are in the input are included in the output. You can't remove any of the languages. | 
| Embedded | Another format | You can specify which languages to extract and include in an output. | 
| DVB-Sub | Another format | If you have DVB-Sub source and want a different format in the output, you can specify the language to extract from the input and the language to include in an output. | 
| DVB-Sub | DVB-Sub | This combination is performed as a passthrough. Therefore, all the languages that are in the input are included in the output. You can't remove any languages.  | 
| Teletext | Teletext | This combination is performed as a passthrough. Therefore, all the languages that are in the input are included in the output. You can't remove any languages.In fact, the entire Teletext content is included in the output; you can't remove out any of the pages.  | 
| Teletext | Another format | You can specify the language to extract from the input and the language to include in an output. | 
| Any other combination |  | For all other sources, you always specify the language to extract from the input and the language to include in an output, regardless of the source format and output format. | 

# Support for font styles in output captions
<a name="support-for-font-styles-in-output-captions"></a>

Depending on the scenario, there are three possibilities for the font style for output captions in a MediaLive output.
+ You can specify the style that you want for fonts, including color, outline, and background color.
+ The font styles in the input are passed through.
+ The font styles are controlled by the downstream player.

The procedures later in this chapter describe how to set up font styles. You might set up the styling of the output captions on the [input side](identify-captions-in-the-input.md), on the [output side](captions-outputs-details-specific-formats.md), or on both sides.


|  Source captions  |  Output captions  |  Options for font style  | 
| --- | --- | --- | 
|  ARIB  |  ARIB  |  None. The font styles in the input are automatically passed through in the output.  | 
|  Any supported captions format  |  Burn-in  |  You can specify font styles in the output. If you don’t specify styles, the AWS Elemental MediaLive defaults are used.   | 
|  DVB-Sub  |  DVB-Sub  |  None. The font styles in the input are automatically passed through in the output.  | 
|  Any supported captions format  |  DVB-Sub  |  You can specify font styles in the output. If you don’t specify styles, the AWS Elemental MediaLive defaults are used.   | 
| An Embedded Combination (Embedded, Embedded\$1SCTE-20, SCTE-20\$1Embedded) | EBU-TT-D | You can specify some of the style information and take some of the information from the input captions. Or you can set up the captions with no style data. | 
| Teletext | EBU-TT-D | You can specify some of the style information and take some of the information from the input captions. Or you can set up the captions with no style data. | 
|  Teletext  |  Teletext  |  None. The font styles in the input are automatically passed through in the output.  | 
|  An Embedded Combination (Embedded, Embedded\$1SCTE-20, SCTE-20\$1Embedded)  |  TTML  |  You can set up to copy the font information from the source to the output. Or you can let the downstream player determine the font style.   | 
|  Teletext  |  TTML  |  You can set up to copy the font information from the source to the output. Or you can let the downstream player determine the font style.  | 
|  An Embedded Combination (Embedded, Embedded\$1SCTE-20, SCTE-20\$1Embedded)  |  WebVTT  |  You can set up to pass through color and position style information from the source to the output. Or you can set up the captions with no style data.  | 
|  Teletext  |  WebVTT  |  You can set up to pass through color and position style information from the source to the output. Or you can set up the captions with no style data.  | 
|  Any Other  |  Any Other  |  No control: the font style is always determined by the downstream player.   | 

# Typical scenarios for handling captions
<a name="typical-scenarios"></a>

Following are some sample use cases for captions in MediaLive. The use cases are ordered from less to more complicated. They are intended to illustrate many of the capabilities of MediaLive.

**Topics**
+ [Use case A: One input format to one output and not converted](use-case-one-input-format-to-one-output-format-not-converted.md)
+ [Use case B: One input format converted to one different format in one output](use-case-one-input-format-to-different-output-formats.md)
+ [Use case C: One input format converted to different formats, one format for each output](use-case-one-input-format-to-several-output-formats.md)
+ [Use case D: One captions output shared by multiple video encodes](use-case-one-captions-output-multiple-video-encodes.md)

# Use case A: One input format to one output and not converted
<a name="use-case-one-input-format-to-one-output-format-not-converted"></a>

In this use case for including captions in a MediaLive output, the input is set up with one format of captions and two or more languages. Assume that you want to maintain the format in the output, and that you want to produce only one type of output and to include all the languages in that output.

For example, the input has embedded captions in English and French. You want to produce HLS output that includes embedded captions in both English and French.

![\[Diagram showing input captions in English and French, and output with embedded captions in both languages.\]](http://docs.aws.amazon.com/medialive/latest/ug/images/captions_INembed_OUTembed_hls.png)


# Use case B: One input format converted to one different format in one output
<a name="use-case-one-input-format-to-different-output-formats"></a>

In this use case for including captions in a MediaLive output, the input is set up with one format of captions and two or more languages. You want to convert the captions to a different format in the output. You want to produce only one type of output and include all the languages in that output.

For example, the input has embedded captions in German and French. You want to convert the captions to DVB-Sub and include these captions in both languages in a UDP output. 

![\[Diagram showing input captions converted to DVB-Sub format and included in UDP output.\]](http://docs.aws.amazon.com/medialive/latest/ug/images/captions_INembed_OUTdvb_udp.png)


# Use case C: One input format converted to different formats, one format for each output
<a name="use-case-one-input-format-to-several-output-formats"></a>

In this use case for including captions in a MediaLive output, the input is set up with one format of captions and two or more languages. Assume that you want to produce several different types of output, and that in each output you want to convert the captions to a different format but include all the languages.

For example, the input has Teletext captions in Czech and Polish. You want to produce a Microsoft Smooth output and an HLS output. In the Microsoft Smooth output, you want to convert both captions to TTML. In the HLS output, you want to convert both captions to WebVTT. 

![\[Flowchart showing input captions conversion to output captions for different streaming formats.\]](http://docs.aws.amazon.com/medialive/latest/ug/images/captions_INttext_OUT_OPmss_hls.png)


# Use case D: One captions output shared by multiple video encodes
<a name="use-case-one-captions-output-multiple-video-encodes"></a>

This use case for deals with including captions in an ABR workflow in MediaLive.

For example, assume that there are three video/audio media combinations: one for low-resolution video, one for medium, and one for high. Assume that there is one output captions asset (English and Spanish embedded) that you want to associate with all three video/audio media combinations.

![\[Diagram showing video/audio outputs at different resolutions and caption inputs/outputs in English and Spanish.\]](http://docs.aws.amazon.com/medialive/latest/ug/images/captions_INembed_OUTembed_ABRhls.png)


# Create captions selectors in the inputs
<a name="identify-captions-in-the-input"></a>

This section describes the first step for setting up for captions in MediaLive. You must identify the captions that you want to use and assign each to a captions selector. If you don't create any captions selectors, you can't include captions in the output. All the captions will be removed from the media.

Then you must extract the captions that you want by adding a captions selector in the channel. Each extracted captions asset is contained in one captions selector. For example, one selector contains the Teletext captions in Czech.

**Topics**
+ [Identify the captions that you want](#identify-source-captions-step-a)
+ [Create captions selectors](#identify-source-captions-step-b)
+ [Information for DVB-Sub or SCTE-27](#dvb-sub-or-scte27)
+ [Information for embedded](#embedded)
+ [Information for Teletext](#teletext)

## Identify the captions that you want
<a name="identify-source-captions-step-a"></a>

1. Identify which captions are in the input (the provider of the input should provide you with this information). Identify the captions formats and, for each format, the languages. 

1. Identify which of those formats and languages that you want to use. 

1. If you are converting DVB-Sub or SCTE-27 captions to WebVTT, there are limits on the number of languages that MediaLive can ingest. For more information, see [Constraints for using OCR conversion](captions-languages-ocr.md).

1. Determine how many captions selectors to create in the input in the channel. For guidance, see the table that appears after this procedure.

You end up with a list of captions selectors to create. For example:
+ Captions Selector 1: Teletext captions in Czech
+ Captions Selector 2: Teletext captions in Polish


| Source captions | Output captions | Result | 
| --- | --- | --- | 
| ARIB  | ARIB | Create a single captions selector. All languages are passed through; there is no other option. | 
| Embedded | Embedded | Create a single captions selector. All languages are passed through; there is no other option. For details, see [Information for embedded](#embedded). | 
| Embedded | Another format | Specify the language to extract from the input and the language to include in an output. The specified language is extracted from the embedded captions and converted to the new format. | 
| DVB-Sub | WebVTT | Create one caption selector for each language, to a maximum of three caption selectors in the input. For more information about this limit, see [Constraints for using OCR conversion](captions-languages-ocr.md). | 
| DVB-Sub | SMPTE-TT | Create one caption selector for each language. The specified language is extracted from the DVB-Sub captions and converted to the new format.  | 
| DVB-Sub | DVB-Sub | Create a single captions selector. All languages are passed through. | 
| SCTE-27 | WebVTT | Create one caption selector for each language, to a maximum of three caption selectors in the input. For more information about this limit, see [Constraints for using OCR conversion](captions-languages-ocr.md). | 
| Teletext | Teletext | Create a single captions selector. All languages are passed through. All the pages in the teletext are passed through. For details, see [Information for Teletext](#teletext). | 
| Teletext | Another format | If you have Teletext source and want a different format in the output, create one captions selector for each language and format combination. | 
| Any other combination |  | Create one captions selector for each language and format combination. | 

## Create captions selectors
<a name="identify-source-captions-step-b"></a>

1. In the channel that you are creating, in the navigation pane, in **Input attachments**, choose the input. 

1. Got to **General input settings** and choose **Add captions selectors**.

1. In **Captions selector name**, enter a name that describes the captions in the source.. For example, **Teletext Czech**. 

1. In **Selector settings**, choose the format of the source captions. 

1. For most formats, more fields appear. For details about a field, choose the **Info** link next to the field. In addition, see [DVB-Sub or SCTE-27](#dvb-sub-or-scte27), [Embedded](#embedded), or [Teletext](#teletext).

1. Create more captions selectors, as required. 

## Information for DVB-Sub or SCTE-27
<a name="dvb-sub-or-scte27"></a>

1. You must specify the location of the captions.

   Complete the **PID** or **Language** code fields in one of the ways described in the following table. Each row in the table describes a valid way to complete these two fields.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/medialive/latest/ug/identify-captions-in-the-input.html)

1. If you plan to convert the captions to WebVTT, you must also specify the language of the captions.

   Complete the **OCR language** field to specify the language of the captions specified by this selector.

   MediaLive ignores any value in this field if you aren't converting the captions to WebVTT.

## Information for embedded
<a name="embedded"></a>

Read this section if the input captions are any of the following: embedded (EIA-608 or CEA-708), embedded\$1SCTE-20, SCTE-20\$1embedded, or SCTE-20.

**How many captions selectors?**
+ **Embedded passthrough** – Create only one captions selector. With this scenario, all languages are automatically extracted and are automatically included in the output.
+ **Embedded in, other out** – Create one captions selector for each language that you want to include in the output, to a maximum of four selectors.
+ **A combination of Embedded passthrough and Embedded conversion** – If you are setting up for embedded passthrough in some outputs and embedded-to-other in other outputs, create one captions selector for each language that you want to include in the output, to a maximum of four selectors. Don't worry about a selector for the embedded passthrough output. MediaLive extracts all the languages for that output, even though there is not a selector to explicitly specify this action. 

**Captions selector fields**
+ **Selector settings**: 
  + Choose embedded if the source captions are embedded (EIA-608 or CEA-708), embedded\$1SCTE-20, or SCTE-20\$1embedded.
  + Choose SCTE-20 if the source captions are SCTE-20 alone.
+ **EIA-608 track number** – This field specifies the language to extract. Complete as follows: 
  + If you are setting up for embedded passthrough only (you are creating only one captions selector for the input embedded captions), this field is ignored, so keep the default.
  + If you are converting embedded to another format (you are creating several captions selectors, one for each language), specify the number of the CC instance (from the input) that holds the language that you want.
+ **Convert 608 to 708**: The embedded source captions can be EIA-608 captions, CEA-708 captions, or both EIA-608 and CEA-708. You can specify how you want these captions to be handled when AWS Elemental MediaLive is ingesting content. The following table describes the behavior for various scenarios.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/medialive/latest/ug/identify-captions-in-the-input.html)
+ **SCTE-20 detection** – If the source captions combine embedded (EIA-608 or CEA-708) and SCTE-20, you might want to set this field to **Auto**. AWS Elemental MediaLive gives preference to the 608/708 embedded captions but switches to use the SCTE-20 captions when necessary. If you set this field to **Off**, AWS Elemental MediaLive never uses the SCTE-20 captions.

## Information for Teletext
<a name="teletext"></a>

Teletext is a form of data that can contain several types of information, not just captions. Teletext can be handled in one of the following ways:
+ If you want to include the entire Teletext input, you must set up for Teletext passthrough. The entire Teletext can never be converted to another format. 
+ Individual captions pages (the captions in a specific language) can be extracted and converted to another captions format.
+ Individual captions pages (the captions in a specific language) *cannot* be extracted and kept in Teletext. If you want to extract individual captions pages, you must convert them to another format.

**How many captions selectors?**
+ If you are setting up for Teletext passthrough captions, create only one captions selector, even if you want to include multiple languages in the output. With this scenario, all languages are automatically extracted and included in the output. 
+ If you are setting up for Teletext-to-other, create one captions selector for each language that you want to include in the output. For example, one selector to extract English Teletext, and one selector to extract Swedish Teletext.
+ If you are setting up for Teletext passthrough in some outputs and Teletext-to-other in other outputs, create one captions selector for each language that you want to include in the output. Don't worry about a selector for the passthrough output. MediaLive passes through all the data, even though there isn't a selector to explicitly specify this action. 

**Captions selector fields**
+ **Selector settings** – Choose **Teletext**.
+ **Page number** – This field specifies the page of the desired language. Complete as follows: 
  + If you are setting up for Teletext passthrough captions (you are creating only one captions selector for the input captions), keep the field blank. The value is ignored.
  + If you are converting Teletext to another format (you are creating several captions selectors, one for each language), complete the **Language code** field to specify the page for the language that you want. If you leave this field blank, you get a validation error when you save the channel. 

**Including a positioning rectangle**

If you plan to convert the source captions to EBU-TT-D, you can optionally define a rectangle that positions the captions on the video frame in the output. If you choose to use this feature, it will apply as follows:
+ It will apply to all your EBU-TT-D outputs that use this captions selector. 
+ It won't apply to any other formats of output captions that use this caption selector. The positioning information is simply omitted from these other captions formats.

You define the rectangle relative to the underlying video frame. For example, you specify the position of the left edge of the rectangle as a percentage of the entire width of the video frame. A value of 10 means "calculate a value X that is 10% of the frame width. Then find the left edge of the video frame and move X pixels into the frame and draw the left edge of the rectangle".

Specifying a percentage, rather than a fixed number, means that the rectangle works for different video renditions (different resolutions) in the same output.

To define a positioning rectangle, follow this procedure.

1. In the **Output rectangle** field, choose **Caption rectangle**.

1. Complete the fields for the four sides of the rectangle – **Left offset**, **Width**, **Top offset**, and **Height**.

# Plan captions for the outputs
<a name="planning-captions-in-the-outputs"></a>

After you have set up the inputs in the MediaLive channel, you must plan the outputs. If you followed the instructions in [Create captions selectors in the inputs](identify-captions-in-the-input.md), you should have a list of the captions formats and languages that are available for inclusion in the outputs. 

You must now plan the captions information for the outputs.

To plan the captions for the output
+ Identify the types of output media that you plan to create in the channel, for example, Microsoft Smooth and HLS.
+ Identify the combinations of video and audio that you plan to create for each output media. 
+ For each output media, identify which input captions will be converted to which output formats. For example, you will convert Teletext captions to TTML for the Microsoft Smooth output media, and those same Teletext captions to WebVTT for the HLS output media. 

  The output formats that are possible depend on the input formats and the type of output media. To determine which output captions are possible given the input format, see [Captions supported in MediaLive](supported-captions.md). 
+ Identify the languages for each output format:
  + In general, count each language separately. 
  + Exception: For embedded passthrough, count all languages as one. 
  + Exception: For Teletext passthrough, count all languages as one.

**The result**  
You end up with a list of outputs, and the captions formats and languages for each output. For example:
+ Microsoft Smooth output with TTML captions in Czech
+ Microsoft Smooth output with TTML captions in Polish
+ HLS output with WebVTT captions in Czech
+ HLS output with WebVTT captions in Polish

## Outputting multiple formats
<a name="output-multiple-formats"></a>

You can include captions from two or more different formats in an output. For example, you can include both embedded captions and WebVTT captions in an HLS output, to give the downstream system more choices about which captions to use. The only rules for multiple formats are the following:
+ The output container must support all the formats. See [Captions supported in MediaLive](supported-captions.md).
+ The font styles in all the captions that are associated with an output must match. This means that the end result must be identical, not that you must use the same option to get that result. For example, all captions that are associated with the output must be white for the first language and blue for the second language.

Managing this style matching can be a little tricky. For information about the font style options, see [Support for font styles in output captions](support-for-font-styles-in-output-captions.md).

# Match formats to categories
<a name="match-categories-captions"></a>

After you have made a captions outputs list, you must identify the procedure to follow to create captions encodes in each MediaLive output. The procedure to follow depends on the *category* that a captions format belongs to. 

1. Consult the table in [Captions categories](categories-captions.md) and find each captions format that you identified. 

1. On the captions outputs list that you created, make a note of the category that each captions option belongs to. 

# Create captions encodes
<a name="create-captions-encodes"></a>

As the final step in setting up captions in a MediaLive channel, you must set up the captions in each output group. For each output and captions format that you identified, follow the procedure that applies to the format category:
+ [Create embedded or object captions encodes](output-embedded-and-more.md)
+ [Create sidecar or SMPTE-TT captions encodes](output-sidecar-and-smptett-mss.md)

# Create embedded or object captions encodes
<a name="output-embedded-and-more"></a>

Follow this procedure if the format of the captions asset that you want to add belongs to the category of embedded, burn-in, or object. You set up the captions and video and audio in the same MediaLive output.

1. In the **Create channel** or **Edit channel** page for the channel, in the **Channel** panel, find the output group where you want to set up captions.

1. If you have already set up outputs in this output group with video (and possibly audio), find the outputs where you want to add the captions. Or create a new output in this output group.

1. In the output, go to the **Stream settings** and choose **Add caption**, then **Create a new caption encode**. Captions fields appear.. 

1. Complete the following fields:
   + **Captions description name**: Enter a name that is unique in the channel, for example, **Embedded**.
   + **Captions selector name**: Select the captions selector that you created when you [created the captions selectors in the input](identify-captions-in-the-input.md). Specify the selector that identifies the captions asset that is the source for the captions in this output.
   + **Captions settings**: Choose the captions format for the output captions. Depending on the format, more fields appear.

1. Choose **Additional settings**. More fields appear. See the table after this procedure for information about which fields to complete for each format.

   Complete the fields that appear for the selected format. For details about a field, choose the Info link beside the field.

1. You now have a captions encode that is fully defined. Repeat these steps to create more captions in this output or in another output, or in another output group.


| Field | Topic | Applicable formats | For more information, see this section | 
| --- | --- | --- | --- | 
| Font, Positioning, Font Style | Captions style | Burn-in, DVB-Sub | [Font styles for Burn-in or DVB-Sub](font-styles-for-burn-in.md) | 
| Language code, Language description | Language information for this specific caption | All formats | Optional. For information, choose the Info link next to each field. | 
| Accessibility, Caption DASH Roles, DVB DASH accessibility | Accessibility data | All formats | [Including accessibility data in captions in MediaLive](captions-accessibility.md) | 
| PIDs | PID assignment | ARIB, DVB-Sub | [PIDs for ARIB](complete-the-pids-for-arib.md), [PIDs for DVB-Sub](complete-the-pids-for-dvb-sub.md) | 
|  Captions language mappings  | Tags in manifest | HLS | [Language information in HLS manifests](set-up-the-hls-manifest.md) | 

# Create sidecar or SMPTE-TT captions encodes
<a name="output-sidecar-and-smptett-mss"></a>

Follow this procedure if the format of the captions asset that you want to add in the MediaLive channel is [a sidecar](categories-captions.md), or if the format is SMPTE-TT for a Microsoft Smooth output group. 

You set up the captions and video in the same output.

1. In the **Create channel** or **Edit channel** page for the channel, in the **Channel** panel, find the output group where you want to set up captions.

1. Create a new output in this output group. 

1. In the output, go to the **Stream settings** and choose **Add caption**, then **Create a new caption encode**. Captions fields appear. 

1. Complete the following fields:
   + **Captions description name**: Enter a name that is unique in the channel, for example, **Embedded**.
   + **Captions selector name**: Select the captions selector that you created when you [created the captions selectors in the input](identify-captions-in-the-input.md). Specify the selector that identifies the captions asset that is the source for the captions in this output.
   + **Captions settings**: Choose the captions format for the output captions. Depending on the format, more fields appear.

1. Choose **Additional settings**. More fields appear. See the table after this procedure for information about which fields to complete for each format.

1. You now have a captions encode that is fully defined. Repeat these steps to create more captions in this output group.


| Field | Topic | Applicable formats | Description | 
| --- | --- | --- | --- | 
| Style Control, Fill Line Gap, Font Family, Copyright Holder | Captions style | EBU-TT-D | See [Font styles for EBU-TT-D](ebu-tt-font-styles.md) | 
| Style Control | Captions style | TTML, Web-VTT | See [Font styles for TTML](ttml-font-styles.md) or [Font styles for WebVTT](webvtt-font-styles.md) | 
| Language code, Language description | Language information for this specific caption | All formats | Optional. For information, choose the Info link next to each field. | 
| Accessibility, Caption DASH Roles, DVB DASH accessibility | Accessibility data | All formats | [Including accessibility data in captions in MediaLive](captions-accessibility.md) | 
| PIDs | PID assignment | Teletext | [PIDs for Teletext](complete-the-pids-for-teletext.md),  | 

# Including accessibility data in captions in MediaLive
<a name="captions-accessibility"></a>

In the captions in CMAF Ingest, HLS, MediaPackage, or Microsoft Smooth output groups, you can include accessibility data. This data describes the type of accessibility that the encode represents. For example, a captions track might provide a written translation (into another language) of the speech in the content. Accessibility data is also known as accessibility signaling.

**Topics**
+ [Supported accessibility data standards](#captions-accessibility-standards)
+ [Specifying data in a CMAF Ingest or Microsoft Smooth output](#captions-accessibility-cmaf-mss)
+ [Specifying data in an HLS or MediaPackage output](#captions-accessibility-hls-emp)

## Supported accessibility data standards
<a name="captions-accessibility-standards"></a>

MediaLive supports the following styles of accessibility data. 


| Accessibility data style | Specification | CMAF Ingest | HLS or MediaPackage | Microsoft Smooth | 
| --- | --- | --- | --- | --- | 
| DASH role captions | DASH role scheme (ISO/IEC 23009-1:2022(E)) | Yes |  | Yes | 
| DVB DASH accessibility |  * ETSI TS 103 285 Technical Specification, V1.3.1 (2020-02)*  | Yes |  | Yes | 
|  Accessibility  |  Signaled in tags that are inserted in the HLS manifest.  |  | Yes |  | 

## Specifying data in a CMAF Ingest or Microsoft Smooth output
<a name="captions-accessibility-cmaf-mss"></a>

You can set up the captions encode to include accessibility data when you create the encode, as described in [Create embedded or object captions encodes](output-embedded-and-more.md) and [Create sidecar or SMPTE-TT captions encodes](output-sidecar-and-smptett-mss.md).

In the output that has the captions encode that you want to set up, follow these steps:
+ To include DASH Roles, choose **Add dash role**s as many times as you want. Choose the style in each role.
+ To include DVB DASH accessibility style, in **DVB DASH accessibility**, choose the applicable description. You can add only one instance of this accessibility style.

You can add more than one style of accessibility data to each encode. For example, you can add Dash Roles and DVB DASH accessibility style. You might want to do this because different downstream systems for these outputs implement different styles.

### Handling of accessibility data in CMAF Ingest or Microsoft Smooth
<a name="captions-accessibility-cmaf-mss-result"></a>

The fields for accessibility data appear for all output group types, including types that don't support this data. 

**Note**  
When you set up audio encodes and you plan to include accessibility data, proceed as follows. First create the audio encodes in the CMAF Ingest and/or Microsoft Smooth output groups, and set up the accessibility data. Then create the audio encodes in the other output groups.

**Handling in supported output groups**

If you aren't implementing shared captions encodes, MediaLive includes the data only in the captions outputs of the CMAF Ingest and Microsoft Smooth output groups that you set up for captions accessibility data. 

**Handling in shared encodes**

You might plan to share captions encodes among several output groups. For example, you might share a captions encode among one CMAF Ingest output group and other output groups. 

If you set up accessibility data in a shared audio encode, MediaLive will handle the data as follows:
+ It will include the data in the CMAF Ingest and Microsoft Smooth output groups that share the encode.
+ It won't include the data in other output groups, because those output groups don't support this data. Even though the output group is sharing the encode, MediaLive won't include the data. 

**Handling in other output groups**

You might try to set up accessibility fields in an output that doesn't support accessibility data. If you're not implementing encode sharing with a CMAF Ingest or Microsoft Smooth output group, you will get an error message when you save the channel. 

## Specifying data in an HLS or MediaPackage output
<a name="captions-accessibility-hls-emp"></a>

You can set up the captions encode to include accessibility data when you create the encode, as described in [Create embedded or object captions encodes](output-embedded-and-more.md).

In the output that has the captions encode that you want to set up, in **Accessibility**, choose **IMPLEMENTS\$1ACCESSIBILITY\$1FEATURES**.

MediaLive assigns accessibility captions a unique attribute in the EXT-X-MEDIA tag of the HLS manifest:

`CHARACTERISTICS="public.accessibility.describes-spoken-dialog,public.accessibility.describes-music-and-sound"`

Here is an example of the EXT-X-MEDIA tag with the accessibility caption attribute:

`#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="captions-group",NAME="accessibility-captions1",LANGUAGE="eng", CHARACTERISTICS="public.accessibility.describes-spoken-dialog,public.accessibility.describes-music-and-sound",AUTOSELECT=YES,DEFAULT=YES,URI="caption-accessibility-eng.m3u8"`

### Handling of accessibility data in HLS or MediaPackage output groups
<a name="captions-accessibility-hls-emp-results"></a>

The **Accessibility** field appears for all output group types, including types that don't support this data. 

**Note**  
When you set up audio encodes and you plan to include accessibility data, proceed as follows. First create the audio encodes in the HLS and/or MediaPackage output groups, and set up the accessibility data. Then create the audio encodes in the other output groups.

**Handling in supported output groups**

If you aren't implementing shared audio encodes, MediaLive includes the data only in the audio outputs of the HLS and MediaPackage output groups that you set up for audio accessibility data. 

**Handling in shared encodes**

You might plan to share captions encodes among several output groups. For example, you might share a captions codec among one HLS output group and other output groups. 

If you set up accessibility data in a shared captions encode, MediaLive will handle the data as follows:
+ It will include the data in the HLS and MediaPackage output groups that share the encode.
+ It won't include the data in other output groups, because those output groups don't support this data. Even though the output group is sharing the encode, MediaLive won't include the data. 

**Handling in other output groups**

You might try to set up **Accessibility** in an output that doesn't support accessibility data. If you're not implementing encode sharing with an HLS or MediaPackage output group, you will get an error message when you save the channel. 

# Details for specific output formats
<a name="captions-outputs-details-specific-formats"></a>

The following sections provide information that applies only to specific captions formats.

Topics

# Font styles for Burn-in or DVB-Sub
<a name="font-styles-for-burn-in"></a>

This section applies if you are [setting up Burn-in or DVB-Sub captions](output-embedded-and-more.md) in a MediaLive channel. You might decide to specify the look of the captions. The following rule applies.

If you are using the same captions source in several outputs and all those outputs use the same format, then you must set up the font style information identically in each output. If you don't, you get an error when you save the channel. For example, you have an Archive output that includes DVB-Sub captions converted from captions selector "embedded". And you have a UDP output that also includes DVB-Sub captions converted from the same captions selector. 

Note that you must set up the font style information separately in each output. But you must enter the same information in each output. 

For example, output A might use **Captions Selector 1** with the **Destination Type** set to **Burn-in**. And output B might also use **Captions Selector 1** with the **Destination Type** set to **Burn-in**. You set the font information once in output 1 and again in output 2. But you must set up all the font information identically in both outputs.

# PIDs for ARIB
<a name="complete-the-pids-for-arib"></a>

This section applies if you are [setting up ARIB captions](output-embedded-and-more.md) in an  output group that supports a transport stream. For example, UDP or SRT. You must specify the output PID.
+ In the relevant output group, choose the output that has the ARIB captions.
+ For **PID settings**, complete **ARIB captions PID control **and **ARIB captions PID** as shown in the following table.


|  ARIB Captions PID Control  |  ARIB Captions PID  |  Result  | 
| --- | --- | --- | 
|  Auto  |  Ignore  |  A PID is automatically assigned during encoding. This value could be any number.  | 
|  Use Configured  |  Enter a decimal or hexadecimal  |  This PID is used for the captions.  | 

# PIDs for DVB-Sub
<a name="complete-the-pids-for-dvb-sub"></a>

This section applies if you are [setting up DVB-Sub captions](output-embedded-and-more.md) in an output group that supports a transport stream. For example, UDP or SRT. You must specify the output PID.
+ In the relevant UDP output group, choose the output that has the DVB-Sub captions.
+ For **PID settings**, in **DVB-Sub PIDs**, enter the PID for the DVB-Sub captions in this output. Or keep the default.

# PIDs for Teletext
<a name="complete-the-pids-for-teletext"></a>

This section applies if you are [setting up Teletext captions](output-embedded-and-more.md) in an output group that supports a transport stream. For example, UDP or SRT. You must specify the output PID.
+ In the relevant UDP output group, choose the output that has the Teletext captions.
+ For **PID settings**, in **DVB Teletext PID**, enter the PID for the Teletext captions in this output. Or keep the default.

# Language information in HLS manifests
<a name="set-up-the-hls-manifest"></a>

This section applies if you are [setting up captions in an HLS output group](output-embedded-and-more.md) in a MediaLive channel. You must include captions language information in the manifest.

If the captions are embedded captions and the output is HLS, you must include captions language information in the manifest. If you don't include this information, the downstream player won't have information about the embedded captions. To include language information in the manifest: 

1. In the HLS output group in Output groups, go to the **Captions** section. In **Captions language setting**, choose **Insert**. Choosing this option inserts lines in the manifest for each embedded captions language. It inserts as many lines as the mappings that you will add in the next step. 
**Note**  
This **Captions** section is in the output group. Don't confuse this section with the the captions encode sections in the individual outputs.

1. Still in the HLS output group, for **HLS settings**, in **Captions language mappings**, choose **Add captions language mappings**.

1. Choose **Add captions language mappings** again to add more mapping groups, one for each embedded captions asset, to a maximum of four groups. For example, if the output embedded languages contain English, French, and Spanish, you need three mapping groups.

1. Complete each mapping group to identify the CC (caption channel) number and its language. Specify the language as a three-letter ISO language code, as per ISO 639-2. For example, if captions channel 1 is French, then set up the three fields with "1", "fre", and "French". 

   The order in which you enter the languages must match the order of the captions in the source. For example, if the captions are in the order French, then English, then Spanish, then Portuguese, then set up CC1 as French, CC2 as English, and so on. If you don't order them correctly, the captions in the manifest will be tagged with the wrong languages.

# Font styles for EBU-TT-D
<a name="ebu-tt-font-styles"></a>

This section applies if you are [setting up EBU-TT-D captions](output-sidecar-and-smptett-mss.md) from source captions that are embedded or Teletext captions. You can optionally specify some of the font style information. 

An EBU-TT-D caption encode consists of an XML file that the downstream system reads and processes. This XML file includes a section for font style information. You can specify some of this information.

1. In the output that has the EBU-TT-D captions, display the section for the captions.

1. Complete these fields. For details about a field on the MediaLive console, choose the **Info** link next to the field.
   + **Style control**
   + **Fill line gap**
   + **Font family**

This setup results in one of the following options:

The XML file for the captions includes the following style information:


| Style information | Value in XML file for Include option | Value in XML file for Exclude option | 
| --- | --- | --- | 
| Font style information (position, alignment, italics, and so on) | Set to match the source captions. | Left blank. | 
| Font color and background color | Set to match the source captions. | Set to white font and black background. | 
| Font size  | Set to 100%. | Set to 100%. | 
| Font family | Set to the value that you specified in Font family. | Set to monospaced. | 
| Line gap  | Set up to match the value that you specified in Fill line gap.  | Set up to leave the gap unfilled. | 

# Font styles for TTML
<a name="ttml-font-styles"></a>

This section applies if you are [setting up TTML captions](output-sidecar-and-smptett-mss.md) from source captions are embedded or Teletext captions. You can optionally specify some of the font style information. 

1. In the output that has the TTML captions, display the section for the captions. 

1. Set **Style control** to **Passthrough** or **Use\$1configured**.

   Note that when **User\$1configured** is selected, there are actually no fields that you can configure.

The XML file for the captions will include the following style information:


| Style information | Value in XML file for Passthrough option | Value in XML file for User-configured option | 
| --- | --- | --- | 
| Font style information (position, alignment, italics, and so on) | Set to match the source captions. | Left blank. | 
| Font color and background color | Set to match the source captions. | Set to white font and black background. | 
| Font size  | Match size of source captions, if specified. Otherwise, set to 80% of the available height available for captions. | Left blank. | 
| Font family | Match family of source captions, if specified. Otherwise, set to monospaceSansSerif. | Left blank. | 
| Line gap  | Set to leave the line gap unfilled. | Set to leave the gap unfilled. | 

# Font styles for WebVTT
<a name="webvtt-font-styles"></a>

This section applies if you are [setting up a MediaLive channel with WebVTT captions](output-sidecar-and-smptett-mss.md) from source captions that are embedded or Teletext captions. You can optionally pass through some of the style information.

1. In the output that has the WebVTT captions, display the section for the captions. 

1. Set **Style control**:
   + **No\$1Style\$1Data**: Includes only text and timestamp information for the caption encode. 
   + **Passthrough**: Passes through position and color style data from the source, and includes the text and timestamp information. 

# Examples of handling captions in MediaLive
<a name="examples"></a>

The following examples describe how to implement the use cases from [Typical scenarios for handling captions](typical-scenarios.md). 

**Topics**
+ [Use case A: One input format to one output and not converted](use-case-one-input-format-to-one-output.md)
+ [Use case B: One input format converted to one different output format](use-case-one-input-format-to-one-different-output-format.md)
+ [Use case C: One input format converted to different formats, one format for each output](use-case-one-input-format-different-format-for-each-output.md)
+ [Use case D: One captions output shared by multiple video encodes](use-case-one-captions-output-shared-by-multiple-video-encode.md)

# Use case A: One input format to one output and not converted
<a name="use-case-one-input-format-to-one-output"></a>

This example for captions in MediaLive shows how to implement [the first use case](use-case-one-input-format-to-one-output-format-not-converted.md) from the typical scenarios. The input is set up with one format of captions and two or more languages. Assume that you want to maintain the format in the output, and that you want to produce only one type of output and include all the languages in that output.

For example, the input has embedded captions in English and French. You want to produce an HLS output that includes embedded captions in both English and French, plus one video and one audio.

This example illustrates two important features of an embedded passthrough workflow. First, you don't create separate captions selectors; all the languages are automatically included. Second, if you are outputting to HLS, there is an opportunity to specify the languages and the order in which they appear.

![\[Diagram showing captions selector, output with video and audio, and HLS output group.\]](http://docs.aws.amazon.com/medialive/latest/ug/images/captions_INembed_OUTembed_hls_result.png)


To set up for this use case, follow this procedure.

1. In the channel that you are creating, in the navigation pane, for **Input attachments**, choose the input.

1. For **General input settings**, choose **Add captions selector** to create one captions selector. Set **Selector settings** to **Embedded source**.

1. Create an HLS output group.

1. Create one output and set up the video and audio. 

1. In that same output, create one captions asset with the following:
   + **Captions selector name**: Captions selector 1.
   + **Captions settings**: One of the Embedded formats. 
   + **Language code** and **Language description**: Keep the field blank. With embedded captions, all the languages are included.

1. In the HLS output group, in **Captions**, for **Captions language setting**, choose **Insert**. 

1. For **HLS settings**, in **Captions language mappings**, choose **Add captions language mappings** twice (once for each language).

1. Complete the first group of mapping fields with **1**, **ENG**, and **English** and the second group with **2**, **FRE**, and **French**.

1. Finish setting up the channel and save it.

# Use case B: One input format converted to one different output format
<a name="use-case-one-input-format-to-one-different-output-format"></a>

This example for captions in MediaLive shows how to implement [[the second use case](use-case-one-input-format-to-one-output-format-not-converted.md)](use-case-one-input-format-to-different-output-formats.md) from the typical scenarios. The input includes two captions languages, and the single output converts those captions. For example, the input has embedded captions in German and French. You want to produce a UDP output with both captions converted to DVB-Sub, plus one video and one audio. 

![\[Diagram showing captions flow from embedded German and French to DVB-Sub output.\]](http://docs.aws.amazon.com/medialive/latest/ug/images/captions_INembed_OUTdvb_udp_result.png)


To set up for this use case, follow this procedure.

1. In the channel that you are creating, in the navigation pane, for **Input attachments**, choose the input. 

1. For **General input settings**, choose **Add captions selector** twice, to create Captions selector 1 (for German) and Captions selector 2 (for French). In both cases, set **Selector settings** to **Embedded source**.

1. Create a UDP output group. 

1. Create one output and set up the video and audio.

1. In this output, choose **Add captions** to create a captions encode. 
   + **Captions selector name**: Captions selector 1. 
   + **Captions settings**: DVB-Sub. 
   + **Language code** and **Language description**: German.
   + Other fields: Keep the defaults or complete as desired. 

1. Choose **Add captions** again to create another captions encode. Set up this encode for the French captions. Make sure that you set up the font fields for German and French in exactly the same way. 

1. Finish setting up the channel and save it.

# Use case C: One input format converted to different formats, one format for each output
<a name="use-case-one-input-format-different-format-for-each-output"></a>

This example for captions in MediaLive shows how to implement [[the third use case](use-case-one-input-format-to-one-output-format-not-converted.md)](use-case-one-input-format-to-several-output-formats.md) from the typical scenarios. The input is set up with one format of captions and two or more languages. You want to produce several different types of output. In each output, you want to convert the captions to a different format but include all the languages.

For example, the input has Teletext captions in Czech and Polish. Assume that you want to produce a Microsoft Smooth output and an HLS output. Assume that in the Microsoft Smooth output, you want to include one video and one audio and you want to convert the captions to TTML. In the HLS output, you want to include one video and one audio and you want to convert the captions to WebVTT.

![\[Diagram showing input captions and output formats for Microsoft Smooth and HLS groups.\]](http://docs.aws.amazon.com/medialive/latest/ug/images/captions_INttext_OUT_OPmss_hls_result.png)


To set up for this use case, follow this procedure.

1. In the channel that you are creating, in the navigation pane, for **Input attachments**, choose the input. 

1. For **General input settings**, choose **Add captions selector** twice to create the following captions selectors:
   + Captions selector 1 for Teletext Czech. Specify the page that holds the Czech captions.
   + Captions selector 2 for Teletext Polish. Specify the page that holds the Polish captions.

   Although you are including the captions in two different outputs (Microsoft Smooth and HLS), you need to extract them from the input only once, so you need to create only one captions selector for each language.

1. Create a Microsoft Smooth output group and configure it as follows: 
   + Create one output and set up the video and audio. 
   + Create a second output that contains one captions encode and no video or audio encodes, and with the following settings: 
     + **Captions selector name**: Captions Selector 1.
     + **Captions settings**: TTML. 
     + **Language code** and **Language description**: Czech.
     + **Style control**: Set as desired.
   + Create a third output that contains one captions encode and no video or audio encodes, with the following settings:
     + **Captions selector name**: Captions Selector 2.
     + **Captions settings**: TTML.
     + **Language code** and **Language description**: Polish.
     + Other fields: same as the second output (the Czech captions).

1. Create an HLS output group and configure it as follows: 
   + Create one output and set up the video and audio. 
   + Create a second output that contains one captions encode and no video or audio encodes, and with the following settings: 
     + **Captions selector name**: Captions Selector 1.
     + **Captions settings**: WebVTT. 
     + **Language code** and **Language description**: Czech.
     + Other fields: Set as desired.
   + Create a third captions output that contains one captions encode and no video or audio encodes, and with the following settings:
     + **Captions selector name**: Captions Selector 2.
     + **Captions settings**: WebVTT
     + **Language code** and **Language description**: Polish.
     + Other fields: same as the second output (the Czech captions).

1. Finish setting up the channel and save it.

# Use case D: One captions output shared by multiple video encodes
<a name="use-case-one-captions-output-shared-by-multiple-video-encode"></a>

This example for captions in MediaLive shows how to set up captions in an ABR workflow. 

The first setup shows how to set up an ABR workflow when the captions are in the same output as the video, meaning that the captions are either embedded or captions style.

The second setup shows how to set up an ABR workflow when the captions belong to the sidecar category, in which case each captions encode is in its own output.

**Topics**
+ [Setup with Embedded or object-style captions](setup-with-procedure-a-captions.md)
+ [Setup with sidecar captions](setup-with-procedure-b-captions.md)

# Setup with Embedded or object-style captions
<a name="setup-with-procedure-a-captions"></a>

This example for captions in MediaLive shows how to implement [[the fourth use case](use-case-one-input-format-to-one-output-format-not-converted.md)](use-case-one-captions-output-multiple-video-encodes.md) from the typical scenarios. For example, you want to produce an HLS output with three video encodes (one for low-resolution video, one for medium, one for high) and one audio. You also want to include embedded captions (in English and Spanish) and associate them with all three video encodes.

![\[Diagram showing input captions and output configurations for video and audio in MediaLive.\]](http://docs.aws.amazon.com/medialive/latest/ug/images/captions_INembed_OUTembed_ABRhls_result.png)


To set up for this use case, follow this procedure.

1. In the channel that you are creating, in the navigation pane, in **Input attachments**, choose the input. 

1. For **General input settings**, choose **Add captions selector** to create one captions selector. Set **Selector settings** to **Embedded source**.

1. Create an HLS output group.

1. Create one output and set up the video and audio for low-resolution video.

1. In that same output, create one captions asset with the following:
   + **Captions selector name**: Captions selector 1.
   + **Captions settings**: One of the Embedded formats. 
   + **Language code** and **Language description**: Leave blank; with embedded passthrough captions, all the languages are included.

1. Create a second output and set up the video and audio for medium-resolution video.

1. In that same output, create one captions asset with the following:
   + **Captions selector name**: Captions selector 1.
   + **Captions settings**: One of the Embedded formats. 
   + **Language code** and **Language description**: Keep blank. With embedded captions, all the languages are included.

1. Create a third output and set up the video and audio for high-resolution video.

1. In that same output, create one captions asset with the following:
   + **Captions selector name**: Captions selector 1.
   + **Captions settings**: One of the Embedded formats. 
   + **Language code** and **Language description**: Keep blank. With embedded captions, all the languages are included.

1. Finish setting up the channel and save it. 

# Setup with sidecar captions
<a name="setup-with-procedure-b-captions"></a>

This example for captions in MediaLive shows an ABR workflow where the captions are in sidecars. For example, you want to produce a Microsoft Smooth output with three video encodes (one for low-resolution video, one for medium, one for high) and one audio. These encodes are in a Microsoft Smooth output. You want to ingest embedded captions (in English and Spanish) and convert them to TTML captions, one for English and one for Spanish. 

![\[Diagram showing output groups for video, audio, and captions in English and Spanish.\]](http://docs.aws.amazon.com/medialive/latest/ug/images/captions_INembed_OUTembed_ABRmss_result.png)


To set up for this use case, follow this procedure.

1. In the channel that you are creating, in the navigation pane, for **Input attachments**, choose the input. 

1. For **General input settings**, choose **Add captions selector** twice to create the following captions selectors:
   + Captions selector 1: for Embedded English.
   + Captions Selector 2: for Embedded Spanish.

1. Create a Microsoft Smooth output group.

1. Create one output that contains one video encode and set it up for low-resolution video.

1. Create a second output that contains one video encode and set it up for medium-resolution video.

1. Create a third output that contains one video encode and set it up for high-resolution video.

1. Create a fourth output that contains one audio encode and no video encode.

1. Create a fifth output that contains one captions encode and no video or audio encodes, and with the following settings for the captions encode:
   + **Captions selector name**: Captions selector 1.
   + **Captions settings**: TTML. 
   + **Language code** and **Language description**: English.

1. Create a sixth output that contains one captions encode and no video or audio encodes, and with the following settings for the captions encode:
   + **Captions selector name**: Captions selector 2.
   + **Captions settings**: TTML. 
   + **Language code** and **Language description**: Spanish.

1. Finish setting up the channel and save it. 