AWS Elemental MediaLive — Reference Guide

09/09/2026

9

Key Summary

    AWS Elemental MediaLive is a real-time, broadcast-grade live video encoding service that converts live sources into multiple streams for delivery across devices. This guide explains where MediaLive fits in the live streaming workflow, how its channels, inputs, outputs, encodes, and pipelines work, and what teams should know about setup, redundancy, monitoring, pricing, quotas, and common OTT or broadcast use cases.

AWS Elemental MediaLive is a real-time, broadcast-grade live video encoding service that runs on AWS Cloud. The service ingests live sources from upstream systems (cameras, contribution encoders, AWS Elemental Link devices, etc.), decodes them, and re-encodes them (decode → encode) into multiple streams at different bitrates/resolutions for delivery to any device via downstream systems (origin/packager, CDN).

This is a standalone reference document dedicated to MediaLive — it does not reference the source code of any project. Its content covers: core concepts, input/output types, channel classes, encoding capabilities, key features, detailed setup and usage instructions, reliability & redundancy, pricing model, limits/quotas, and use cases. The original presentation style was bilingual: explanations in Vietnamese with English technical terms preserved for cross-referencing against official AWS documentation; this version has been fully localized into native technical English.

1. What is MediaLive?

What is MediaLive?

AWS Elemental MediaLive is a real-time, broadcast-grade, cloud-based live video processing service. The service encodes/transcodes live video content — decoding the input source and then re-encoding it — to compress the live source into high-quality streams suitable for delivery to playback devices such as smartphones and set-top boxes.

Purpose: Convert live video content from one format/wrapper to another that playback devices can process, and generate multiple versions (bitrate/resolution) for broadcast and streaming.

Position in the workflow: MediaLive sits at the encode/transcode stage:

Upstream system → Input → MediaLive Channel → Output → Downstream system → CDN → Playback device

  • The upstream system holds the source content (camera streaming, contribution encoder, AWS Elemental Link device).
  • The downstream system receives the output (an origin/packager such as MediaPackage, then a CDN such as CloudFront, then the playback device).
  • MediaLive can be used standalone or integrated with MediaConnect (transport), MediaPackage (packaging), MediaTailor (ad insertion), and MediaStore/S3 (storage).

Benefits: broadcast-quality output; automated provisioning (deployment within minutes); high availability across multiple Availability Zones; no upfront investment; pay-as-you-go pricing.

2. Core Concepts

  • Channel: the central component; ingests and transcodes source content from an input, then packages it into an output. A channel can be attached to multiple inputs but ingests from only one input at a time.
  • Channel class: STANDARD (2 pipelines) or SINGLE_PIPELINE (1 pipeline).
  • Input: describes how the upstream system connects to the channel; defines an endpoint on MediaLive (push) or a source IP (pull).
  • Input security group: an allow list of IP ranges, attached to a push input. One input is attached to one security group; one security group can serve multiple inputs.
  • Output: exists inside an output group; a collection of encodes.
  • Output Group: a collection of outputs within a channel; different types exist for different downstream systems.
  • Encode: three types — video, audio, and captions.
  • Pipeline: one or two parallel processing paths; two pipelines increase resiliency.
  • Schedule: a list of actions performed at specific times (input switch, image overlay, SCTE-35).
  • Other concepts: Source content, Upstream/Downstream system, Origin service/Packager, CDN, Playback device.

3. Input Types — Push vs Pull

MediaLive supports the following input types: CDI, HLS, Link, MediaConnect, MediaConnect Router, MP4, RTMP Pull, RTMP Push, RTP, SDI, SMPTE 2110, SRT Caller, SRT Listener, TS file.

Input Types — Push vs Pull

