Skip to main content

AI & assistant-friendly summary

This section provides structured content for AI assistants and search engines. You can cite or summarize it when referencing this page.

Summary

> AWS lifecycle notice (June 30, 2026) — Amazon Chime SDK Carrier Voice Focus reached end of support on June 30, 2026. Use Chime SDK Voice or third-party telephony for new workloads. Full matrix: lifecycle roundup

Key Facts

  • •CloudFront egress still dominates steady-state — model it before you buy encoders
  • •AWS lifecycle notice (June 30, 2026) — Amazon Chime SDK Carrier Voice Focus reached end of support on June 30, 2026
  • •Use Chime SDK Voice or third-party telephony for new workloads
  • •This post is the video pipeline layer — not e-commerce peak traffic (HTTP cart scaling), not Kinesis vs MSK (event streaming analytics), and not CloudFront vs Cloudflare (CDN vendor comparison)
  • •8k/mo modeled at ~22 TB delivered)

Entity Definitions

S3
S3 is an AWS service discussed in this article.
CloudFront
CloudFront is an AWS service discussed in this article.
CloudWatch
CloudWatch is an AWS service discussed in this article.
IAM
IAM is an AWS service discussed in this article.
EventBridge
EventBridge is an AWS service discussed in this article.

Media & OTT Streaming on AWS (2026): Live vs VOD Architecture, Egress Math, and When IVS Beats Elemental

Cloud ArchitecturePalaniappan P4 min read

Quick summary: On a composite mid-market OTT platform (~180k concurrent live peak, ~12 TB/month VOD catalog), routing Saturday-night live through MediaConvert batch queues added ~$4,200/mo in idle transcode capacity before switching live to IVS and keeping MediaConvert for catalog only. CloudFront egress still dominates steady-state — model it before you buy encoders.

Key Takeaways

  • CloudFront egress still dominates steady-state — model it before you buy encoders
  • AWS lifecycle notice (June 30, 2026) — Amazon Chime SDK Carrier Voice Focus reached end of support on June 30, 2026
  • Use Chime SDK Voice or third-party telephony for new workloads
  • This post is the video pipeline layer — not e-commerce peak traffic (HTTP cart scaling), not Kinesis vs MSK (event streaming analytics), and not CloudFront vs Cloudflare (CDN vendor comparison)
  • 8k/mo modeled at ~22 TB delivered)
Media & OTT Streaming on AWS (2026): Live vs VOD Architecture, Egress Math, and When IVS Beats Elemental
Table of Contents

AWS lifecycle notice (June 30, 2026) — Amazon Chime SDK Carrier Voice Focus reached end of support on June 30, 2026. Use Chime SDK Voice or third-party telephony for new workloads. Full matrix: lifecycle roundup.

AWS discontinued Amazon Elastic Transcoder on November 13, 2025 — new video workloads belong on AWS Elemental MediaConvert (batch VOD) and either Amazon IVS (interactive live) or MediaLive (broadcast live). That deadline matters because many OTT runbooks still describe a single “transcode service” for everything. Live and catalog are different jobs; billing proves it fast.

This post is the video pipeline layer — not e-commerce peak traffic (HTTP cart scaling), not Kinesis vs MSK (event streaming analytics), and not CloudFront vs Cloudflare (CDN vendor comparison). We ship a live vs VOD decision matrix, egress cost model CSV, DRM packaging checklist, and streaming pipeline draw.io.

Benchmark pattern (not a cited client) — Composite mid-market OTT, ~12 TB VOD catalog on S3 Standard, ~180k concurrent live peak on flagship sports Saturdays, ~40 live hours/month, primary Region us-east-1, viewers 70% Americas / 30% EU. Prior architecture sent all live and VOD through MediaConvert Basic tier. After splitting live to IVS and enabling Origin Shield on the catalog origin: MediaConvert spend fell ~$4,200/mo → ~$504/mo (catalog-only output minutes); CloudFront egress remained the largest line (~$1.8k/mo modeled at ~22 TB delivered). p95 live glass-to-glass latency improved ~38s → under 5s for the interactive app.

