Earlier this year we announced Windows Azure Media Services. Windows Azure Media Services is a cloud-based PaaS solution that enables you to efficiently build and deliver media solutions to customers. It offers a bunch of ready-to-use services that enable the fast ingestion, encoding, format-conversion, storage, content protection, and streaming (both live and on-demand) of video. Windows Azure Media Services can be used to deliver solutions to any device or client - including HTML5, Silverlight, Flash, Windows 8, iPads, iPhones, Android, Xbox, and Windows Phone devices.
Windows Azure Media Services and the London 2012 Olympics
Over the last few weeks, Windows Azure Media Services was used to deliver live and on-demand video streaming for multiple Olympics broadcasters including: France Télévisions, RTVE (Spain), CTV (Canada) and Terra (Central and South America). Partnering with deltatre, Southworks, gskinner and Akamai - we helped to deliver 2,300 hours of live and VOD HD content to over 20 countries for the 2012 London Olympic games.
Below are some details about how these broadcasters used Windows Azure Media Services to deliver an amazing media streaming experience:
Automating Media Streaming Workflows using Channels
Windows Azure Media Services supports the concept of “channels” - which can be used to bind multiple media service features together into logical workflows for live and on-demand video streaming. Channels can be programmed and controlled via REST API’s – which enable broadcasters and publishers to easily integrate their existing automation platforms with Windows Azure Media Services. For the London games, broadcasters used this channel model to coordinate live and on demand online video workflow via deltatre’s “FastForward” video workflow system and “Forge” content management tools.
Ingesting Live Olympic Video Feeds
Live video feeds for the Olympics were published by the Olympic Broadcasting Services (OBS), a broadcast organization created by the International Olympic Committee (IOC) to deliver video feeds to broadcasters. The OBS in London offered all video feeds as 1080i HD video streams. The video streams were compressed with a H.264 codec at 17.7 Mbps, encapsulated in MPEG-2 Transport Streams and multicast over UDP to companies like deltatre. deltatre then re-encoded each 1080i feed into 8 different bit rates for Smooth Streaming, starting at 150 kbps (336x192 resolution) up to 3.45 Mbps (1280x720) and published the streams to Windows Azure Media Services.
To enable fault tolerance, the video streams were published simultaneously to multiple Windows Azure data centers around the world. The streams were ingested by a channel defined using Windows Azure Media Services, and the streams were routed to video hosting instances (aka video origin servers) that streamed the video live on the web. Akamai’s HD network was then used to provide CDN services:
Streaming to All Clients and Devices
For the 2012 London games we leveraged a common streaming playback model based on Smooth Streaming. For browsers we delivered Smooth Streaming to Silverlight as well as Flash clients. For devices we delivered Smooth Streaming to iOS, Android and Windows Phone 7 devices. Taking advantage of universal support for industry standard H.264 and AAC codecs, we were able to encode the content once and deliver the same streams to all devices and platforms. deltatre utilized the iOS Smooth Streaming SDK provided by Windows Azure Media Services for iPhone and iPad devices, and the Smooth Streaming SDK for Android developed by Nexstreaming.
A key innovation delivered by Media Services for these games was the development of a Flash based SDK for native Smooth Streaming playback. Working closely with Flash development experts at gskinner.com, the Windows Azure Media Services team developed a native ActionScript SDK to deliver Smooth Streaming to Flash. This enabled broadcasters to benefit from a common Smooth Steaming client platform across Silverlight, Flash, iOS, Windows Phone and Android.
Below are some photos of the experience live streamed across a variety of different devices:
Samsung Galaxy playing Smooth Streaming
iPad 3 playing back Smooth Streaming.
Nokia Lumia 800 playing Smooth Streaming
France TV’s Flash player using Smooth Streaming
Benefit of Windows Azure Media Services
During the Olympics, broadcasters needed capacity to broadcast an average of 30 live streams for 15 hours per day for 17 days straight. In addition to Live streams, Video On-Demand (VOD) content was created and delivered 24 hours a day to over 20 countries - culminating in millions of hours of consumption.
In the absence of Window Azure Media Services, broadcasters would have had to 1) buy/lease the needed networking, compute and storage hardware, 2) deploy it, 3) glue it together to meet their workflow needs 4) manage the deployment and run it in multiple data centers for fault tolerance, 5) pay for power, air-conditioning, and an operations monitoring and support staff 24/7.
This is where the power and flexibility of Windows Azure Media Services shined through. Broadcasters were able to fully leverage the cloud and stand-up and configure both the live and on-demand channels with a few lines of code. Within a few minutes, all of the necessary services, network routing, and storage was deployed and configured inside Windows Azure - ready to receive and deliver content to an enormous audience.
Online delivery of an event the size of the Olympics is complex - transient networking issues, hardware failures, or even human error can jeopardize a broadcast. Windows Azure Media Services provides automated layers of resiliency and redundancy that is typically unachievable or too costly with traditional on-premise implementations or generic cloud compute services. In particular, Windows Azure Media Services provides redundant ingest, origin, storage and edge caching services – as well as the ability to run this all across multiple datacenters – to deliver a high availability solution that provides automated self-healing when issues arise.
Automating Video Streaming
A key principle of Windows Azure Media Services (and Windows Azure in general) is that everything is automated. Below is some pseudo-code that illustrates how to create a new channel with Windows Azure Media Services that can be used to live stream HD video to millions of users:
// connect to the service:
var WAMSLiveService = new WAMSLiveService(serviceUri);
// Then you give us some details on the channel you want to create, like its name etc.
var channelSpec = new ChannelSpecification()
Name = “Swimming Channel”;
Eventname = “100 Meter Final”;
// Save it.
// Create all the necessary Azure infrastructure to have a fully functioning, high performance, HD adaptive bitrate Live Channel
WAMSLive.Service.Execute<string>(new Uri(“AllocateChannel?channelID =55”));
Broadcasters during the London 2012 Olympics were able to write code like above to quickly automate creating dozens of live HD streams – no manual setup or steps required.
With any live automation system, and especially one operating at the scale of the Olympics where streams are starting and stopping very frequently, real-time monitoring is critical. For those purposes Southworks utilized the same REST channel APIs provided by Windows Azure Media Services to build a web-based dashboard that reported on encoder health, channel health, and the outbound flow of the streams to Akamai. Broadcasters were able to use it to monitor the health and quality of their solutions.
Live and Video On-demand
A key benefit of Windows Azure Media Services is that video is available immediately for replay both during and after a live broadcast (with full DVR functionality). For example, if a user joins a live event already in progress they can rewind to the start of the event and begin watching or skip around on highlight markers to catch up on key moments in the event:
Windows Azure Media Services also enables full live to VOD asset transition. As an event ends in real time, a full video on-demand archive is created on the origin server. There is zero down time for the content during the transition, enabling users who missed the live stream to immediately start watching it after the live event is over.
Real-Time Highlight Editing
Broadcasters need a solution that enables them to easily cut and create real-time highlight videos from the thousands of hours of live video streaming. Windows Azure Media Services has deep integration with the Microsoft Media Platform Video Editor - a browser based video editor that consumes live and VOD content. This enables editors to quickly create highlight reels within a couple of minutes of the event without having to download or save the video assets locally - and to stream the highlight video from the already cached live chunks at the CDN edge. New features to support the needs of broadcasters were added including: USB jog wheel support, audio rubber banding, panning, track locking, and support for multiple audio tracks.
In addition to highlight creation, the Video Editor was also integrated with Windows Azure Media Services to transcode highlight clips for publishing to mobile clients and to 3rd party distribution sites like YouTube. For example, CTV leveraged YouTube (in Canada) as a means to extend the reach of their content, and highlights were transcoded to 4Mbps VBR H.264 and then uploaded and published directly to YouTube from Windows Azure Media Services.
On an average day thousands of transcode jobs were pushed through Windows Azure Media Services encoding workflows. This functionality enabled our publishers to create and alter their publishing workflows without having to focus on the operational support for large batch processing. Windows Azure Media Services provided a scalable mechanism that handled spikes and prioritization of high volume transcoding needs.
Windows Azure Media Services is enabling broadcasters to deliver significantly higher quality and more robust online streaming experiences. Windows Azure Media Services provides a flexible set of features including: ingestion, storage, transcoding, origin, monitoring and delivery which can be composed to create highly scalable workflows for live and on-demand video streaming. These cloud based services remove complexity while providing more resiliency as a means to reach the broadest set of devices.
Windows Azure Media Services is currently in preview – you can find more information about how to use it here. The VOD workflow media features can be used by anyone who signs up for the preview today. The live workflow features used in this Olympics are currently in private preview. Customers interested in joining the private preview can send mail to: firstname.lastname@example.org. We will open up the live capabilities for everyone to use in the future.
Any Olympics journey is filled with hard work, commitment and the drive to win. I’d like to thank all of the people in the Windows Azure and Windows Azure Media Services product teams and the Developer & Platform Evangelism group, our external development partners and most importantly the broadcasters for their dedication in making the games a success. This event is a great showcase of some of the amazing experiences that will be delivered in the years to come.
Hope this helps,
P.S. In addition to blogging, I am also now using Twitter for quick updates and to share links. Follow me at: twitter.com/scottgu