Description of each type:

  • CDI (push): an uncompressed stream inside a VPC delivered to a fixed endpoint.
  • HLS (pull): pulls HLS over HTTP/HTTPS, MediaStore, or S3 (the media must be a transport stream).
  • Link (push): the AWS Elemental Link hardware device pushes a TS stream.
  • MediaConnect (push): pushes a TS stream from a MediaConnect flow (using the flow ARN).
  • MP4 (pull): pulls an MP4 file over HTTP/HTTPS or from S3.
  • RTMP Pull / RTMP Push: RTMPS is not supported for input; RTMP Push requires a handshake.
  • RTP (push): pushes a TS stream over RTP to a fixed endpoint; supports VPC.
  • SDI: via MediaLive Anywhere, from a node within the cluster.
  • SMPTE 2110 (pull): receives an SMPTE 2110-compliant stream over RTP; supports 2022-7; NMOS is not supported.
  • SRT Caller (pull) / SRT Listener (push): via the SRT protocol, which can be encrypted.
  • TS file (pull): pulls a static .ts/.m2ts file.

Note: push inputs and pull inputs have different limits and charges.

4. Output Types (Output Groups)

MediaLive supports the following output groups: Archive, CMAF Ingest, Frame Capture, HLS, MediaConnect Router, MediaPackage, Microsoft Smooth, Multiplex, RTMP, RTMPS, SRT, UDP.

  • Archive: sends a TS file to S3 (maximum 1 Archive output group per channel) — used for VOD.
  • CMAF Ingest: sends to a packager that supports HTTPS PUT (live).
  • Frame Capture: a series of JPEGs sent to S3 (maximum 3 per channel) — VOD.
  • HLS (TS or fMP4): HTTP/HTTPS, Akamai CDN, MediaPackage (v1 & v2), MediaStore, S3 — live & VOD.
  • MediaConnect Router / MediaPackage (HTTPS WebDAV, live) / Microsoft Smooth (live) / Multiplex (MPTS, live) / RTMP/RTMPS (live) / SRT (output is always encrypted, live) / UDP (live).

Note on S3: bucket names must not use dot notation.

5. Channel Classes & Pipeline Redundancy

  • STANDARD (2 pipelines): the input has 2 entry points; the upstream sends 2 identical source streams; the 2 pipelines process identically and distribute to 2 destinations; placed in 2 separate Availability Zones → resiliency. If one pipeline fails, the downstream switches to the other output without interruption; MediaLive restarts the failed pipeline within a few minutes.
  • SINGLE_PIPELINE (1 pipeline): 1 destination; if the pipeline fails, output stops. Linked channels can be configured (Primary + Follower, same AWS account, one follower per primary) to enable pipeline locking.
  • Pipeline redundancy applies to the entire channel and every input; a standard channel is cheaper than two identical single-pipeline channels in the same Region.
  • Pipeline locking (output locking): output is frame-accurate across pipelines; enabled by default on a best-effort basis.
    • Mode: Pipeline locking (default) / Epoch locking.
    • Method: Source timecode (default) / Video alignment.
    • Applies to: HLS (Live), MediaPackage, CMAF Ingest, UDP/SRT (segmented); also Microsoft Smooth when using source timecode.

6. Encoding Capabilities: Codecs, Resolution, ABR, Audio

INPUT codecs/formats:

  • Video codec: H.264 (AVC), H.265 (HEVC), MPEG-2.
  • Audio: AAC, Dolby Digital, Dolby E, Dolby Digital Plus, MPEG Audio, PCM.

OUTPUT codecs/formats:

  • Video codec: AV1, H.264, H.265, MPEG-2. (AV1 output is supported on CMAF Ingest and MediaConnect Router.)
  • Audio: AAC, Dolby Digital (AC3), Dolby Digital Plus (EAC3), Dolby Digital Plus with Atmos, MPEG-1 Layer II.

Output resolution:

ResolutionRangeSupported codecs
SD< 720any codec
HD> 720 to ≤ 1080AV1, AVC, HEVC
UHD/4K> 1080 to ≤ 2160AVC, HEVC (no AV1)

Codec by output group:

Codec by output group:

ABR (Adaptive Bitrate): generates multiple outputs at different resolutions/bitrates within the same output group (e.g., HLS) to serve a range of devices; each rung is one video encode; encodes can be shared or cloned.

