

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

This section contains tables that specify the caption formats that are supported in MediaLive inputs and the caption formats that are supported in outputs.

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

**Topics**
+ [

# General information about supported captions formats
](general-information-supported-formats.md)
+ [

# Captions categories
](categories-captions.md)
+ [

# How to read the supported captions information
](how-to-read-the-support-information.md)
+ [

# Captions formats supported in Archive outputs
](supported-formats-archive-output.md)
+ [

# Captions formats supported in CMAF Ingest outputs
](supported-formats-cmafi-output.md)
+ [

# Captions formats supported in HLS or MediaPackage outputs
](supported-formats-hls-output.md)
+ [

# Captions formats supported in Microsoft Smooth outputs
](supported-formats-smooth-output.md)
+ [

# Captions formats supported in RTMP outputs
](supported-formats-rtmp-output.md)
+ [

# Captions formats supported in UDP, SRT, MediaConnect Router, or multiplex outputs
](supported-formats-ts-output.md)

# General information about supported captions formats
<a name="general-information-supported-formats"></a>

 The following table shows the formats that are supported in MediaLive. It specifies whether they are supported in inputs or outputs, and specifies the standard that defines each format. 


| Caption | Supported in input | Supported in output | Description | 
| --- | --- | --- | --- | 
| Ancillary data | Yes |  |  Data that is compliant with “*SMPTE 291M: **Ancillary Data Package and Space Formatting*” and that is contained in ancillary data.  | 
| ARIB  | Yes | Yes |  Captions that are compliant with *ARIB STD-B37 Version 2.4*.  | 
| Burn-in |  | Yes |  From input: It is technically impossible for the encoder to read burn-in captions. Therefore, from an input viewpoint, they can't be considered to be captions. For output: Burn-in captions are captions that are converted into text and then overlaid on top of the picture directly in the video stream.  | 
| DVB-Sub | Yes | Yes |  Captions that are compliant with ETSI EN 300 743.  | 
|  EBU-TT-D  |  | Yes |  Captions that are compliant with EBU Tech 3380, EBU-TT-D Subtitling Distribution Format, 2018.   | 
| Embedded | Yes | Yes |  In most containers: Captions that are compliant with the EIA-608 standard (also known as CEA-608 or *line 21 captions*) or the CEA-708 standard (also known as EIA-708). In a Link input container: Captions carried as ancillary captions that are compliant with SMPTE 334. The ancillary captions are compliant with EIA-608 standard (also known as CEA-608 or *line 21 captions*) or CEA-708 standard (also known as EIA-708).  | 
| Embedded\$1SCTE-20 | Yes | Yes |  Captions that have both embedded and SCTE-20 in the video. The embedded captions are inserted before the SCTE-20 captions.   | 
| RTMP CaptionInfo |  | Yes | Captions that are compliant with the Adobe onCaptionInfo format. | 
| SCTE-20 | Yes |  | Captions that are compliant with the standard “SCTE 20 2012 Methods for Carriage of CEA-608 Closed Captions and Non-Real Time Sampled Video.” | 
| SCTE-20\$1Embedded |  | Yes | Captions that are compliant with SCTE-43. The SCTE-20 captions are inserted in the video before the embedded captions. | 
| SCTE-27 | Yes |  | Captions that are compliant with the standard “SCTE-27 (2011), Subtitling Methods for Broadcast Cable.” | 
| SMPTE-TT |  | Yes | Captions that are compliant with the standard "SMPTE ST 2052-1:2010". | 
| Teletext  | Yes | Yes | From TS input: Captions in the EBU Teletext format.From a CDI input, a SMPTE2110 input, or in a Link container: Captions in OP47 teletext format, also known as SMPTE RDD-08 (compliant with ITU-R BT.1120-7). | 
| TTML |  | Yes | Captions files that are compliant with the standard “Timed Text Markup Language 1 (TTML1) (Second Edition).” | 
| WebVTT |  | Yes | Captions that are compliant with “webvtt: The Web Video Text Tracks Format” ([http://dev.w3.org/html5/webvtt/](http://dev.w3.org/html5/webvtt/)). | 

# Captions categories
<a name="categories-captions"></a>

Captions are grouped into five categories, based on how the captions are included in the output. 


|  Captions format  |  Category of this format  | 
| --- | --- | 
|  ARIB   |  Object-style  | 
|  Burn-in  |  Burn-in  | 
|  DVB-Sub  |  Object-style  | 
| EBU-TT-D | Sidecar | 
|  Embedded  |  Embedded  | 
|  Embedded\$1SCTE-20  |  Embedded   | 
|  RTMP CaptionInfo  |  Object-style  | 
|  SCTE-20\$1Embedded  |  Embedded  | 
| SCTE-27 | Object-style | 
| SMPTE-TT | Stream | 
|  Teletext   |  Object-style  | 
|  TTML  |  Sidecar  | 
|  WebVTT  |  Sidecar  | 

## Embedded captions
<a name="embedded-in-video"></a>

The captions are carried inside the video encode, which is itself in an output in the output group. There is only ever one captions entity within that video encode, although that entity might contain captions for up to four languages. 

![\[Diagram showing video encode containing captions, and audio encode within an output container.\]](http://docs.aws.amazon.com/medialive/latest/ug/images/caption_categories_embedded.png)


## Object-style captions
<a name="captions-object"></a>

All the captions encodes for a specific output group are in the same output as the corresponding video and audio. 

![\[Diagram showing video, audio, and two captions encode components in a single output.\]](http://docs.aws.amazon.com/medialive/latest/ug/images/caption_categories_object.png)


## Sidecar captions
<a name="captions-sidecar"></a>

Each captions encode for a specific output group is in its own "captions-only" output. The output group can contain more than one captions output, for example, one for each language. 

![\[Diagram showing three output groups: one with video and audio encode, two with captions encode.\]](http://docs.aws.amazon.com/medialive/latest/ug/images/caption_categories_sidecar.png)


Each captions-only output becomes a separate file in the packaged output.

## Stream
<a name="captions-stream"></a>

Each captions encode for a specific output group is in its own "captions-only" output. The output group can contain more than one captions output, for example, one for each language.

![\[Diagram showing three output groups: one with video and audio encode, two with captions encode.\]](http://docs.aws.amazon.com/medialive/latest/ug/images/caption_categories_stream.png)


Each captions-only output becomes a separate stream in the packaged output.

## Burn-in captions
<a name="burnin"></a>

The captions are converted into text and then overlaid on the picture directly in the video encode. Strictly speaking, once the overlay occurs, these are not really captions because they are indistinguishable from the video. 

# How to read the supported captions information
<a name="how-to-read-the-support-information"></a>

With captions, there are constraints on the ability to produce a specific output format from the input format. 

You must make sure it is possible to produce the output formats that you want in a specific output type, from the captions in the input. For example, you must make sure that you can produce DVB-Sub captions in an Archive output, when the source is an HLS input that contains SCTE-20 captions.

To determine that the input type and input captions format can produce the chosen captions format in the chosen output type, consult the tables in the following [sections](supported-formats-archive-output.md).

Follow these steps

1. Find the table for your output container. For example, Archive.

1. In that table, look in the first column for the container type of the input that you have been provided with. For example, HLS.

1. In the second column, find the input captions that are in that container. For example, SCTE-20.

1. In the third column, look for the output captions format that you require. For example, DVB-Sub.

   If the format is listed, then your input is suitable.

   If the format is not listed, you must ask the provider of that input to provide a different source.

The tables for the supported formats are in the following sections:
+ [Captions formats supported in Archive outputs](supported-formats-archive-output.md)
+ [Captions formats supported in HLS or MediaPackage outputs](supported-formats-hls-output.md)
+ [Captions formats supported in Microsoft Smooth outputs](supported-formats-smooth-output.md)
+ [Captions formats supported in RTMP outputs](supported-formats-rtmp-output.md)
+ [Captions formats supported in UDP, SRT, MediaConnect Router, or multiplex outputs](supported-formats-ts-output.md)

# Captions formats supported in Archive outputs
<a name="supported-formats-archive-output"></a>

In this table, look up your input container and captions type. Then read across to find the caption formats that are supported in MediaLive in an Archive (MPEG-TS file) output, when you have this input container and captions type. 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/medialive/latest/ug/supported-formats-archive-output.html)

# Captions formats supported in CMAF Ingest outputs
<a name="supported-formats-cmafi-output"></a>

In this table, look up your input container and captions type. Then read across to find the caption formats that are supported in MediaLive when you have this input container and captions type, and produce these outputs:
+ CMAF Ingest output
+ MediaPackage output with a CMAF Ingest container

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/medialive/latest/ug/supported-formats-cmafi-output.html)

# Captions formats supported in HLS or MediaPackage outputs
<a name="supported-formats-hls-output"></a>

In this table, look up your input container and captions type. Then read across to find the caption formats that are supported in MediaLive when you have this input container and captions type, and produce these outputs:
+ HLS output 
+ MediaPackage output with an HLS container

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/medialive/latest/ug/supported-formats-hls-output.html)

# Captions formats supported in Microsoft Smooth outputs
<a name="supported-formats-smooth-output"></a>

In this table, look up your input container and captions type. Then read across to find the caption formats that are supported in MediaLive in a Microsoft Smooth output, when you have this input container and captions type. 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/medialive/latest/ug/supported-formats-smooth-output.html)

# Captions formats supported in RTMP outputs
<a name="supported-formats-rtmp-output"></a>

In this table, look up your input container and captions type. Then read across to find the caption formats that are supported in MediaLive in an RTMP output, when you have this input container and captions type. 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/medialive/latest/ug/supported-formats-rtmp-output.html)

# Captions formats supported in UDP, SRT, MediaConnect Router, or multiplex outputs
<a name="supported-formats-ts-output"></a>

In this table, look up your input container and captions type. Then read across to find the caption formats that are supported in MediaLive in an MPEG-TS streaming output or in an MPTS multiplex output, when you have this input container and captions type. 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/medialive/latest/ug/supported-formats-ts-output.html)