Four jobs — four mechanisms

JobMechanismWrong default
Interactive liveAmazon IVS (low-latency)MediaConvert batch for Saturday night
Broadcast / ad-insertion liveMediaLive + MediaPackageIVS when you need SCTE-35
VOD catalogMediaConvert → S3 → packageRe-transcode live capture nightly
Global deliveryCloudFront (+ Origin Shield)S3 website endpoint to viewers

Opinionated take: IVS for interactive live; MediaLive for broadcast live; MediaConvert for catalog only. Syndication always terminates at CloudFront — price egress before codecs.

Live path: IVS vs MediaLive

Amazon IVS targets sub-5-second glass-to-glass for interactive experiences (AWS documents under 5 seconds for low-latency channels). Ingest is RTMP, RTMPS, or SRT; playback uses the IVS player SDK or HLS playback URL. Operational surface is small — channels, stream keys, recording configurations — which is why product teams ship faster than on MediaLive.

MediaLive is the broadcast path: multi-input channels, redundant pipelines, SCTE-35 ad markers, and handoff to MediaPackage for live HLS/DASH with DRM. Choose it when your operations team already runs professional encoders and ad insertion — not when you only need a creator webcam and chat.

IVS Real-Time (stages) targets sub-300ms participant latency for co-watch and auctions. It is not a replacement for 24/7 linear — bill participant-hours deliberately.

VOD path: MediaConvert and packaging

MediaConvert bills normalized output minutes with Basic vs Professional tiers (Professional for HEVC, AV1, multi-pass, DRM). Volume discounts apply per Region. Typical catalog flow:

  1. Mezzanine uploads land in S3 (or arrive from MAM export).
  2. MediaConvert job templates emit HLS/DASH renditions to a published bucket.
  3. Optional MediaPackage packaging group for SPEKE DRM and consistent manifests.
  4. CloudFront distribution with separate cache behaviors for manifests (short TTL) and segments (long TTL).

Context for a one-off probe — AWS CLI 2.x, us-east-1:

aws mediaconvert describe-endpoints --region us-east-1
aws mediaconvert list-jobs --max-results 5 --endpoint-url <ACCOUNT_ENDPOINT>

Egress math (where OTT budgets actually go)

Once catalog encoding is amortized, data transfer out via CloudFront dominates. The egress CSV models:

  • Catalog-only replay factor (~1.3× catalog TB/month as delivered egress)
  • Origin Shield incremental cost vs duplicate origin fetches
  • Failure row: live misrouted through MediaConvert (output minutes explode)

Pair with data transfer traps when origin and analytics buckets sit in different Regions — video origins are not exempt from cross-Region charges on admin traffic.

What broke — Opening weekend for a licensed sports package. Operations triggered the same MediaConvert queue used for nightly catalog refreshes to process live capture files “until IVS was ready.” Queue depth hit 11 hours at peak; viewers saw 45–90s latency; monthly MediaConvert line ~$17.5k vs ~$700 baseline. Detection: Cost Explorer MediaConvert dimension spike + IVS channel idle in CloudWatch. Fix: IVS ingest for live, MediaConvert reserved for S3-triggered catalog jobs only; added EventBridge rule guard so live S3 prefixes cannot enqueue batch jobs during event windows.

DRM and multi-CDN cautions

Premium catalogs need MediaPackage SPEKE with KMS-backed keys — see the DRM checklist. Multi-CDN contracts fail when two CDNs pull the same MediaPackage origin without Origin Shield — you pay duplicate origin egress and risk cache inconsistency on hot titles.

