New Year, New Job, New Challenges

As we leave 2012 behind us and turn our attention to 2013, the time has come for me to share some exciting personal news.

After 10 years at Microsoft I have recently decided to leave the company to pursue other career opportunities. It wasn’t an easy decision, but I felt it was time for a change. On January 1st I officially joined iStreamPlanet Co. as a Principal Video Specialist, where I will be focusing on building cloud-based live encoding workflows.

iStreamPlanet was founded in Las Vegas in 2000 by Mio Babic as a digital media services provider and has been a trusted Microsoft partner for over a decade. Since its humble Windows Media streaming beginnings iStreamPlanet has built a worldwide reputation in providing premium video workflow services and products for large scale live streaming events. They were Microsoft’s go-to partner for bringing the 2010 Vancouver Olympics to U.S. and Canada, and have also been responsible for online delivery of many other high-profile events such as NBC Sunday Night Football, Wimbledon, U.S. Open, Roland Garros, Tour de France, TNT NBA Overtime, PGA Tour, NASCAR and UFC.

At Streaming Media West last October iStreamPlanet announced and demoed for the first time Aventus, its new cloud-based automated video workflow platform for delivering live events and live linear channels. This is the product that I will be working on at iStreamPlanet for the foreseeable future. I will remain in the Seattle area, working out of iStreamPlanet’s Redmond office.

As I focus on my new job I will take a short break from blogging for the next few months. When I eventually return I will likely redesign this blog to reflect my new professional responsibilities and interests. Until then, I wish everyone all the best in 2013!


Posted in Smooth Streaming | 3 Comments

H2 2012 Media Platform Product Update Roundup

It’s been a busy summer with most of the team focused on Windows Azure Media Services, but I’d like to take a moment to highlight a few other Media Platform releases of the past few months:

November 7, 2012

Player Framework for Windows 8 version 1.0 has been released to Codeplex. Download it here.

The RTW version of the framework contains support for Smooth Streaming (via Smooth Streaming Client SDK) and advanced playback heuristics; closed captioning (SMPTE-TT, TTML); advertising (VAST, MAST, VPAID); DVR style playback; and robust skinning and styling.

October 26, 2012

Smooth Streaming Client SDK for Windows 8 has been released to Visual Studio Gallery. Download it here.

The release version of the Windows 8 SDK contains support for x86, x64 and ARM processor architectures; on-demand and live playback with seek/DVR function; support for H.264, VC-1, AAC, DD+ and WMA Pro codecs; multiple audio languages; track (bitrate) selection; offline playback; text and sparse tracks; closed captioning; trick play; and PlayReady DRM content protection and key rotation.

PlayReady Client SDK for Windows 8 is also now available through Visual Studio Gallery. Download it here.

This release of the PlayReady Client SDK supports online scenarios such as progressive download and streaming, as well as offline scenarios such as download-to-own, rental and subscription.

October 24, 2012

IIS Transform Manager version 1.1 has been released to Microsoft Download Center. Install it via the Web Platform Installer, or download it separately for x86 and x64 platforms.

The new version fixes a number of issues related to PlayReady protection, and adds support for transmuxing Dolby Digital Plus audio from MP4 to Smooth Streaming file format.

June 11, 2012

Smooth Streaming Client for Silverlight and Windows Phone version 2.0 has been released to Microsoft Download Center. Download it here.

The latest version of SSME adds support for linear ad insertion and playback, DRM key rotation, updated cache plug-in model and fragment download APIs.

Player Framework for Silverlight and Windows Phone version 2.7 has been released to Codeplex. Download it here.

This release of Player Framework adds support for SSME 2.0 and Silverlight progressive download video trick play, and fixes various bugs.


Posted in Internet Information Services, Smooth Streaming, Windows | Tagged , , | 1 Comment

Windows Azure Media Services Preview Launched!

I’ve been holding back this post for about two weeks now, wanting to make sure the service got rolled out to all major Windows Azure datacenters first, but here it is now:

Windows Azure Media Services Preview has been launched! The new media-focused cloud services recently announced at NAB have been deployed to Windows Azure datacenters in US-East, North Europe, West Europe, East Asia, Southeast Asia, with more datacenters to follow in the weeks to come.