7. Key Features

  • Statmux / Statistical Multiplexing: allocates bits in real time across multiple channels, combining them into a single MPTS; distributed via satellite/cable/terrestrial; Statmux output always goes through MediaConnect; supports H.264/H.265 up to 1080p; maximum 20 programs/MPTS; maximum 72 Mbps; saves 20–40%.
  • Input switching: switch on a schedule or dynamically; 3 types: fixed, immediate, follow.
  • Scheduling: input switch, input prepare, image overlay (global/per-output), motion graphics, SCTE-35, ID3 metadata, pause/unpause.
  • SCTE-35 ad markers: splice_insert, time_signal, return-to-network.
  • Captions: Embedded, DVB-Sub, SCTE-27, Teletext, ARIB, Burn-in, WebVTT, SMPTE-TT, TTML, EBU-TT-D, etc.; OCR; accessibility.
  • Image overlays: global & per-output, up to 8 simultaneous layers. Motion graphics overlay: up to 1.
  • Advanced audio: Dolby Digital/Plus, Dolby Atmos encode, Dolby E decode; audio normalization (ITU-R BS.1770, CALM Act); audio rendition groups; multiple language tracks.
  • Nielsen watermarks, KLV/ID3 metadata.
  • MQCS (Media Quality Confidence Score): a 0–100 score for CMAF Ingest to MediaPackage; enabled automatically.
  • Other: Dynamic inputs, Input clipping, Low latency outputs, Multiplex/MPTS, 3D LUT, Workflow monitor.
  • MediaLive Anywhere (new): encoding on on-premises infrastructure, managed from the cloud; channel is single-pipeline; supports on-prem SDI; separate pricing.

8. Setup & Usage

8.0. Three ways to work with MediaLive

  • Workflow wizard — quickly creates a working channel; supports some common input/output combinations; automatically creates resources in other services too (e.g., MediaPackage). Suited to newcomers or for quickly scaffolding a setup.
  • Tutorial — a step-by-step console walkthrough (RTP input → 1 HLS output → MediaPackage).
  • Designing from scratch — full control over every setting; used for production.

8.1. Prerequisites

  • AWS account: create an account + an administrator (this step is not billed). Best practice: do not use the root user; for human users, prefer IAM Identity Center + temporary credentials.
  • Tools (optional): AWS Management Console, AWS CLI, AWS SDK (Go/JavaScript/.NET/Node.js/Python/Ruby), AWS Tools for PowerShell.
  • IAM Role for MediaLive — “trusted entity role” (VERY IMPORTANT): When a channel is running, MediaLive needs permission to operate on your resources (read/write S3, connect to MediaConnect/MediaPackage, etc.). You must configure MediaLive as a trusted entity: create a role (declaring MediaLive as the trusted entity) attached to policies that state the allowed operations + resources. The role is attached at the channel level (each channel can use a different role). Default role name: MediaLiveAccessRole.
    • Creating the role via the console: under General info → IAM role on the Create channel page. If one already exists → Use existing role → MediaLiveAccessRole. If not → Create role from template → Create IAM role. Choose Remember ARN to reuse it later.
    • ⚠️ Modifying the service role’s permissions can break functionality — only edit it when instructed by AWS.
    • Permissions the role may need: S3, MediaConnect, MediaPackage, Link, Secrets Manager (SRT/CDN passphrases), Systems Manager Parameter Store (passwords), CloudWatch + CloudWatch Logs, EC2 (VPC inputs), CloudFront, CloudFormation, Elemental Inference, Resource Groups, MediaLive Anywhere.
  • Region considerations: the MediaPackage channel and the MediaLive channel must be in the SAME Region; a MediaConnect flow input must be in the same Region as MediaLive; feature availability (AV1, MediaLive Anywhere) varies by Region.

8.2. Planning — working backward from output to input

The workflow consists of 3 systems: Upstream system → MediaLive → Downstream system. 6-step checklist:

  1. Determine the output groups you need based on the downstream system (format + application protocol; delivery over the internet or a VPC; consider Archive/Frame capture groups).
  2. Determine the encoding requirements (video & audio) for each output group.
  3. Decide the Channel class (resiliency): Standard (2 pipelines) or Single-pipeline.
  4. Assess the upstream system: record the Video codec, Resolution tier (SD/HD/UHD), Maximum input bitrate (used for Input specifications); determine the MediaLive input type, audio/caption format, and language(s).
  5. Gather identifiers for the source content (e.g., the audio languages that need to be extracted).
  6. Coordinate with the downstream party to obtain a destination for each output group.