What to do this week

  1. Split live and VOD IAM and queue boundaries — no shared MediaConvert queue.
  2. Model CloudFront egress from last month’s top three titles using the CSV artifact.
  3. Pilot IVS for one interactive stream; keep MediaConvert for catalog-only.
  4. Enable Origin Shield on the catalog origin if global POPs hammer S3 during premieres.
  5. Run DRM checklist on staging players (iOS + Android) before subscription launch.

What this post doesn’t cover

  • Studio MAM, IMF, and on-prem playout — ingest starts after MAM export.
  • Full legal review of content licensing territories — geo blocks on CloudFront are mentioned, not law advice.
  • Amazon Kinesis / analytics on viewing events — see Kinesis decision guide.
  • Retail e-commerce peak scaling — retail architecture.

Related: CloudFront pricing · Data transfer costs · Architecture review services

Frequently asked questions

When should we use Amazon IVS instead of AWS Elemental MediaLive?
Choose Amazon IVS for interactive live experiences that need sub-5-second glass-to-glass latency — creator streams, live shopping, sports companion apps, and chat-heavy events. IVS ingests RTMP, RTMPS, or SRT and delivers through AWS-managed low-latency infrastructure built on the same core technology as Twitch. Choose MediaLive when you need broadcast-grade features: multi-rendition HLS/DASH with SCTE-35 ad insertion, professional contribution workflows, or tight integration with MediaPackage for live DRM. IVS is the default for net-new interactive products; MediaLive is the default when your operations team already speaks broadcast.
When should we NOT move our OTT stack to AWS Elemental?
Skip a full Elemental rebuild when you have a sunk-cost third-party packager (Bitmovin, Harmonic, etc.) that your operators already run — AWS can still be S3 origin plus CloudFront delivery. Do not replace a studio MAM with Glue jobs; ingest after MAM export. If primary distribution is YouTube or TikTok ingest APIs, AWS is your owned-app CDN, not the social platform pipe. Internal town halls under 500 viewers rarely justify MediaLive cluster cost — IVS or Chime SDK is simpler.
What breaks when live events are routed through VOD transcode?
Batch MediaConvert jobs are sized for catalog refresh, not spike live ingest. A live sports window routed through the same queue as catalog episodes creates queue depth, stale segments, and bill shock — you pay output minutes for renditions that should be real-time. Symptoms: viewers see 30–90 second latency, manifest gaps during peak, and MediaConvert line items 5–10× normal on event nights. Fix: split pipelines — IVS or MediaLive for live; MediaConvert on S3 events for VOD only.
How does CloudFront Origin Shield help OTT catalogs?
Origin Shield adds a centralized caching layer in the AWS Region closest to your origin (S3 or MediaPackage). Without it, each CloudFront regional edge cache may fetch the same hot object independently, multiplying origin egress and MediaPackage origin load during global premiere weekends. Origin Shield incurs additional per-request and data-processing charges but often pays back when a single title fans out across dozens of POPs. Enable it per origin after measuring cache hit ratio — not on day one before you have traffic shape.
Does IVS Real-Time replace MediaLive for linear channels?
No. IVS Real-Time targets sub-300ms participant-to-participant latency for stages, co-watch, and auctions — not 24/7 linear broadcast with ad markers. Real-Time bills on participant connection duration and message volume; operating it like a linear channel without audience caps is a cost trap. Use Real-Time when interactivity is the product; use MediaLive plus MediaPackage for traditional linear.
What could go wrong during DRM go-live?
FairPlay playback fails while web works — certificate or SKD URL mismatch. All clients get manifest 403 — CloudFront origin access control not aligned with MediaPackage. License server retry storms after key rotation — players hammer expired keys. Run the DRM packaging checklist artifact in staging with reference iOS and Android players before prod cutover.
Palaniappan P
Palaniappan P

AWS Cloud Architect & AI Expert

AWS-certified cloud architect and AI expert with deep expertise in cloud migrations, cost optimization, and generative AI on AWS.

AWS ArchitectureCloud MigrationGenAI on AWSCost OptimizationDevOps

Recommended Reading

Explore All Articles »