Anyone interested in cloud-based media services can request access by following these instructions, but keep in mind all requests have to be approved by the WAMS product team as this is still a Preview release.


The Preview release of Media Services supports:

  • Encoding with Windows Azure Media Encoder (aka Expression Encoder 4 SP2)
  • Format conversion (remuxing) from MP4 to Smooth Streaming and from Smooth Streaming to Apple HLS
  • Content Protection with Microsoft PlayReady
  • On-Demand Smooth Streaming and HTTP Live Streaming
  • Scalable delivery via Azure CDN or 3rd party CDN

For a full list of features in this release, check out the Media Services Feature Status: Preview Release.

Documentation and Support

How-To Guides:
MSDN Documentation:
Release Notes:
Windows Azure Media Services Forum:


Posted in Smooth Streaming, Windows Azure Media Services | Tagged , , , | Comments Off on Windows Azure Media Services Preview Launched!

IIS Transform Manager 1.0 and Windows 8 Updates

The long awaited 1.0 release of IIS Transform Manager (which for a while there seemed stuck in GMail-like alpha/beta development) finally hit the Web last week! You can download it and read more about its features here:

John Deutscher has written a nice overview of IIS Transform Manager 1.0 on his blog. Since we announced Windows Azure Media Services one of the most commonly asked questions has been “Will Transform Manager be supported in WAMS?” The answer is not a straightforward “yes” or “no” because many on-premises server concepts don’t translate directly to the cloud. The goal of Transform Manager is to automate transcoding, transmuxing and DRM packaging of media, and those will be exactly the core services provided by Windows Azure Media Services. So one could argue that Windows Azure Media Services will be a big, amped-up, cloud-based version of Transform Manager. On the other hand, concepts like “local watch folders” and “HPC clusters” don’t really exist in the cloud so workflows will need to be adapted to the cloud paradigm. Bottom line: all the key features of Transform Manager such as media transcoding, MP4–>Smooth transmuxing, Smooth–>HLS transmuxing, and DRM encryption will be available in Windows Azure Media Services too. Microsoft Expression Encoder will be available natively in WAMS under the new name Windows Azure Media Encoder, but WAMS will also offer the possibility of using 3rd party encoders.

The release of Windows 8 Release Preview was announced earlier today, so accordingly we also released some Windows 8 related updates to the Microsoft Media Platform. Smooth Streaming Client SDK for Windows 8 Metro Apps has been refreshed to Beta 1. This version of the Smooth Streaming Client includes many improvements, supports multiple platforms (x86, x64 and ARM) and enables the following features in the <video> tag and MediaElement object:

  • On-demand Playback (Play, Pause, Stop, Seek)
  • Live Playback (Play)
  • VC-1 and H.264 codec support
  • TrickPlay (New in Beta refresh)
  • Slow motion (New in Beta refresh)
  • Content Protection w/ PlayReady integration

Beta 1 release notes, including breaking changes and known issues, can be found here.

MMP Player Framework for Windows 8 Metro has also been updated to support Windows 8 Release Preview and the latest Smooth Streaming Client for Win8. The new version, known as Preview 3, can be downloaded here. Preview 3 focuses on advertising scenarios by adding support for VAST, MAST and VPAID standards, and dynamic ad insertion.

Posted in Internet Information Services, Smooth Streaming, Windows Azure Media Services | Tagged , , , | Comments Off on IIS Transform Manager 1.0 and Windows 8 Updates

Announcing Windows Azure Media Services and MPEG-DASH support

This week at the annual National Association of Broadcasters (NAB) Show in Las Vegas we made two big announcements:

“New cloud-based Windows Azure Media Services is designed to make creating, managing and delivering media to any device easier than ever by offering a comprehensive set of ready-to-use first- and third-party media technologies. […]  Taking advantage of the worldwide Windows Azure cloud infrastructure, Windows Azure Media Services gives content providers and media partners the nearly unlimited capacity of the cloud to cost-effectively handle a huge volume of digital media and make it available in the format that customers want, when they want it. Windows Azure Media Services’ ready-to-use services allow customers to simplify the creation of complex media workflows built on Microsoft Media Platform and third-party technologies.”

