When Amazon Prime Video won the rights to stream NFL Thursday Night Football games in more than 200 countries, it knew it needed to provide the best possible experience for millions of fans watching their favorite teams. “With live sporting events, reliability and low latency are absolutely critical because every lost second negatively impacts viewers,” explains BA Winston, the global head of digital video playback and delivery for Amazon Video. “If there are any interruptions or buffering, the fans won’t watch.”
On top of that challenge, Amazon Prime Video had to make sure it could easily and quickly support large spikes in user traffic. “Although we have several mechanisms to forecast demand, we cannot be completely accurate,” says Winston. “Therefore, we needed to do sufficient scale testing and have an architecture that can quickly scale, handle spikes, and have sufficient caching in different layers to manage the demand."
The organization also needed to offer targeted advertising during games and be able to track ad data so that advertisers could gauge how effectively ads were performing.
Amazon Prime Video uses the Amazon Web Service (AWS) Cloud as the underlying technology for all its services. “AWS gives us the flexibility, elasticity, and reliability we require,” Winston says. Amazon Video also selected AWS Elemental, an Amazon Web Services company that combines deep video expertise with the power and scale of the cloud to empower media companies to deliver premium video experiences to consumers. “Amazon Video was already using AWS Elemental Cloud for live encoding and packaging for several live linear channels,” Winston says. The organization began using AWS Elemental for live encoding, packaging, and ad insertion for Thursday Night Football.
Over the course of 11 games during the 2017 NFL season, Amazon Prime Video sent live game broadcasts through six AWS regions and AWS Elemental. These services include AWS Elemental MediaTailor, which is used to monetize video content through the insertion of targeted advertising. “Previously, we were not doing ad insertion,” says Winston. “We learned about AWS Elemental MediaTailor before it was officially launched. We analyzed it, validated it for all our use cases, and tested it across a range of devices, and we used it for all the Thursday Night Football games."
A key component of MediaTailor is Amazon DynamoDB, which Amazon Prime Video uses as the key value store for the streaming platform. “We rely heavily on Amazon DynamoDB for high scalability and performance,” says Alex Zhang, a principal product manager for the AWS Elemental team. “During a four-hour game, there are many customers viewing concurrently, so we need to be able to quickly write to and read from a highly scalable back-end database—Amazon DynamoDB is that database. For example, when more than 300,000 video clients started polling for ad pods and configuration data simultaneously every time a commercial break hit, we immediately noticed that the application was experiencing peak demand exceeding what the DynamoDB tables in multiple regions were configured to support on a per-second basis. By adjusting the configuration in the DynamoDB console, we were able to quickly double the number of storage partitions allocated to the impacted tables, increasing the burst-through capability of the system and eliminating client API errors. DynamoDB routinely executes these types of seamless, on-demand scale operations thousands of times every day across millions of customer tables.”
The Thursday Night Football platform takes advantage of additional AWS services, including Amazon CloudFront for delivering video with low latency to a global viewership, and Amazon Elastic Compute Cloud (Amazon EC2) for managing compute capacity. Zhang says, “We worked very closely with the compute team to provision capacity that can elastically scale for such a global audience.”
With its cloud-based video-streaming platform, powered by AWS and AWS Elemental, Amazon Prime Video streamed 11 NFL games to a total of 18.4 million football fans in 224 countries and territories across the globe during the 2017 NFL regular season. Fans watched the games via the Amazon Prime Video app on more than 600 types of TVs, mobile devices, game consoles, set-top boxes, and connected devices. The average-minute audience (AMA) watching games for at least 30 seconds was more than 310,000, with those viewers watching an average of 63 minutes per game. Amazon Prime Video offered its own live commentary in three languages and streamed live commentary from the broadcaster in US English.
“Using the AWS Cloud, we were able to easily stand up instances across multiple regions worldwide,” says Winston. “We provided a highly redundant, low-latency, scalable, live sports-streaming solution to NFL fans all over the world because of the elasticity and flexibility of AWS. That redundancy, performance, and scalability also resulted in high reliability, which translated into a great viewing experience for people watching games throughout the season.”
Amazon Prime Video measured the fan viewing experience by using video-stream metrics. “We paid close attention to the reliability of the video stream, which we continually optimized in real-time to provide the best experience for our customers worldwide,” Winston states. “We tracked those metrics by device and geography, looking at the viewing experience during each game. For some devices, we found the latency was comparable and in some cases better than broadcast or cable channel playback, even with ads inserted.”
The organization used Amazon Kinesis and Amazon Elasticsearch Service to provide a seamless playback experience to its customers. Amazon Kinesis delivers the video stream data to Amazon Elasticsearch Service for application monitoring and faster data forensic analysis. With Amazon Elasticsearch Service, the organization was able to aggregate, analyze, and visualize petabytes of data, allowing it to get real-time insights into the application and find and fix streaming issues instantly.
“We collected a significant amount of data around quality of service, which is the experience viewers have on their devices,” says Winston. “That information was sent to Amazon Elasticsearch Service, and we used it to further optimize the overall playback experience in real-time.”
Amazon Prime Video used AWS Elemental MediaTailor to insert ads in real time, based on which region viewers were in. Amazon Video also used Amazon Kinesis as part of its infrastructure to collect quality-of-service metrics from devices worldwide. “We used MediaTailor to surface ad-viewing data to Amazon Video systems, which then reported the data to advertising partners,” Zhang says. “Getting the right data to the right partner is critical to facilitate accurate ad reporting.”
After a successful experience streaming NFL games, Amazon Prime Video streamed the inaugural Next Gen ATP Finals in November 2017 and recently launched CBS All Access, which gives Amazon Prime Video subscribers access to hundreds of live local channels across the United States. Winston says, “We have a lot of confidence in the AWS Cloud and AWS Elemental, and we look forward to using these technologies to broaden our reach in the future.”
Learn how to quickly, easily, and economically build video processing and delivery workflows at scale.