The M2A LIVE service provides an API for creating and managing the resources required to deliver a live streaming video workflow on top of the AWS media services suite, including AWS MediaLive.
In this version, the following resources are supported:
Encoders
An encoder resource represents the encoding of a single logical input stream into one or more output renditions that may be distributed to one or more destinations of the same type.
Encoders must be created within an M2A Cloud Target Account which has been set up for your Organisation. Each encoder is associated with a specific AWS region. If multi-region resiliency is required, multiple encoders are defined in different AWS regions.
Input Specification
In the current version, input sources may be a pre-defined M2A CONNECT source, an RTP stream (with optional FEC), an RTMP push stream or an MP4 file from AWS S3.
For M2A CONNECT sources, this API must be provided with:
- An M2A CONNECT source ID
- A corresponding AWS MediaConnect flow ARN
During encoder start up, AWS MediaLive inputs will be created to match the specified sources, which are then attached to the MediaLive channel. The channel attachments are populated with selectors and other configuration from configuration fragment assemblies described above. For this, each source must be named and then subsequently referenced in one or more of the assemblies.
If two sources share a name, they will form a failover pair.
Destinations
As the name suggests, destinations describe the location where encoded media should be sent to. Either as a URL or ARN. Each destination must be given a unique name. These names can then be referenced in each configuration fragment assembly.
If the destination determines where media is sent, the output fragment of an assembly determines how. As such, it is important to use destinations which correspond to the type of output fragment to which it will be bound. For example, using HTTPS URLs with Smooth streaming outputs and channel ARNs with AWS MediaPackage outputs.
Multiple destinations can be configured to support a resilient packaging cluster. In such a configuration, each destination should be separately bound to identical yet distinct assemblies.