Live Streaming Platform - Building Low-Latency Live Streaming with Amazon IVS

This article explains how to build low-latency live streaming with Amazon Interactive Video Service (IVS). It introduces the managed infrastructure, chat integration, the real-time stage feature, and how to choose between IVS and MediaLive.

The Challenges of Live Streaming and Where IVS Fits

Building live video streaming requires many components: video ingestion (Ingest), transcoding (conversion to multiple resolutions), packaging (conversion to HLS/DASH formats), delivery through a CDN, and player implementation. AWS offers a full-scale streaming pipeline that combines MediaLive (transcoding), MediaPackage (packaging), and CloudFront (delivery), but its configuration is complex and requires specialized knowledge. Amazon Interactive Video Service (IVS) is a fully managed live streaming service in which the service side takes on these components. When you create a channel and send a stream over RTMPS, IVS handles transcoding, delivery, and scaling. It is built on Twitch's streaming technology. Low-latency channels can deliver video with a latency of less than 5 seconds, and you can use them for real-time interaction with viewers (polls, Q&A, chat).

Creating a Channel and Starting a Stream

The steps to start using IVS are brief. When you create a channel, an RTMPS ingest endpoint and a stream key are issued. If you configure these in streaming software such as OBS Studio, you can start live streaming.

# Create the channel
aws ivs create-channel \
  --name my-live-channel \
  --latency-mode LOW \
  --type STANDARD \
  --region ap-northeast-1

# Information included in the response
# ingestEndpoint: xxxx.global-contribute.live-video.net
# streamKey: sk_ap-northeast-1_xxxx
# playbackUrl: https://xxxx.ap-northeast-1.playback.live-video.net/api/video/v1/ap-northeast-1.xxxx.channel.xxxx.m3u8

There are 4 channel types (advanced HD / advanced SD / standard / basic), and advanced and standard generate outputs in multiple qualities from the input. You choose the latency mode from LOW and NORMAL. If you enable the auto-record feature, you can automatically save live streams to S3 and use them for archive delivery (VOD).

Chat and Real-Time Stages

IVS Chat is a managed service that adds chat functionality to live streams. You create a chat room and send and receive messages through the WebSocket API. As moderation features, in addition to deleting messages and disconnecting users, if you associate a message review handler with a chat room, you can review and modify messages before they are delivered. Chat is charged according to the number of messages sent and delivered. The real-time stage feature provides two-way video communication based on WebRTC. Up to 12 participants can join a live discussion using their cameras and microphones, and you can stream that video directly to an IVS channel. It is suited to interview-style programs, panel discussions, and live streams with guest participation. The Player SDK is provided for Web (JavaScript), iOS (Swift), and Android (Kotlin), and you can embed a live player in your app. With automatic quality adjustment (ABR), the resolution switches according to the viewer's network conditions.

Choosing Between IVS and MediaLive, and Pricing

IVS and the combination of MediaLive + MediaPackage + CloudFront target different use cases. IVS specializes in interactive low-latency streaming and is suited to scenarios where two-way communication with viewers is important, such as live commerce on e-commerce sites, live classes in education, game streaming, and live coverage of internal company events. Setup is simple, and you can start streaming in a few minutes. MediaLive + MediaPackage is for broadcast-quality large-scale streaming and provides advanced features such as DRM (digital rights management), CMAF, ad insertion (SSAI), and multi-CDN delivery. It is suited to migrating TV broadcasting to the cloud, streaming large sporting events, and delivering paid content. The price of IVS live input is an hourly rate for each channel type. The price of viewing varies with the resolution and the region the content is delivered from, and the unit price per hour decreases as usage grows. Real-time stages are charged by the time of each participant connected to the stage.

Scalability and Making Use of Two-Way Interaction

A characteristic of IVS is that you can easily start low-latency streaming. Because the service side takes on the scaling of the streaming platform, you can reduce the work of expanding your own infrastructure when viewers surge. Taking advantage of the low latency, you can create two-way experiences in which streamers and viewers react to each other in real time. If you combine it with the chat feature and a mechanism that lets multiple participants appear on the same stream, you can build highly interactive applications such as live commerce, online events, and audience-participation programs. The immediacy of streaming and the ease of not having to think about scale become the foundation for creating new experiences.

Summary - Guidelines for Making Use of IVS

Amazon IVS is a service that provides low-latency interactive live streaming in a fully managed way. You can start streaming by creating a channel and sending over RTMPS, and the features required for live streaming, such as chat, real-time stages, the Player SDK, and auto-record, are integrated. It is suited to use cases that require real-time interaction with viewers, such as live commerce, online education, and internal company event streaming. When you need broadcast quality or DRM, MediaLive + MediaPackage is a candidate.

References (Official AWS Resources)

The primary sources for this page are the official AWS website and documentation. Check the official pages below for the latest specifications and pricing.

If this page and the official documentation disagree, treat the official documentation as authoritative.

Share