Behind the Scenes With Windows Azure Media Services: Case Study
Cloud-based streaming and production services can be a boon to any large broadcaster, providing scale, power, and features inaccessible from on-premises facilities with minimal capital expenditure (CAPEX) and maintenance expenditures. Microsoft’s IIS Media Services, long a staple in on-premises servers of many broadcasters and large enterprises, has migrated to the cloud and is now available as Windows Azure Media Services. In this article, I’ll discuss the features of the service, how it was proven during the 2012 London Olympics, and the benefits achieved by two early adopters, NBCUniversal and the European Tour (a golf event).
Meet Azure Media Services
Windows Azure Media Services is the “cloud-ification” of multiple features of Microsoft’s Media Platform, along with technologies made available from various media partners, many of which were critical to the London Olympics and successful results achieved by NBC and the European Tour. Azure Media Services supports on-demand (currently) and live streaming (in private preview), as well as dynamic packaging, which is the real-time transmuxing to and from HLS and Smooth Streaming formats, with DASH on the way (more on that later).
Azure also offers multiple services across the ingest-to-delivery workflow, including encoding, content protection, and monetization. Azure will not completely replace Microsoft’s existing on-premises offerings such as Windows Media Services or IIS Media Services, and enterprises considering making the switch should evaluate the distinctions closely. Perhaps the biggest sticking point mitigating against moving to Azure is the inability to transmit via IP Multicast, which is critical to efficient intranet streaming.
Figure 1 provides a high-level schematic of the features offered by Azure Media Services; let’s start with a high-level review of its components.
Figure 1. A high-level schematic of the features that Windows Azure Media Services offers
As with all large-scale cloud services, although some functions are available via a web user interface, you can control all Microsoft and partner-supplied features via a REST API. Microsoft also offers .NET and Java software development kits (SDKs), available open source on GitHub.com, since many corporate and broadcast developers are familiar with these languages.
For delivery, Microsoft provides client player SDKs for many devices and platforms, including Flash (using Adobe open source media framework; OSMF), iOS, Android, devices such as connected TVs and set top boxes, as well as Windows 8, Silverlight, Xbox, and Windows Phone (Figure 2). At a high level, these SDKs and player frameworks enable the devices to play back MPEG-DASH, Smooth Streaming, HLS formatted files, or MP4 files delivered via progressive download. The SDKs and player frameworks enable extensive control over video playback, including advertising insertion and digital rights management (DRM), providing player samples to help developers get up and running quickly.
Figure 2. Delivery options to Microsoft and non-Microsoft end points
As with all cloud-based services, Azure’s pricing varies by usage, with separate charges for computing time, reserved computing time, storage, outbound data (but not inbound), and services used. The base charge for media services is calculated on the amount of encoded throughput, which includes both inbound and outbound data. Pricing varies depending on commitment, with pay-as-you-go pricing starting at $1.99 per GB of data, with volume and commitments dropping that down as low as 69 cents per GB on the price sheet; it’s lower for higher negotiated volumes.
On the base plan, encoding is performed serially. If you need to encode faster, you can spin up additional encoders that will encode in parallel, and you are charged in 24-hour increments. In addition, if you elect to use dynamic packaging, which is further explained later, you’ll have to reserve additional origin capacity, which costs $199 per month for up to 200Mbps bandwidth capacity.
IT ALL STARTS WITH INGEST
For video on demand (VOD), Azure Media Services offers multiple ingest options, including the ability to upload files over HTTP or HTTPS with advanced encryption standard (AES)-256 encryption, which should work well for small numbers of day-to-day uploads. For larger uploads, you can either use the Bulk Ingest .NET Library or a partner solution such as Aspera On Demand for Microsoft Windows Azure, which runs Aspera transfer server software in the Windows Azure cloud. These transfers are secure and leverage Aspera’s patented fasp transport technology, which can dramatically accelerate transfer time over FTP and HTTP.
For producers already storing their content in Azure, Microsoft also supports “blob to blob” transfers and storage account to storage account transfers. Finally, for small jobs, you can also upload files less than 200MB in size directly via controls provided in the Windows Azure Portal.
ENCODING AND FORMAT CONVERSION
For encoding and format conversion, Microsoft has migrated two on-premises tools to the cloud: Expression Encoder (encoding) and Transform Manager (format conversion), although these tools will be supplemented by cloud-based versions of third-party encoders in the future. In terms of workflow, the Azure version of Expression Encoder, now called the Windows Azure Media Encoder, can input a broad range for formats, with the notable exception of QuickTime files using the ProRes format, a deficit that Microsoft attributes to lack of cloud licensing by Apple, although several other cloud-based encoders are compatible with ProRes.
The encoder can output single Windows Media Video (WMV) or multiple, GOP-aligned MP4 files, or encode either format into the Smooth Streaming file format for adaptive delivery (Protected Interoperable File Format; PIFF 1.1). Once created, either the MP4 files or H.264-encoded Smooth files can be transmuxed into HLS format for delivery to iOS, via either the Azure version of Transform Manager (called the Windows Azure Media Packager) or by the aforementioned dynamic packaging feature (Figure 3). Microsoft has demoed DASH support, which should be available soon. [Editor's Note: Since this article was written, Microsoft has introduced a preview feature of Program Manager for Dynamic Packaging that enables support for MPEG-DASH live profile streaming. Read more about it here.]
Figure 3. Dynamic packaging saves storage and encoding costs.
The key benefits of dynamic packaging are reduced storage and transcoding costs -- you only have to encode and store one set of files to deliver to multiple formats. Offsetting this is the cost of reserved origin units that you have to lease at $199 per month per unit.
Dynamic packaging also has some limitations. First, it’s transmux only; it will not transcode a single file into multiple iteration -- you’d have to do that first. Dynamic packaging also doesn’t work with encrypted content, though this should be available by the end of 2013. Until dynamic packaging can handle encryption, if you need to encrypt your content for Smooth and HLS, you’ll have to create two separate sets of files, applying AES 128-bit encryption for HLS and PlayReady for the Smooth Streaming files.
Note that neither RTMP or HTTP-based Dynamic Streaming is supported as an output format, either directly in Azure Media Encoder, or via Azure Media Packager or dynamic packaging. To reach Flash clients, Azure users would have to build a Flash client using the OSMF with Smooth Streaming plug-in, or use products such as JW Player to incorporate HLS playback into Flash-enabled computers.
Azure Media Services and the Olympics
Microsoft has a long history of debuting and proving its products in large-scale events, as with Smooth Streaming at the 2008 Summer Olympics. In the 2012 London Olympics, Microsoft proved the robustness of its own cloud-based components and those offered by third-party partners, resulting in a service that truly was more than a sum of its parts.
First, the numbers. In London, Azure Media Services delivered more than 2,300 hours of live and VOD HD content to more than 20 countries for multiple Olympics broadcasters, including France Télévisions, RTVE (Spain), CTV (Canada), and Terra (Central and South America).
In terms of workflow, Microsoft acquired a 1080i signal from Olympic Broadcasting Services, which was compressed to 17.7Mbps using the H.264 codec and MPEG-2 transport stream wrapper and multicast to multiple companies. From there, the stream was transcoded into eight different files, ranging from 150Kbps (336x192 resolution) to 3.45Mbps (1280x720) and published to multiple Windows Azure data centers for fault tolerance. From there, Akamai’s HD network delivered the streams. Once the live streams were finalized, they were immediately available for replay during and after the live event via a DVR feature -- no additional transcoding was necessary.
Smooth Streaming was the common adaptive format for the H.264 and AAC files. On computers, the streams were delivered to Silverlight players for native consumption, and they were played in Flash via a native ActionScript SDK developed with Canadian developer gskinner.com. Another developer, deltatre, created an iPhone and iPad player using the iOS Smooth Streaming SDK developed by Microsoft, and an Android player using a Smooth Streaming SDK for Android developed by NexStreaming.
Most of these features could have been duplicated by racks of on-premises encoders and servers, though the cost and set up time would have been prohibitive. One feature that couldn’t be easily duplicated via on-premises equipment was cloud-based editing. With multiple broadcasters involved, the Microsoft team needed to provide a solution that would enable the fast editing of newly captured footage for traditional and online broadcast without first downloading all the files to local storage.
A modular suite of components lets Azure customers gain more information from their videos, such as detecting faces and even emotions, and reading the text from slides.
Moving video delivery to the cloud can simplify operations while helping serve a growing demand.
Microsoft's platform is now ready for customers looking for a scalable end-to-end media solution that can upload, encode, and deliver content.
London Olympic Games will be an early showcase for the services, which offers custom media solutions for companies with widespread delivery needs.