Containing Costs: How Publishers Can Save Money on ABR Encoding
Let me throw a couple of numbers at you. The first is shown in Figure 1, from Encoding.com’s “Global Media Format Report 2016,” which shows the respective share of the adaptive bitrate (ABR) formats produced by the cloud encoding service in 2015. As you can see in Figure 1, HTTP Live Streaming (HLS) dominates with 71 percent, Smooth Streaming is second with 19 percent, and Dynamic Adaptive Streaming over HTTP (DASH) is third with 10 percent.
I hear you thinking, “Smooth Streaming is second? All I hear about is DASH, DASH, DASH (and more DASH).” Yes, Smooth Streaming is second, which leads to the second number. That is, as recently as 2014, the percentage of viewers watching Netflix on gaming consoles like Microsoft Xbox, Sony PlayStation, or the Nintendo Wii totaled 43 percent. Though this number has clearly dropped since then, Encoding.com’s report attributes the Smooth Streaming number to the Xbox One, “which has evolved beyond a game console to become a leading means of delivering content, including OTT subscriptions.”
What does this mean? If you’re distributing premium content, you probably should support two if not three ABR technologies. And even if you’re distributing free content for training, sales, marketing, or other purposes, you’ll probably also have to support multiple ABR formats sometime in the future. As you’ll read in this article, there’s an expensive way to support multiple ABR formats, and an inexpensive way. It’s your money; give me a few minutes and I’ll show you how to save a bundle.
Figure 1. Share of ABR formats produced by Encoding.com in 2015
Let’s start with everyone on the same page. All videos, live and VOD, start with a single file. To deliver this file adaptively, we create multiple renditions of that file at various resolutions and data rates suitable for delivery to a range of playback devices. This group of files is often referred to as an encoding ladder.
All HTTP-based adaptive bitrate technologies like HLS, DASH, and Smooth Streaming use video stored in specific container formats with manifest files that identify the locations of those files for the player. HLS uses files stored in the MPEG-2 transport stream format (TS files) along with M3U8 manifest files. Smooth Streaming uses fragmented MP4 files stored in the ISMV format with ISM manifest files. DASH uses single or multiple MP4 files stored in the MP4 format with MPD manifest files. Completing the picture, Adobe’s HTTP-based Dynamic Streaming (HDS) uses fragmented MP4 files stored in the F4F format, with F4M manifest files.
Note that when HTTP-based adaptive streaming originated, each file in the encoding ladder had to be broken into separate chunks, usually 4 to 10 seconds long, which created an administrative and storage nightmare. Since them, all ABR technologies have incorporated the ability to work with a single source video file in the correct ABR format, retrieving segments from that file via byte-range requests from the player. Instead of retrieving a specific chunk, the player retrieves a specific segment from the single file, simplifying file creation and distribution.
The important thing to recognize is that you can use a single set of encoded H.264 files as the source for all ABR formats. That is, once you have the H.264 files encoded into the encoding ladder, it’s trivial to package them into multiple ABR formats. This is shown in Figure 2, from the Microsoft Azure website.
Figure 2. Creating multiple ABR packaging from a single set of encoded files (Image from Microsoft Azure website).
On the left is the single input file, which is then encoded into multiple files, usually in MP4 format. These files are then converted into the container format required by the specific ABR technology (if necessary), and the manifest file is created, a process often called transmuxing. The figure shows the multiple MP4 files packaged into HLS and Smooth Streaming formats, but the same schema works with DASH and HDS. Basically, once you have the encoded multiple-bitrate MP4 files, the hard work is done; transmuxing is a relatively lightweight operation that can be performed very quickly and efficiently.
So far, so good; you have the multiple files packaged in the ABR format necessary for delivery to your target player. What’s not so good? Well, think back to our original premise, the need to deliver using three ABR packages— HLS, Smooth Streaming, and DASH. If you create all three packages and upload them to the cloud for delivery, you just tripled your monthly storage costs. To add insult to injury, if you’re encoding in the cloud, you also may have tripled your encoding costs. As an example, the Amazon Elastic Transcoder can produce DASH, HLS, and Smooth Streaming ABR packaging, but if you use the service to do so, you’ll pay the normal rate three times for the privilege.
OK, you get it: Paying your cloud encoder to produce multiple ABR packages and storing them all in the cloud might not be the most financially prudent move. What’s the alternative? Dynamic packaging.
Delivery: Static vs. Dynamic
With dynamic packaging, you create the multibitrate MP4 files and upload them to a streaming endpoint as shown in Figure 3. As different players request chunks or byte-range requests in the video, the server retrieves the MP4 file, transmuxes to the necessary ABR format, and sends it to the player. While the chunk may be temporarily stored somewhere in the content delivery network’s HTTP caching structure, they are never stored on the streaming server, so you’re charged simply for the stored MP4 files. Since the server creates the ABR packaging dynamically, you’re never charged for that operation by your cloud encoder.
Figure 3. Dynamic packaging (Image from Microsoft Azure website)
You can perform dynamic packaging even if you are applying digital rights management to your video, or if you need to apply different caption formats for your target players. In most instances, there are few, if any, meaningful downsides.
Dynamic With Microsoft Azure
I’ll start with Microsoft Azure, the source of Figures 2 and 3. Here I spoke with Martin Wahl, principal program manager for global customer engagement. According to Wahl, though the Azure cloud encoder was formerly able to produce static packaging, the company is deprecating that capability as Microsoft urges its customers to create their packaging dynamically rather than statically.
The cost? Basically, it’s included in the cost of distribution. According to Wahl, with Azure, you can stream directly from the origin server, or use the Azure CDN, which adds points of presence (POS) at the edge, and caching, which should improve the overall quality of experience of your viewers. Both services charge by the gigabyte delivered, and in each case, dynamic packaging, including captions and encryption, is included. Or, you can send the packaged ABR videos from the origin server to a third-party CDN, in which case you’ll pay for the transfer bandwidth to the CDN, and dynamic packaging is also included.
Microsoft offers the license-free Azure Media Player for live and VOD playback of HLS, DASH, or Smooth Streaming formats with fallback to Flash or Silverlight. Microsoft can supply license keys for PlayReady or Widevine at a small extra charge or provide access to a range of third-party providers of this service.
Discussing the costs savings delivered by dynamic packaging, Wahl pointed me toward a case study on the Azure site that describes how Japanese premium content platform Rakuten ShowTime used Azure to simplify its distribution workflow and cut costs. Rakuten offered more than 120,000 videos for delivery to smart TVs, PCs, smartphones, tablets, and gaming platforms. Before moving to the Azure platform, the service created and stored separate iterations of each title in Smooth Streaming, HDS, HLS, and some others, oftentimes creating multiple iterations of these ABR formats for different DRM technologies.
In 2013, the number of discrete files managed exceeded 100 million, which was the limit of Rakuten’s on-premises storage management system. This prompted a move to the cloud, and discussions with Microsoft Azure. Rakuten ultimately switched to dynamic packaging in 2015, and it found three key benefits. First, Rakuten’s storage cost was “reduced to 25 percent of what it was before.” Second, the company was able to offer new titles faster because it no longer had to produce the multiple iterations. Third, since the number of output files was dramatically reduced, the company could more easily find and resolve file-related issues, which Rakuten stated cut management costs by “as much as 60 percent.”
How it Works With Wowza
One of the first (if not the first) to offer transmuxing capabilities was Wowza Media Systems, which offers the Wowza Streaming Engine for DIYs and the Wowza Streaming Cloud for those who want a managed service. Wowza pricing varies by product, but you can start with a subscription for the Wowza Streaming Engine for $65/month. Wowza Streaming Cloud has plans ranging from single live events to 24/7 broadcasting, and both products can deploy using the new Wowza Player.
Like Azure, both Wowza products can accept a single live input stream, convert that to multiple bitrate MP4 files, and then package these files for different display devices on-the-fly (Figure 4). The alternative, “old-style” of multiple format delivery required expensive hardware encoders at the live site to create the streams and packages, and sufficient bandwidth to get these streams out of the building in real time. The encoder cost and bandwidth savings make the combination of real-time transcoding and dynamic packaging a slam dunk for live event producers.
Figure 4. Real-time transcoding and dynamic packaging with Wowza Streaming Cloud
Netflix's compact mobile download files look surprisingly great. Here's how video creators make their own low-bitrate files look just as impressive.
Use a single adaptive group, packaged differently for different targets, to keep encoding and storage costs down.
Multicast-assisted ABR (M-ABR) is a low cost and easy-to-deploy solution that allows operators to see multicast gains on all in-home devices leveraging their TV Everywhere infrastructure.
Companies and Suppliers Mentioned