In addition to Windows Azure Media Services, we announced in detail our support for the MPEG-DASH standard across the Microsoft Media Platform:

Finally, in my last blog post I mentioned the Smooth Streaming Client Porting Kit, a C++ source code package for implementing Smooth Streaming in TVs, STBs and other embedded devices. Here are more details about SSPK licensing:

Posted in Internet Information Services, Smooth Streaming, Windows Azure Media Services | Tagged , , , , , , | Comments Off on Announcing Windows Azure Media Services and MPEG-DASH support

Extending Smooth Streaming Reach

Smooth Streaming has been a pivotal technology of the Microsoft Media Platform since its introduction in IIS Media Services 2.0 in 2009. And though it’s been commonly associated with Silverlight over the years, those familiar with Smooth Streaming architecture and the Smooth Streaming Media Element probably know that the relationship between Smooth Streaming and Silverlight was never an exclusive one. For starters, the Smooth Streaming Protocol Specification and the Protected Interoperable File Format (PIFF) Specification have been public for years. After all, at its heart Smooth Streaming is not much more than a combination of HTTP requests, XML and fMP4 parsing, download heuristics and video/audio decoding. It’s a fairly open, standards-based technology that has very few dependencies on the client platform.

So it should come as no surprise that as popularity of Smooth Streaming grew we started looking into extending the reach of Smooth Streaming (and PlayReady as its premium content companion) to other client platforms and devices too.

First came Smooth Streaming Client for Windows Phone, essentially a variation of Smooth Streaming Client for Silverlight but adapted for the specific features and constraints of the Windows Phone OS.

Next came Smooth Streaming Client Porting Kit, a device and platform independent implementation of Smooth Streaming client that can be ported by licensees to any device and platform. This commercially licensable package contains C++ source, hardware abstraction layer (HAL) and platform abstraction layer (PAL) interfaces, and DRM interfaces designed to plug into the PlayReady Device Porting Kit. The SSPK is primarily targeted at manufacturers of connected TVs, set-top boxes (STB), Blu-Ray players and various other embedded devices.

Late last year Xbox LIVE launched a whole new series of TV and video apps, such as Hulu Plus, YouTube, Comcast Xfinity, VEVO, Verizon FiOS TV and many others. What you probably didn’t know is that over 75% of the new media apps launched on Xbox LIVE are powered by Smooth Streaming and PlayReady. The catalyst for these new experiences is the Xbox LIVE Application Development Kit (ADK) which significantly accelerates development of rich media applications for Xbox 360. At the heart of the ADK are Smooth Streaming Client and MMP Player Framework, specially developed for the Xbox by the IIS Media Services team and our old partner Vertigo Software.

Finally, last month we announced the availability of Smooth Streaming Client SDK (beta) for Windows 8 Consumer Preview, together with a beta of Player Framework for Windows 8 Metro-style Applications. The new SDK and framework allow developers to build Metro-style, touch-enabled apps for Windows 8 (x86/x64/ARM) with support for Smooth Streaming and PlayReady DRM, while utilizing any of the supported development languages and constructs such as HTML5, Javascript, XAML, C# and C++. Make sure to check out this post for a step-by-step guide to building your first Metro media app.

We intend to continue broadening Microsoft Media Platform’s reach in the coming months to other popular platforms such as iOS, Flash and Android too. Over the next several weeks you can expect to see more detailed information published regarding Smooth Streaming Client Porting Kit licensing, MPEG-DASH support and availability of Smooth Streaming Client SDK for iOS.

And of course, stay tuned for exciting new announcements at NAB Show 2012. 😉

Posted in Internet Information Services, Smooth Streaming | Tagged , | 6 Comments

Silverlight and Its Role In the Future of Microsoft Media

“The rumors of my death have been greatly exaggerated.” – Mark Twain*

It’s been two months since version 5 of Microsoft Silverlight was released to the web. If you haven’t installed it already, you can get the latest version here. For the first time Silverlight is also available as a 64-bit plug-in for 64-bit Internet Explorer, so if you’re like me and you’ve been dying to switch to 64-bit Internet browsing – now is a good time to do it because both Silverlight and Adobe Flash finally include 64-bit plug-ins.

