

# Input types, protocols, and upstream systems
<a name="inputs-supported-formats"></a>

The following table lists the input types that are supported in MediaLive, and describes how the input handles the source content. In the table, find a type of input in the first column, then read across the row for information about how the type is supported.

For information about *push inputs* and *pull inputs*, see [Push and pull AWS Cloud inputs](inputs-push-pull.md).


| MediaLive input type | Use case | Upstream system and supported protocol | 
| --- | --- | --- | 
| CDI | Push an uncompressed stream in your VPC to a fixed endpoint on MediaLive.  | Amazon VPC within a private cloud | 
| HLSSee [HLS inputs](#input-hls-definition), after this table. | Pull an HLS stream or asset from an external endpoint using the HTTP protocol, with or without a secure connection. | HTTP server orHTTPS server | 
| HLS | Pull an HLS stream or VOD asset from an AWS Elemental MediaStore container, using a secure connection. | AWS Elemental MediaStore with a custom protocol | 
| HLS | Pull an HLS stream or VOD asset from an Amazon S3 bucket, using a secure connection. | Amazon S3 over a custom protocol | 
| Link | Push a transport stream (TS) from an AWS Elemental Link device. | AWS Elemental Link over an internal connection | 
| MediaConnect | Push a transport stream (TS) from a flow in AWS Elemental MediaConnect.This input uses a MediaConnect flow ARN, not a URI. | AWS Elemental MediaConnect over an internal connection | 
| MediaConnect Router | Push a transport stream (TS) from MediaConnect Router.This input uses a MediaConnect Router ARN, not a URI. | AWS Elemental MediaConnect over an internal connection | 
| MP4 | Pull an MP4 file from an HTTP server, with or without a secure connection. | HTTP server or HTTPS server | 
| MP4 | Pull an MP4 file from an Amazon S3 bucket, using a secure connection. With MediaLive, the bucket name can't use *dot* notation. For example, `mycompany-videos` is valid, but `mycompany.videos` isn't.  | Amazon S3 over a custom protocol | 
| RTMP Pull | Pull a stream from an external endpoint using the RTMP protocol.MediaLive doesn't support inputs using the RTMPS protocol. | RTMP server over RTMP Pull | 
| RTMP Push | Push a stream to a fixed endpoint on MediaLive using the RTMP protocol. MediaLive doesn't support inputs using the RTMPS protocol. | RTMP server over RTMP Push | 
| RTMP Push | Push a stream in your VPC to a fixed endpoint on MediaLive, using the RTMP protocol. MediaLive doesn't support inputs using the RTMPS protocol. | Amazon VPC over RTMP within a private cloud | 
| RTP | Push a transport stream (TS) to a fixed endpoint on MediaLive, using the RTP protocol. | RTP server over RTP Push | 
| RTP | Push a transport stream (TS) in your VPC to a fixed endpoint on MediaLive, using the RTP protocol. | Amazon VPC over RTP within a private cloud | 
| SDI | Ingest a stream from an SDI source connected to a node in an MediaLive Anywhere cluster. MediaLive Anywhere supports single-link and quad-link SDI interfaces; quad-link sources can use quadrant or interleave mode. | SDI source connected to an SDI card and port on an MediaLive Anywhere node | 
| SMPTE 2110 stream | Deliver a set of streams that are compliant with the SMPTE 2110 specification. MediaLive supports 2022-7 seamless protection switching with SMPTE 2110 inputs.<br />MediaLive doesn't support SMPTE 2110 with NMOS. <br />The SMPTE 2110 source must be Precision Time Protocol (PTP) locked, to ensure that the video, audio, and ancillary data synchronize properly. | A service provider that supports delivery of SMPTE 2110 using SDP files retrieved from the service provider. SMPTE 2110 is delivered over the RTP protocol | 
| SRT Caller | Pull a live transport stream using the SRT protocol. The SRT source can be encrypted or unencrypted.  | A service provider that supports delivery over the SRT protocol. | 
| SRT Listener | Push a transport stream to a fixed endpoint on MediaLive using the SRT protocol. The upstream system acts as the SRT caller, MediaLive acts as the SRT listener. | A service provider that supports delivery over the SRT protocol as a caller. | 
| Transport Stream (TS) file | Pull a TS file from an HTTP server, with or without a secure connection. File extensions of .ts or .m2ts are supported.MediaLive only supports static TS files. It does not support growing TS files that are written to while in use. | HTTP server or HTTPS server | 
| Transport Stream (TS) file | Pull a TS file from an Amazon S3 bucket, using a secure connection. File extensions of .ts or .m2ts are supported.MediaLive only supports static TS files. It does not support growing TS files that are written to while in use.<br />With MediaLive, the bucket name can't use *dot* notation. For example, `mycompany-videos` is valid, but `mycompany.videos` isn't.  | Amazon S3 over a custom protocol | 

**HLS**

With HLS, the media must be a transport stream. MediaLive doesn't support ingest of HLS content that contains any other type of media.