The AWS Media Services enable robust and resilient media workflows to over the top (OTT) devices for providers of all types and sizes. However, for some use cases, customers may be able to realize savings in a number of areas while still delivering a sufficiently reliable workflow. This post asks a series of questions to help you determine the most cost-effective workflow for various types of use.
Question 1: How frequently/how long will this workflow run?
The first question to ask yourself is where the workflow fits on a scale between one-off event production and 24×7 continuous operation. If a channel will be running anywhere near continuously for the next 12 months, consider purchasing AWS Elemental MediaLive reservations to cover the channel and input configuration(s). MediaLive reservations can be broken down into three types: input configuration, output configuration, and channel-wide.
- input configuration: this describes the resolution and bitrate of the incoming stream
- output configuration: describes the resolution, bitrate, and output of a single channel output
- channel-wide: currently two features that require a single reservation for a channel, advanced audio and audio normalization
When compared to on-demand pricing, reservations provide significant savings for 24×7 channels. Even if the channel is not run continuously, reservations still can save on cost as long as utilization reaches a certain threshold. The MediaLive console includes a feature that allows you to find the right reservations for a channel from the Channel Actions drop-down in the channel detail page. Keep in mind, MediaLive reservations are tied to particular input and output configurations, so if you have high utilization but channel configurations are constantly changing, this may not be the right fit. Also, a reservation can only be consumed by one channel at a time. This means running five channels concurrently for 20 percent of the time is not the same as running one channel 100 percent of the time. See the MediaLive User Guide for a complete description of reservations.
For less frequently used workflows, do you need to maintain consistent ingress/egress addressing? If not, you can save on idle charges by deleting and re-creating the workflow between sessions.
Question 2: What do I need from my outputs?
A key feature of OTT workflows is the use of multiple renditions, which vary bitrates and resolutions of outputs to optimize playback experience for users on different devices and under differing network conditions. A higher number of renditions gives more flexibility and gets viewers a higher-quality output generally speaking. But it does so with added expense on the encoding side.
It also lowers cache efficiency for CDNs, as viewers are split among more renditions. Consider how many renditions are useful for your workflow and delete ones that are either infrequently used or not sufficiently differentiated from their neighbors. Are you really benefiting from the high frame rate outputs or is your content perfectly acceptable with a 25–30 fps output? Similarly, there’s no value in creating a 1080p output when your source is only 480p. Also, consider using QVBR to get more quality out of your existing bitrates, further saving on CDN expense. Learn how AWS used QVBR during AWS re:Invent to increase visual quality while saving bandwidth.
Question 3: What other requirements do I have for the consumption of this content?
Consider your requirements when choosing an origin or packager service. If a simple streaming origin service will meet your needs, AWS Elemental MediaStore can be more cost effective than AWS Elemental MediaPackage. However, if you need any of the following capabilities, MediaPackage is the right choice:
- Delivery of DASH or Microsoft Smooth Streaming (MSS) endpoints, for devices that use these formats
- Use of DRM encryption to protect your content
- Time-shifted viewing window (DVR functionality)
- Live-to-VOD harvesting, for saving portions of your livestream for playback later
- Use of manifest filtering and query strings for particular codecs/bitrates/languages
Question 4: How sensitive am I to program interruptions?
With MediaLive’s standard-class channels, it is possible to create workflows that can perform failover between the two MediaLive pipelines if there is a pipeline or input issue. To make this work, it’s necessary to provide two feeds from the contribution encoder(s). To make the failover seamless, the two feeds must include embedded timecode. If your source is unable to provide redundant feeds for contribution, a single-pipeline channel can be used at considerably lower cost. If you’re using MediaStore as your origin service, see redundant HLS manifests. If you’re using MediaPackage, see live input redundancy AWS Elemental MediaPackage processing flow.
AWS Elemental Media Services are highly configurable and can provide a wide variety of playback quality, features, and resiliency. Careful consideration of the various settings and configuration choices allows you to get the right mix of capabilities and at the same time optimize your overall costs. If you have any questions, or want to share and learn more from others on this topic, visit the Media Services forums.
For an overview of sample architecture and quick start deployments, visit the AWS Live Streaming Solution.