The list of Silverlight 5 features is long, and both the official features document and Pete Brown’s blog post do a better job of summarizing them than I could. If you’re a developer, you might also want to check out the list of breaking changes.

On the media front, the list of new features since SL4 looks like this:

  • GPU-accelerated decoding of H.264 video (both Windows and MacOS)
  • Low-latency sound effects using XNA APIs
  • Variable speed playback and trick-play
  • Remote control and media keys support
  • Power plan awareness for media apps

Those are the technical details. Now let’s address the elephant in the room:

Over the past year many web articles and blog posts were published which speculated on Silverlight’s status and future in light of Microsoft’s growing adoption of HTML5. “Is Silverlight dead? Will there be a Silverlight 6? Will HTML5 replace Silverlight and Flash? Should developers continue to invest in Silverlight?”

Let us consider this first: What does it mean when someone says a development platform is dead? Does it suddenly cease to exist, disappear from the Internet and take all its apps with it? Is a development platform considered alive only if the runtime version number is bumped +1 every 9-12 months? I don’t think it really works that way. Regardless of whether there is a Silverlight 6 after Silverlight 5, Silverlight will continue to be a living, breathing app development platform as long as developers can write Silverlight apps and users can run them.

Truthfully, I don’t know whether there will be a Silverlight 6 or not (much like I don’t know whether there will be a Windows 9 or an Office 16), but I do know this: Microsoft is commited to supporting Silverlight 5 until October 12, 2021 for all currently supported platforms (Windows and MacOS) and all supported browsers (IE, Firefox, Chrome, Safari). That’s 10 years of product support. This means that anyone writing a Silverlight app today can expect: a) the Silverlight browser plugin to remain available and distributable for the next 10 years; and b) full support for Silverlight developers and users according to standard Microsoft support guidelines. If you’re reading this blog on a Windows XP computer, you know that 10 years is a long time in software product support. 😉

Ultimately, a developer’s decision to use Silverlight should be based not on speculations and hype, but on answers to the following questions:

  1. Does Silverlight meet my project requirements?
  2. Is there another browser app development platform that can reach > 75% of Internet-connected devices while offering the same features and rich development environment?

Which brings us to…

“But what about HTML5?”

Yes, there are features of HTML5 that replace features of Silverlight, but if you truly compare them you’ll find that HTML5 is really more on par with Silverlight 1 than Silverlight 5. With regards to media, specifically, Silverlight 5 is and remains the better media app development platform for browsers. That may not be true for other scenarios, but this is a media blog so I think it’s fair that I focus on media here. Yes, you may be able to build a LOB app in HTML5 with the same functionality as with Silverlight, but streaming media is a completely different story.

Let us consider two media scenarios:

Scenario 1

Simple playback of an unencrypted H.264/AAC-encoded MP4 file from an HTTP server via progressive download.

Both HTML5 and Silverlight can meet the requirements of that scenario very easily. However, their effective reach is drastically different. Silverlight, according to, is installed on 78% of globally connected devices. The percentage of connected HTML5-compatible browsers capable of H.264/AAC/MP4 playback, on the other hand, is less than 20% according to (where MP4-capable = IE9 + Safari). So while both HTML5 and Silverlight have the needed features to implement the same scenario here, a Silverlight app is capable of delivering MP4 media to about 4 times as many connected devices as an HTML5 app. You could, of course, increase your HTML5 video reach by providing MP4, Ogg and WebM versions of the same video asset – but that would increase your production and storage costs. With cumulative HTML5 Video browser adoption still below 67%, the multi-format option doesn’t seem worth the increased cost. That will, hopefully, change over time but as of right now both Silverlight and Flash provide significantly better video delivery reach than HTML5 even for simple media playback scenarios.

Scenario 2

Anything involving any of the following features:

  • Live streaming
  • HTTP-based adaptive streaming
  • IP Multicast streaming
  • Traditional UDP-based streaming
  • Digital Rights Management (DRM), aka Content Protection
  • Full-screen video playback (without hacks)
  • Webcam and microphone capture
  • Codec and format extensibility

