Tuesday, June 22, 2010

Microsoft IIS Smooth Streaming Format SDK 1.0 Beta 2

On June 18 2010, Microsoft released Beta 2 of the Microsoft IIS Smooth Streaming Format SDK 1.0.

The IIS Smooth Streaming Format SDK provides application developers the capability to mux encoded video and audio elementary streams into Smooth Streaming fragmented-MP4 format that is compliant with the Smooth Streaming Format and Protected Interoperable File Format (PIFF) specifications. The IIS Smooth Streaming Format SDK includes a native C++ static library that can be linked into your applications to support the muxing of fragmented-MP4 into files or sent live via HTTP POST to a server running Internet Information Services (IIS) 7.0 and IIS Media Services 3.0 and IIS Media Services 4.0 Beta 1. The SDK is available for download here.

Documentation for the SDK can be found online here – IIS Smooth Streaming Format SDK MSDN documentation and the release notes are available here – IIS Smooth Streaming Format SDK Beta 2 Release Notes.

The primary purpose of the IIS Smooth Streaming Format SDK is to enable developers to create applications that can generate PIFF compliant Smooth Streaming formatted fragmented-MP4 files for use in video-on-demand and live streaming scenarios. In addition, the SDK can be used to encrypt content using standard AES encryption as required by the PIFF specification (this SDK only supports the PlayReady specific protection headers).

It is expected that the video and audio encoding functionality is done externally from the SDK. Encoding for VC-1 can be accomplished by using the Microsoft VC-1 Encoder SDK – Professional. If you wish to do H.264 encoding, you will need to acquire a 3rd party H.264 encoding SDK and AAC audio encoder. There are lots of encoding library choices available both free and commercial.

The components of the SDK include:

1. A static-linked packaging library ssfsdk.lib, along with appropriate header files, that delivers f-MP4 wrapping capability to an application for use with the following video and audio codec combinations:
* Closed GOP encoded VC-1 with Elementary Stream Sequence Headers and WMA Pro, or WMA audio
* H.264 (AVC1 closed-GOP streams only with IDR frames at the first sample of a GOP – must not be an Annex B stream. PPS and SPS NAL units are not supported in the stream)
* AAC-LC audio
2. Sample source code for a basic on-demand muxing application that uses DirectShow to source from files.
3. Link to online MSDN documentation.

Updates included in the Beta 2 release of the Smooth Streaming Format SDK are:

* H.264 PlayReady sub-sample encryption support.
* PIFF 1.1 spec compliance.
* Multi-language audio muxing.
* Text stream and TTML track muxing support.

This is in addition to the following supported features:

* Support for Protected Interoperable File Format (PIFF) 1.1 compliant fragmented-MP4 file output.
* Support for ISO Base Media (ISO/IEC 14496-12:2008) spec compliance.
* Support for muxing live and on-demand content.
* Support for appropriate header boxes and formatting required for live streaming using IIS Media Services.
* Support for AES-CTR encryption of VC-1 and H.264 encoded content for use with PlayReady licensing servers and Silverlight 4.0 or higher.
* Support for writing out a compliant Smooth Streaming Transport Protocol server manifest files.
* Support for writing out a compliant Smooth Streaming Transport Protocol client manifest files.

NOTE: Beta 2 includes a “Go-Live” license if you would like to use this SDK in production applications.

If you have questions on how to use this SDK in your applications, comments, or feedback on the SDK please send them to me directly or to smooth@microsoft.com.

Download the Smooth Streaming Format SDK Beta 2 here:




* Download the Protected Interoperable File Format specification
* Download the IIS Smooth Streaming Transport Protocol Specification
* Download the Smooth Streaming Client 1.0
* API documentation for Smooth Streaming Client
* More Information on Smooth Streaming
* More Information on Live Smooth Streaming
* Supporting documentation on getting started with Smooth Streaming
o Smooth Streaming for IIS 7.0 – Getting Started
o Live Smooth Streaming for IIS 7.0 – Getting Started
o Smooth Streaming Deployment Guide
o Building your first Smooth Streaming Player using SSME

No comments: