Getting started with ultra-low latency using AWS Elemental Live — Part 1
AWS Elemental Live (version 2.19.0) now supports chunk delivery to AWS Elemental MediaStore, enabling a stable stream with 3-4 seconds end-to-end latency using standard HLS/DASH packaged content and delivered through traditional CDN’s. This allows customers to deliver low-latency video from on-premises to the cloud with great image quality and DRM integration, and take advantage of the many features build into the AWS Elemental Live encoder.
Next, I’ll go over a simple-to-deploy workflow to delivery ultra-low latency (ULL) video using AWS Elemental Live and MediaStore. Other video processing features and technologies may be incorporated if desired.
How it works
The AWS Elemental Live ULL workflow utilizes Common Media Application Format (CMAF) media files with chunked delivery. The CMAF media files provide smaller addressable fragments of video than traditional HTTP-based file segmentation. These fragments can progress through the delivery chain to the next component before the entire file segment has been created. In traditional HTTP streaming, an entire file had to be completely written before the next component can request it. Other optimizations in the AWS Elemental Live encoder include manifest creation, CDN integration, and player capabilities, mostly based on CMAF and chunk delivery.
To get started using the ULL workflow with your AWS Elemental Live encoder, follow the Getting started with Ultra Low Latency with AWS Elemental Live guided blog.
Requirements and specifications
The AWS Elemental Live encoder must be running version 2.19.0 or higher and can use either HDMI or SDI inputs. HDMI inputs will have slightly longer latencies. This workflow can generate single bitrate video streams, or multiple bitrate streams with slightly longer latencies. Both DASH and HLS outputs may be created. The HLS outputs will have slightly longer latencies. Either HEVC or H264 codecs may be used and both have the same latencies. HEVC has fewer player options but provides greater encoding efficiency. Quality-Defined Variable Bitrate (QVBR) rate control is suggested for efficiency.
The ULL workflow is designed to work with any player that supports a standard DASH or HLS stream. Different players deliver different latency and stability results. Players that are not optimized for ULL often see latencies in the 3 to 6 second range. DASH.js and NexPlayer are both optimized and deployed in production workflows by AWS Elemental field teams.
AWS Elemental MediaStore and Amazon CloudFront are utilized in this workflow and are available in most AWS Regions. Determine ahead of time which region near you supports MediaStore. This workflow has been tested at scale horizontally with 100,000 simultaneous viewers on a single stream and vertically with 2,600 concurrent streams. For larger deployments, work with the CloudFront team to make sure your event is provisioned sufficiently.
This blog post, the first of a two-part series, provides a step-by-step guide to building an ultra-low latency (ULL) workflow and best practices for ULL streaming.
See part 2: Getting Started with Ultra-Low Latency Using AWS Elemental Live