Yes, HTML5 is a great evolution in HTML and it does bring some much-needed RIA capabilities to standard HTML, but it unfortunately only addresses a small subset of modern media scenarios. You may be able to build a YouTube-style site in HTML5, but you can’t build a Netflix app or an Xfinity app in HTML5 without being able to dynamically stream DRM-protected video over HTTP. You can’t live stream the Super Bowl in HTML5 either. That’s a problem.

(Sidenote: In 2009 Apple added HTTP-based adaptive streaming functionality, called HTTP Live Streaming, to its Safari implementation of HTML5 Video tag. This enabled content producers to dynamically stream video over HTTP to millions of iPhone and iPad devices via simple HTML5 pages rather than apps. But despite its popularity, HLS remains a proprietary Apple extension of HTML5 Video, not standardized by W3C or any other standards organization, which makes it unlikely to become the universal solution to HTML5’s video problem. If anything, MPEG-DASH is the more likely candidate for standardization in browsers. But I’ll save that for another story.)

Additional commentaries on HTML5 video woes:

In conclusion…

Let me be 100% clear: I am not anti-HTML5. I believe that HTML5 is a step in the right direction and a welcome enhancement of the HTML specification. I also believe that some video/audio support is better than none. But unfortunately the current HTML5 specification fails to deliver advanced video and audio features that are needed for building modern streaming media apps. Therefore, when it comes to building advanced media apps in browsers, Silverlight and Flash are still the best options available today and will remain so for the foreseeable future. HTML5 Video will be a valid choice for some projects, but not others.

So is there a place for Silverlight in the future of the Microsoft Media Platform? Absolutely. Even with Windows 8 shifting the emphasis to standalone media apps, the browser will continue to be the primary way of delivering Microsoft Media Platform video to MacOS and legacy Windows operating systems in the future. Silverlight remains the only app development platform capable of consuming Smooth Streaming video on > 75% of Internet-connected devices and reaching all versions of Windows going all the way back to XP. Silverlight also remains the primary app development platform for Windows Phone OS (which is expected to gain larger market share in 2012 due to Nokia adoption).

* Actually, what he really said was “The report of my death was an exaggeration”, but I always preferred the style of the misquoted version.
Posted in HTML5, Silverlight, Smooth Streaming | Tagged , , , , , , | 6 Comments

H2 2011 Product Update Roundup

It’s been a while since I updated the blog, so I will take this opportunity to bring everyone up to speed on the more recent Microsoft Media Platform product updates:

November 9, 2011

Player Framework version 1.0 for HTML5 is released to Codeplex. Download it here.

This new player framework implements basic video playback functionality using the HTML5 Video tag, and features JavaScript API and control UI consistent with the Silverlight version of the Player Framework. For a complete list of features visit

November 8, 2011

IIS Media Services version 4.1 is released to Microsoft Download Center. Install it via the Web Platform Installer, or download it separately for x86 and x64 platforms.

This release adds support for REST services APIs for management of publishing points as well as performance improvements for both on demand and live scenarios. The recently released Expression Encoder 4 SP2 makes use of the new APIs so that one can easily manage publishing points directly from within Expression Encoder. For more information on the new features visit

November 2, 2011

Player Framework version 2.6 for Silverlight and Windows Phone is released to Codeplex. Download it here.

This release includes significant performance improvements, updated support for WP 7.5 “Mango”, the latest version of the Smooth Streaming Media Element (SSME), and several new features and bug fixes.

November 2, 2011

Expression Encoder 4 Service Pack 2 (SP2) is released to Microsoft Download Center. Download it here.

New features include support for Intel QSV GPU-accelerated encoding, 1 and 2-pass VBR H.264 encoding, more AAC audio options, SRS audio encoding, built-in management of IIS publishing points, live video cropping, live multi-bitrate Windows Media encoding, etc. SP2 also removes the screen capture limit in the free version of the Encoder. You can find a detailed list of features in this blog post.

The Expression Encoder team has also updated their GPU encoding recommendations. Note that H.264 codec support is still only available in the commercial Pro edition of Expression Encoder.

October 26, 2011

