Supported input formats and protocols - MediaLive

Supported input formats and protocols

The following table lists the supported input types, and describes how the input handles the source content.

The sections after the table describe how MediaLive ingests a push or pull input.

MediaLive input type Push or pull? Use case Upstream system and supported protocol
CDI Push Push an uncompressed stream in your VPC to a fixed endpoint on MediaLive. Amazon VPC within a private cloud
HLS

See HLS inputs, after this table.

Pull Pull an HLS stream or asset from an external endpoint using the HTTP protocol, with or without a secure connection. HTTP server or

HTTPS 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 Push a transport stream (TS) from an AWS Elemental Link device. AWS Elemental Link over an internal connection
MediaConnect Push 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
MP4 Pull 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
Transport Stream (TS) file Pull 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.

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 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 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 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

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.

Ingesting with a pull input

A pull input works as follows: the source continually publishes to an endpoint that is outside of MediaLive. When the channel (that is connected to the input) is running, MediaLive connects to the input and ingests the content.

When the channel is not running, MediaLive does not connect to the input. (There might be other applications that do connect.)

A pull input works with a streaming input (where the source is continually being published) or a VOD input (where the source is made available on the endpoint and then does not change).

Ingesting with an RTMP push input

An RTMP push input works as follows: the source attempts to deliver to an endpoint that is specified in the MediaLive input. There must be a handshake between the source and the MediaLive channel so that the source has information about the status of the input.

When the channel (that is connected to this input) is started, MediaLive responds to the handshake message and ingests it. When the channel is not running, MediaLive does not react; the source goes into a paused state.

A push input works only with a streaming source.

Ingesting with an RTP push input

An RTP push input works as follows: the source attempts to deliver to an endpoint that is specified in the MediaLive input. The source is unaware of whether the content is being ingested by the MediaLive channel.

When the channel (that is connected to this input) is started, MediaLive reacts to the source and ingests it. When the channel is not running, MediaLive does not react; the source continues to publish to the endpoint, but MediaLive ignores that action.

A push input works only with a streaming source.