Amazon Web Services (AWS) offers its customers several methods to cost-effectively deliver live video content to a global audience on the AWS Cloud. These methods combine multiple AWS services with third-party AWS Partner Network (APN) products to help customers build cost-effective OTT solutions for live video streaming, however it is not always easy to decide between the potential options.

This webpage provides best practices and guidance to consider when choosing a live video streaming solution, third-party products to get you started with live video streaming on the AWS Cloud, and an AWS-provided solution that integrates an existing AWS Elemental Cloud deployment with other AWS services to build a highly available and cost-effective architecture that delivers an exceptional real-time viewing experience.

The following sections assume basic knowledge of architecting on the AWS Cloud, live video streaming, adaptive bitrate streaming, video encoding, and video packaging.

  • Solution Brief

    When streaming live video in the cloud, there are some universal video-streaming principles that will help you build highly scalable, performant, and resilient live streaming video solutions. Before you implement a streaming solution, determine the requirements for your use case. Consider your sources, encoding and playout formats, as well as the devices you want to target. Then, choose a solution that meets those requirements. Also, weigh the entire cost of the solution against the desired video quality and overall flexibility, scalability, and redundancy. Keeping these general principles in mind, consider the following best practices for live streaming video on the AWS Cloud:

    • To maximize the number of different devices you can target, encode your source at high quality (resolution and bitrate). Once in the AWS Cloud, transcode that contribution stream into multiple playout resolutions and formats. Encoding a single stream is more cost effective than encoding multiple streams and requires less bandwidth. Transcoding and packaging your stream into multiple playout formats allows your content to be viewed on computers, set-top boxes, tablets, smartphones, gaming consoles, and connected TVs.
    • To provide the best experience for all viewers, utilize HTTP-based adaptive bit rate (ABR) formats to let each device continually negotiate the highest quality bit-rate stream available. ABR formats automatically adjust the quality of the delivered content to match the bandwidth available to each client device. ABR-based delivery greatly reduces buffering, provides a fast start time, and provides an optimal viewing experience for a customer's available bandwidth.
    • Choose a streaming solution that complements your company’s existing processes and skill sets to ensure that you can manage and modify your solution to meet future requirements. This will streamline your live streaming video workflow and reduce operational complexity for developers and operators.
    • Clearly define an end-to-end workflow with a specific and well-understood design for redundancy and failover. Ensure transcoding, packaging, and origination software and settings are optimized for troubleshooting and management at scale.

    The AWS Cloud provides flexible infrastructure and tools to support both diverse partner offerings and self-managed live streaming video solutions. In general, the desired encoding and playout formats, as well as a company’s experience, budget, business requirements, and end-to-end workflow will determine which approach is most appropriate. The following sections describe native AWS services and an automated solution for live video streaming using AWS Elemental Cloud.

    AWS customers can choose to build their own live video streaming solutions. This can be a cost-effective, scalable way to help companies meet their live streaming needs.

    Amazon CloudFront can be used to deliver your live adaptive bitrate media content at scale to a global audience. Amazon CloudFront provides you the scale and flexible pay-as-you-go pricing model, and the use of HTTP protocols for streaming your live event offers your viewers easy access to your content. With Amazon CloudFront, you can use any software that outputs HTTP-based protocols to stream live video content, and Amazon CloudFront will cache and distribute that content globally.

    AWS Elemental Cloud is a platform built on AWS infrastructure that enables video providers to rapidly deploy multiscreen offerings for live and on-demand content. The platform automatically provisions and dynamically scales any combination of AWS Elemental video processing, delivery, and storage services within a secure private network. The flexibility of AWS Elemental Cloud allows content programmers, broadcasters, pay TV operators and enterprise customers to quickly and easily create enriched video offerings.

    AWS Elemental Cloud supports HLS, HDS, MSS, and MPEG-DASH along with advanced video encoding features such as HEVC, Dolby Digital audio, and motion graphic insertion.

    AWS Elemental Live provides real-time video and audio encoding for linear pay TV broadcast and live streaming to new media platforms. The software-based solution performs simultaneous processing of multiple video outputs, delivering the high-quality, high-efficiency performance required for formatting live video for any device. AWS Elemental Live is designed to integrate seamlessly into an end-to-end real-time video delivery workflow, evolve as technology requires and maximize revenue opportunities.

    AWS Elemental Delta is a video delivery platform designed to optimize the monetization, management and distribution of multiscreen video across internal and external IP networks. Through just-in-time (JIT) video packaging and intelligent caching, the platform enables a complete solution for time-shifted TV and real-time content delivery with advanced levels of customization and control, including network bandwidth optimization, profile manipulation and highly targeted ad insertion.

    AWS also offers an automated solution that integrates AWS Elemental Cloud with additional AWS functionality such as Elastic Load Balancing, Auto Scaling, and Amazon CloudFront to build a highly performant, scalable architecture that optimizes the viewing experience. Customers can easily deploy the solution in minutes using AWS CloudFormation. For more information, see the AWS Solution tab.

    The AWS Partner Network offers a variety of comprehensive live streaming video solutions that can help make it easier for companies of any size or stage of development to deliver live video content on the AWS Cloud. When selecting a third-party product, look for a solution that is easy to configure, leverages your company's existing technologies, and provides the desired encoding and playout formats.

    This approach may be appropriate for customers who have an existing partner tool in place for encoding and packaging on-premises live video streams and want to extend their solution to incorporate live video streams from cloud resources.

    See the Partner Offerings tab for a list of popular partner products.

    Download PDF Version of this Solution Brief
  • AWS Solution

    AWS provides a live streaming video solution that combines AWS Elemental Cloud, a service that enables customers to rapidly deploy multiscreen offerings for live and on-demand content, with Elastic Load Balancing, Auto Scaling, and Amazon CloudFront to build a highly resilient and scalable architecture that delivers your live content worldwide.

    The diagram below presents the live streaming video architecture you can automatically deploy using the solution's implementation guide and accompanying AWS CloudFormation template.

    1. The solution deploys Amazon CloudFront backed by Elastic Load Balancing to provide a highly available, fault tolerant architecture that delivers your content to a global audience.
    2. AWS Lambda configures your existing AWS Elemental Cloud environment, which includes AWS Elemental Live nodes for encoding to multiple adaptive bitrate resolutions, and AWS Elemental Delta nodes for just-in-time packaging and origination of your video content.
    3. A fleet of Amazon Elastic Compute Cloud (Amazon EC2) instances with Nginx caches content from the primary AWS Elemental Delta node and fails over to the secondary AWS Elemental Delta node if necessary. The Nginx cluster uses Auto Scaling to provide a scalable cache layer between AWS Elemental Cloud and Amazon CloudFront.
    4. Amazon CloudWatch collects and monitors logs for the Nginx cache cluster.
    Deploy Solution
    Implementation Guide

    What you'll accomplish:

    Deploy the live streaming solution using AWS CloudFormation. The CloudFormation template will automatically launch and configure the AWS components necessary to stream live video content on the AWS Cloud.

    Configure AWS Elemental Cloud to encode and package your content for adaptive bitrate streaming across multiple screens via HTTP live streaming (HLS) and Dynamic Adaptive Streaming over HTTP (DASH).

    Build a highly resilient and secure architecture using Elastic Load Balancing, Auto Scaling, Amazon CloudFront, and Nginx.

    What you'll need before starting:

    An AWS account: You will need an AWS account to begin provisioning resources. Sign up for AWS.

    An Elemental Cloud account: You will need a running Elemental Cloud deployment to use this solution. Contact AWS Elemental for more information.

    Skill level: This solution is intended for IT infrastructure architects, administrators, and DevOps professionals who have practical experience with video streaming and architecting on the AWS Cloud.

    Q: Can I use a different encoding and packaging product than AWS Elemental Cloud with this solution?

    No. This automated live streaming video solution requires a running AWS Elemental Cloud deployment.

    Q: What adaptive bitrate (ABR) formats does AWS Elemental Cloud support?

    AWS Elemental Cloud supports HLS, HDS, MSS, and MPEG-DASH along with advanced video encoding features such as HEVC, Dolby Digital audio, and motion graphic insertion.

    Q: Can I deploy this solution in any AWS Region?

    You must deploy this solution in an AWS Region that supports AWS Elemental Cloud. This solution includes two templates for deployment. The primary template uses AWS Lambda, which is currently available in specific AWS Regions only. To use the primary template, you must deploy this solution an AWS Region where Lambda and AWS Elemental Cloud services are available (see AWS service offerings by region). The secondary template uses a Python script instead of AWS Lambda for deployment. Use the secondary template to deploy this solution in an AWS Region where Lambda is not available.

  • Partner Offerings

    ooyala

    Ooyala's suite of video workflow, publishing, analytics and advertising products help you engage your audience and earn more with personalized OTT experiences. Learn more »

    brightcove

    Brightcove lets you rapidly deploy high-quality live and on-demand video across multiple platforms with no development costs. Learn more »

    nginx-plus

    Nginx Plus streams content to any device, enhanced with appropriate access controls, bandwidth management, and session persistence. Learn more »

    wowza-media-systems

    Wowza delivers an extensible solution set that provides unparalleled customization, configuration, and control for an unlimited number of streaming use cases.  Learn more »

    adobe-media-server

    Adobe Media Services enables a single packaging and protection workflow for delivering all your video assets to the broadest device landscape. Learn more »

    unified-streaming

    Unified Streaming delivers video content to multiple clients and devices, with built-in support for DRM, multiple types of audio, and subtitles. Learn more »

Tell us what you think