8.3. STEP A — Create an Input Security Group (for push inputs)

  • Purpose: allow-list the IP ranges (CIDR blocks) permitted to push into MediaLive. One input is attached to 1 security group; one security group can serve multiple inputs; maximum 10 rules (CIDRs) per group.
  • Procedure: Console → Input security groups → Create input security group → enter one or more IPv4 CIDR blocks (each block with a subnet mask, separated by commas/newlines) → (optional) Tags → Create.
  • Example: 192.0.2.0/24 (any IP starting with 192.0.2); 192.0.2.111/32 (exactly one IP).

8.4. STEP B — Create an Input

Concept: an input describes how the upstream and the MediaLive channel connect. Push input: the upstream pushes to the endpoint MediaLive creates. Pull input: MediaLive pulls from the source IP. An input can be attached to only one channel.

Input class & redundancy: STANDARD_INPUT (2 sources) or SINGLE_INPUT (1 source). A PULL input always needs 2 source URLs (for single-pipeline, fill in source 1 and leave source 2 blank). MediaLive ALWAYS creates 2 endpoints for a push input.

B.1. RTMP Push

Inputs → Create input → Input name; Input type = RTMP (push); Network mode = Public; select/create an Input security group; Channel and input class; Input destinations → enter Application name + Application instance (e.g., live/curling) → Create. Result: MediaLive creates 2 endpoints with port 1935, e.g., 198.51.100.99:1935/live/curling and 192.0.2.18:1935/live/curling.

B.2. RTP Push

Inputs → Create input → Input name; Input type = rtp; create an Input security group (e.g., 203.0.113.111/32) → Create. Result: 2 destinations with port 5000, e.g., rtp://198.51.100.10:5000 and rtp://192.0.2.131:5000.

B.3. MediaConnect

Input type = MediaConnect; Channel and input class; ARN for flow A (+ flow B if applicable); Role ARN (e.g., MediaLiveAccessRole) → Create. MediaLive always creates 2 endpoints; it connects to the flow automatically (2 flows → 2 outputs in 2 AZs).

B.4. HLS Pull

Input type = HLS; Input class; Input sources (standard: 2 URLs; single: 1 URL); if credentials are needed → username + password key (Systems Manager Parameter Store) → Create. The HLS source media must be a transport stream; MediaLive pulls it when the channel starts.

8.5. STEP C — Create a Channel

Console → Channels → Create channel.

C.1. Channel and input details (key info)

Channel name; IAM role (see 8.1); (optional) Channel template; MediaLive Anywhere settings (if an on-prem cluster is used); Channel class (STANDARD 2-pipeline / SINGLE_PIPELINE 1-pipeline; Anywhere requires single-pipeline; if SINGLE_PIPELINE, also configure Linked channel settings: Primary/Follower for pipeline locking); Input specifications (Input codec, Input resolution SD/HD/UHD, Maximum input bitrate — used for billing & resource allocation, NOT for decoding; choose a value ≥ the actual value; choosing too low a value causes higher charges or degraded quality); Output delivery (internet/VPC); Tags.

C.2. Attach inputs

Input attachments → Add → select the created input → Confirm. Multiple inputs can be attached (for input switching).

C.3. Finish the settings for each input

Create Audio selectors + Caption selectors (REQUIRED if you want audio/captions included in the output; the video selector is usually automatic); General settings → Global configuration → Input loss behavior (applies to the whole channel). Leave other fields at their defaults; see the Info link on the console.

8.6. STEP D — Create Output Groups, Outputs & Encodes

Structure: an output group contains outputs; an output contains encodes (video/audio/captions). There must be ≥1 output group.

Output group types: Archive, CMAF Ingest, Frame capture, HLS, MediaConnect Router, MediaPackage, Microsoft Smooth, RTMP, SRT, UDP.

