Sochi Olympics Live Video WorkflowIf you took in any of the Olympic Games in Sochi this year, it’s more than likely that you watched them online. In fact, as we talked about at Build, more than 2.1 million people watched online coverage of the Sochi Olympics, making it the single largest commercial broadcast ever. At 2014 NAB, Microsoft Azure Media Services announced a limited public preview of the tools and services that made it possible to stream coverage of the Olympics and other sporting events, such as NASCAR, on such a large scale.

As you might imagine, streaming high-quality content like the Olympics to millions of PCs and mobile devices is a challenge on multiple levels. I wanted to take a behind-the-scenes look at how they served up streaming content to such a large number of people, so I spoke with a couple of people on my team, Mike Downey and Jit Ghosh.

Since the 2002 games in Salt Lake City, the amount of Web-based content for the games has dramatically increased. And with the 2008 Olympic Games in Beijing, Microsoft started working with the NBC Sports Group to power its online viewing experience, using Media Services.

The partnership has since expanded to include programming like the Super Bowl and NBC Sunday Night Football. For this year’s games in Sochi, NBC decided to stream live coverage of all 98 events. If you missed Rick’s comments on stage at Build, check this out.

That brings me back to Mike and Jit, both of whom have been leading the charge to develop the Player Framework and related SDKs that NBC and other companies are using to stream content. We just released a public beta of the latest version of the Player Framework, which has been updated with support for Java Script and XAML-based Windows Phone 8.1 and universal apps.

When you boil it down, on the back end there are really three main challenges to overcome: funneling all of these feeds of high-quality live video and audio through iStreamPlanet’s
private cloud, which is hosted on Azure, encoding it into as many as a dozen formats or bit rates for a variety of different devices, and then streaming it out to different content providers around the world.

On the front end you have to create a viewing experience that, while appearing simple, has functionality built into it that keeps the audience engaged and helps content providers pay the bills — things like ad insertion and the telemetry needed to display and track the effectiveness of ads, the ability to surface related videos or ancillary content like interactive timelines or game scores, and closed captioning.

In addition, you have to enable the ability to dynamically change the bitrate a player is receiving to account for fluctuations in the quality of the Internet connection. Thanks to a lot of hard work from Jit, Mike and others, we now have a Player Framework that does all of that, works on multiple platforms and is available under open source.

Jit put together a demo that shows how easy it can be, so be sure to check that out. You can get more information on the Player Framework homepage.