Content Manager version 1.1 is released to Microsoft Download Center. Download it here.

This release fixes compatibility issues with Windows Vista and Windows 7, and provides additional code samples.

The open-source Microsoft Media Platform Content Manager pulls together an end-to-end video workflow that allows you to create live streaming events, transcode on-demand content, manage and publish video, edit video, and insert mid-roll advertisements. Watch the MIX11 session on Content Manager for an overview.

October 17, 2011

Enhanced Movies 1.0 Beta is the latest addition to the Microsoft Media Platform family of frameworks. Download it here.

Microsoft Media Platform Enhanced Movies provides a framework for delivery of rich interactive movie experiences that go far beyond any streaming experience today. The “enhanced movies” feature set enables studios and distribution houses to package HD movies with special features, multiple languages, interactive games, social media, advertising and more — as complete, downloadable, rights-protected applications.

The beta release provides a plug-in for the Player Framework which enables offline playback of video by implementing a media downloader and Smooth Streaming cache.

October 6, 2011

Video Editor (f.k.a. Silverlight Rough Cut Editor) version 2.0 is released to MSDN. Download it here.

The new version requires Silverlight 5.

New to MMP Video Editor? Take it for a test drive using our demo deployment hosted on Windows Azure:

August 31, 2011

Silverlight 5 Release Candidate (RC) is released to Microsoft Download Center. Download it here.

New media features include GPU-accelerated H.264 video decoding, low-latency sound effects, variable speed playback (trick play) support, and remote control and media keys support. For a complete list of new Silverlight 5 RC features check out

Silverlight 5 runtime is now also available as a native 64-bit plugin for 64-bit browsers on Windows and Mac operating systems.

Curious about SL5 RTW release dates? Stay tuned because it is coming very soon…

Posted in Expression Encoder, Internet Information Services, Silverlight, Smooth Streaming | Tagged , , , , | 3 Comments

SMF 2.5 with 3D video support coming soon

Bob Cowherd from Vertigo Software has put together a nice blog post about one of the cool new features going into SMF 2.5:  stereoscopic 3D video support. We will ship SMF with a sample red-cyan anaglyph plugin, while NVIDIA will provide a plugin for their 3D Vision active shutter solution.

We will be announcing all the details at MIX and NAB next month, so stay tuned for more exciting news, including some framework name changes too. 😉

Posted in 3D, Silverlight | Tagged , , | Comments Off on SMF 2.5 with 3D video support coming soon

Transcoding 101 Roundtable, MIX 2011 and NAB 2011

A bit of shameless promotion:

On Thursday, March 24th, I’ll be participating in a roundtable web event titled “Transcoding Methodology 101” hosted by Streaming Media. Joining me will be Kevin Louden (Telestream), Charlie Good (Wowza) and Jon Robbins (Rhozet). The live event is scheduled to start at 11 am Pacific Time.

You can register for the web event here:


Microsoft’s annual web developer/designer conference MIX is taking place the same week as the annual NAB show this year – also in Las Vegas. MIX 2011 is taking place April 12-14 at the Mandalay Bay hotel, while NAB 2011 is happening April 11-14 at the Las Vegas Convention Center. Microsoft’s media platform will be represented at both events, and I will be present at both too.

Here is the current list of MIX sessions:

I will be presenting a session titled “Introducing Microsoft Media Platform” in which I will give an overview of Microsoft’s media technologies and frameworks and recent releases. Other noteworthy media related sessions will be:

“Introducing MMP Content Manager” by Steven R. Woodward (Microsoft)
“MMP Video Editor” by Jason Suess (Microsoft)
“MMP Player Framework: Past, Present, Future” by Tim Greenfield (Vertigo Software)
“Introducing MMP Audience Insight” by Eric Schmidt (Microsoft)
“Behind the Scenes of Channel 9 Live at MIX” by Nic Fillingham (Microsoft)
“5 Things You Need To Know To Start Using <video> and <audio> Today” by Nigel Parker (Microsoft)

It’s not too late to register for MIX 2011! Visit and register today!

Posted in Expression Encoder, Internet Information Services, Silverlight, Smooth Streaming | Tagged , , , , | 2 Comments