D.1. HLS output group

Output groups → Add → HLS → Confirm. HLS group destination:

  • Sending to S3: design the path (main manifest .m3u8, child manifest + nameModifier, media segment + nameModifier + segmentModifier + counter + .ts/.mp4; the counter starts at 00001; nameModifier must be unique per output and should start with a hyphen; protocol s3ssl://; all files go into the same folder).
  • Sending to MediaPackage (v1 uses WebDAV; v2 uses Basic PUT), MediaStore, or an HTTP server.

Add outputs for the ABR ladder (HLS outputs → Add output). Each output: link Settings → Output settings + Stream settings.

Encode organization (ABR): if the player needs bundled audio → each output = 1 video + all audio; if the player needs an audio rendition group → each video encode gets its own output + each audio encode gets its own separate output.

D.2. MediaPackage output group

  • v1 (HLS, channel ID): Add → MediaPackage → Confirm → enter the MediaPackage channel ID (e.g., curling-live).
  • v2 (CMAF ingest): MediaPackage destination → Region + channel group name + channel name + Endpoint ID (ENDPOINT_1 or ENDPOINT_2); Additional destinations for redundancy (standard: up to 2, single: up to 1); CMAF: each output carries only 1 stream type (video/audio/captions are kept separate). MediaPackage & MediaLive must be in the same Region.

D.3. Archive output group

Add → Archive → Confirm. Archive can contain only 1 output (do not Add output); it writes a TS file to S3; maximum 1 Archive group per channel.

D.4. RTMP output group

For social media/RTMP servers; supports H.264 + AAC only.

D.5. Configuring an ENCODE

  • scratch / share / clone: scratch = enter every field; share = reuse the same encode as-is; clone = copy then adjust a few fields (best to clone within the same codec).
  • Video encode: Codec (H264/H265/AV1); Width/Height (blank = match the input); Rate control; Framerate; Profile (H.264 Baseline/Main/High…; H.265 Main/Main_10BIT; AV1 Bit Depth + Level); Timecode; Color space.
  • Rate control mode: H.264/H.265 support QVBR/CBR/VBR (default CBR); AV1 supports QVBR (default)/CBR.
    • QVBR: targets a quality level without exceeding the Max bitrate; recommended when paying for bandwidth. Suggested quality levels: Primary screen 8–10 @ 4–6 Mbps; PC/Tablet 7 @ 1.5–3 Mbps; Smartphone 6 @ 1–1.5 Mbps.
    • VBR: average Bitrate + Max bitrate (not available for AV1).
    • CBR: a fixed Bitrate.
    • Billing: the Bitrate field affects output charges; if left blank → billed based on the Max input bitrate.
  • Audio encode: Add audio → Create a new audio description → Codec (AAC/AC3/EAC3/EAC3 Atmos/MPEG); Audio selector name (choose the selector created in C.3); (optional) Remix, Audio normalization (CALM Act –24 LKFS, EBU R-128 –23 LKFS); AAC: Bitrate/CodingMode/Profile/SampleRate.
  • Captions encode: in Stream settings (the Captions section); requires the corresponding caption selector.

8.7. STEP E — Save & Start the channel

Save (Create channel): MediaLive validates immediately and shows any errors; you CANNOT save a draft or a channel that still has errors. State: Creating → Ready (Idle).

Start: (1) begin streaming from the upstream to the correct endpoint (a push input must push BEFORE starting the channel); (2) Channels → select the channel → Start (Starting → Running); (3) decide whether to enable thumbnails BEFORE starting (this cannot be turned on afterward); (4) preview via MediaPackage if configured.

Start time: most channels start within ≤3 minutes, up to ~10 minutes at most. Recommendation: start ~2 hours before a major event.

8.8. Operations: Start/Stop/Pause & cost

A Running channel (started, even if a pipeline is paused) is billed even when it is not receiving/producing content; an Idle channel (stopped) is billed at the idle rate.

Start is always manual. Stop: Channels → select → Stop. Pause/unpause one or both pipelines using the Pause/Unpause action in the schedule (the channel remains running).

8.9. Working with the Schedule (Schedule actions)

Action types: Input switch; Input prepare; Global image overlay (applies to all outputs); Per-output image overlay (up to 8 layers); Motion graphics overlay (up to 1); SCTE-35; ID3 metadata; Pause/Unpause.

Three timing modes: Fixed (a UTC start time; overlay/SCTE-35 ≥15s, input switch ≥30s, global image activation ≥60s, ≤14 days; this is wall-clock UTC, not a timecode); Immediate (right away; a standard channel internally adds +10s to switch both pipelines simultaneously); Follow (chained after a reference action; the preceding input must be a file input with Source end behavior = Continue and Follow point = End).

Adding an action via the console: Channel → Schedule tab → List/Timeline view → Create → fill in the fields → Create.

SCTE-35: splice_insert (Splice event id, Duration); time_signal (Add Scte35 descriptors); return-to-network.

8.10. Input switching (Multiple-input channels)

Attach more than 1 input + add an input switch action to the schedule. Static vs. dynamic inputs (dynamic file inputs use $urlPath$). The FIRST input switch of a new channel should be an immediate switch (created before the channel starts). Actions can be added without stopping the channel.

8.11. Automatic Input Failover (AIF — failover pair)

  • Purpose: protects against upstream/network failures (different from pipeline redundancy). Supported input types: CDI, Link, MediaConnect, RTMP Push, RTP, SRT caller.
  • Detection conditions: Input loss, Black video, Audio silence.
  • Setup (RTMP/RTP): create 2 inputs of the same type (different network paths, identical content) → attach both → Input attachments → select the primary → Automatic input failover settings → Enable → select the Secondary input → Input preference (EQUAL_INPUT_PREFERENCE: stay on secondary; PRIMARY_INPUT_PREFERENCE: automatically switch back to primary) → enable Failover conditions.
  • MediaConnect: the standard setup needs 4 flows (A, B primary; C, D secondary) placed in the correct AZs; if the flow has source redundancy enabled (failover ~500ms) → set the MediaLive input-loss threshold > 500ms.

8.12. Monitoring & Operations

  • CloudWatch metrics: retained for 15 months; grouped as Global/Input/Output/Pipeline locking/MQCS. View them on the MediaLive console (Health tab) or the CloudWatch console (namespace AWS/MediaLive; viewing in CloudWatch is billed). Set alarms based on thresholds.
  • Channel alerts: view alerts while the channel is running.
  • Thumbnails: 1 JPEG every 2 seconds while running (1 for single-pipeline, 2 for standard); always encrypted; must be enabled BEFORE starting the channel.
  • Channel logs: sent to CloudWatch Logs for debugging.
  • Workflow monitor (2024): cross-service discovery/visualization/monitoring; creates signal maps + CloudWatch alarm templates + EventBridge rule templates (deployed via CloudFormation); supports MediaConnect/MediaLive/MediaPackage/MediaTailor/S3/CloudFront.

8.13. Updating & Cleanup (Editing / Cleanup)

  • Edit channel: only possible while Idle; Channels → Actions → Edit → Update channel. You CANNOT change the channel class via Edit. Tags can be edited at any time.
  • Delete: only possible while Idle (Stop first if running) → Delete.
  • Cleanup to avoid charges: Stop → Delete channel → Inputs → Delete; also delete the input security group if it is no longer used.

8.14. Automation (CLI / SDK / IaC / Wizard)

  • Valid --type values: UDP_PUSH, RTP_PUSH, RTMP_PUSH, RTMP_PULL, URL_PULL, MP4_FILE, MEDIACONNECT, INPUT_DEVICE, AWS_CDI, TS_FILE, SRT_CALLER, SRT_LISTENER, MULTICAST, SMPTE_2110_RECEIVER_GROUP, SDI, MEDIACONNECT_ROUTER. Push inputs use --destinations; PULL uses --sources (2 URLs); VPC uses --vpc (+ --role-arn).
  • Key create-channel parameters: --name, --channel-class, --role-arn, --input-specification, --input-attachments, --destinations (MediaPackageSettings: ChannelId for v1, or ChannelGroup+ChannelName+ChannelEndpointId+MediaPackageRegionName for v2), --encoder-settings. Tip: use --generate-cli-skeleton to export a JSON skeleton; use --dry-run to validate.
  • SCTE-35 timing in the schedule uses 90kHz ticks (1,350,000 ticks = 15 seconds).

SDK / CloudFormation / CDK: resources AWS::MediaLive::Channel, AWS::MediaLive::Input, AWS::MediaLive::InputSecurityGroup; AIF uses AutomaticInputFailoverSettings.

Workflow wizard: creates a CloudFormation stack containing the input + channel + related resources in other services; it is not used to modify an existing workflow.

8.15. Practical tips & common pitfalls

  • S3 buckets must NOT use dot notation; all HLS files go into the same folder; protocol s3ssl://.
  • A push input must be attached to an input security group; the endpoint MediaLive creates (RTMP port 1935 + /app/instance; RTP port 5000) is DIFFERENT from the IP in the security group — record it for configuring the upstream.
  • MediaLive always creates 2 endpoints for a push input; single-pipeline only uses the first endpoint.
  • A standard channel requires 2 identical source feeds.
  • The channel must be Idle to Edit/Delete; validation happens after Save; drafts cannot be saved.
  • You cannot change the channel class via Edit.
  • MediaPackage/MediaConnect must be in the same Region as MediaLive.
  • MediaPackage v2/CMAF: each output carries only 1 stream type.
  • Archive: 1 output per group, maximum 1 group per channel; Frame capture up to 3 per channel; RTMP supports H.264+AAC only.
  • Set the input specification at or above the real value; if a Link device is UHD but the input is HD, set Input resolution on the device to avoid being billed at the UHD rate.
  • Enable thumbnails BEFORE starting; start ~2 hours before a major event.
  • A running channel is always billed → Stop & Delete when not in use; pull inputs are not billed when idle, but push inputs + the channel are.
  • MediaConnect AIF + source redundancy: set the input-loss threshold > 500ms.
  • Passwords/credentials: Systems Manager Parameter Store; SRT passphrase & CDN identifier: Secrets Manager.

9. Reliability & Redundancy

(a) Pipeline redundancy (dual pipeline/standard channel): handles failures inside the MediaLive encoder pipeline; 2 pipelines run in separate AZs; the upstream provides 2 source instances (which can come from the same encoder).

(b) Automatic input failover (AIF): handles failures upstream of MediaLive (upstream/network); applied per push-input pair (CDI, Link, MediaConnect, RTMP Push, RTP, SRT caller); one active, one standby; detects input loss/black video/audio silence; the two sources come from different encoders.

Underlying infrastructure: redundant infrastructure across multiple AZs, self-monitoring and self-replacing, elastic scaling.

10. Pricing Model

⚠️ NOTE: figures vary by Region and over time; the examples below are from US East (N. Virginia) and illustrate the cost structure only; check 

https://aws.amazon.com/medialive/pricing/

Three options:

  • On-demand: billed hourly; rounded up to the minute, 10-minute minimum.
  • Reserved: saves up to 75%, requires a 12-month commitment, suited to >180 hours/month.
  • Discounted: 3–5 years, contact AWS.

Total cost: sum the cost of each input + output + add-on feature. A channel is billed while running even when it is not receiving/producing content.

  • Input pricing: based on codec/bitrate/resolution (AVC, HEVC, MPEG-2; Link is billed by device type; CDI has its own rate).
  • Output pricing: based on codec/bitrate/resolution/frame rate (AVC, HEVC, AV1, Statmux).
  • Add-ons (one-time per channel): Advanced audio, Audio normalization, Motion graphics.
  • Idle resources: only push inputs (RTP/RTMP Push, MediaConnect, Link) and the channel are billed while idle; pull inputs are not billed when idle.

Example (US East, on-demand):

  • Standard channel: 2 HD HEVC inputs + 5 AVC outputs + advanced audio ≈ $3.942/hour.
  • Single-pipeline ≈ $2.3652/hour.
  • Link HD input $0.50/hour; Link UHD $4.583/hour.

MediaLive Anywhere: priced separately based on the codec & highest output resolution, regardless of the number of inputs/outputs, with no add-on surcharges.

11. Limits, Quotas & Best Practices

Inputs: 0–2 push inputs per channel; maximum 20 inputs per channel; maximum 2 Link inputs; SMPTE 2110 0–1; maximum 32 audio+caption selectors; maximum 3 OCR caption selectors per input.

Outputs: maximum 1 Archive output group; maximum 1 MediaConnect Router output group; a CDI input → maximum 1 UHD output encode; maximum 40 audio encodes.

Other: 3D LUT up to 8 files; image overlay up to 8; motion graphics up to 1; multiplex up to 20 programs; schedule up to 1,500 actions; API 20 TPS steady/40 burst.

Best practices:

  • Use a standard channel for 24×7 workloads; combine with AIF for critical inputs.
  • Use Reserved pricing for >180 hours/month; stop/delete when not in use to avoid idle charges.
  • Enable pipeline locking; use Workflow monitor + CloudWatch.
  • Integrate MediaConnect + MediaPackage; use input prepare to reduce latency.
  • Follow S3 naming rules.

12. Use Cases

  • Live streaming events (sports, concerts, conferences).
  • 24×7 linear channels.
  • OTT/Multiscreen (ABR, combined with MediaPackage + CloudFront + MediaTailor).
  • Broadcast distribution (Statmux via satellite/cable/terrestrial).
  • Field video contribution (Link, MediaLive Anywhere).
  • VOD preparation (Archive/HLS VOD).
  • Hybrid/on-premises (MediaLive Anywhere).

Note: All pricing and quota/limit figures in this document may change by AWS Region and over time. The examples are intended only to illustrate the cost structure and configuration approach; always verify against the official AWS pages listed in the References section before deploying to production.

FAQs

What is AWS Elemental MediaLive?

AWS Elemental MediaLive is a real-time, broadcast-grade live video encoding service that runs on AWS Cloud. It ingests live video from upstream systems, decodes the source, and re-encodes it into multiple output streams for delivery through downstream systems such as origin services, packagers, CDNs, and playback devices.

What is AWS Elemental MediaLive used for?

AWS Elemental MediaLive is used for live event streaming, 24/7 linear channels, OTT and multiscreen delivery, broadcast distribution, video contribution from the field, and preparation of live content for later VOD use. It is commonly used with services such as AWS Elemental MediaPackage, AWS Elemental MediaConnect, Amazon CloudFront, Amazon S3, and AWS Elemental MediaTailor.

What is the difference between a Standard channel and a Single-pipeline channel in MediaLive?

A Standard channel uses two processing pipelines, usually placed in separate Availability Zones, to improve resiliency. If one pipeline fails, the downstream system can continue receiving output from the other pipeline. A Single-pipeline channel uses only one pipeline, so if that pipeline fails, the output stops.

What input types does AWS Elemental MediaLive support?

AWS Elemental MediaLive supports both push and pull inputs. Push inputs include CDI, AWS Elemental Link, MediaConnect, RTMP Push, RTP, and SRT Listener. Pull inputs include HLS, MP4, RTMP Pull, SRT Caller, and TS file. The right input type depends on the upstream source, delivery protocol, network setup, and reliability requirements.

What output formats can MediaLive create?

MediaLive can create output groups such as HLS, MediaPackage, CMAF Ingest, Archive, Frame Capture, RTMP, RTMPS, SRT, UDP, Microsoft Smooth, Multiplex, and MediaConnect Router. These output groups let live video workflows support different downstream systems, playback formats, packaging needs, and delivery use cases.

Meet the author

Dat Do

Dat Do

Senior Java Developer

Senior Java Developer with hands-on experience in backend development, media streaming, encoding, and OTT platforms. I also have experience working with AWS and building scalable, reliable systems. I enjoy solving technical challenges and improving system performance.

Solid circle

Sign me up
for the latest news!

Customize software background

Want to customize a software for your business?

Meet with us! Schedule a meeting with us!