Today, I am pleased to announce the release of Beta 1 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. The SDK is available for download here – Download IIS Smooth Streaming.
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 1 Release Notes.
UPDATE: A detailed explanation of the sample is now available here.
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:
- 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) and AAC-LC audio
- Sample source code for a basic on-demand muxing application that uses DirectShow to source from files.
- Link to online MSDN documentation.
The key features of this Beta 1 release of the Smooth Streaming Format SDK are:
- Support for Protected Interoperable File Format (PIFF) 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 encoded content for use with PlayReady licensing servers and Silverlight 3.0 or higher.
- Support for writing out a compliant server manifest files.
- Support for writing out a compliant client manifest files.
To give you a peek at the roadmap, some upcoming features planned for Beta 2 include:
- Subsample encryption support for encrypting H.264 content in compliance with PIFF 1.1
- Multi-language audio muxing
- Text tracks
- Sparse streams
- A sample for live streaming
NOTE: Beta 1 of the SDK is provided for evaluation purposes and for use in testing your Smooth Streaming encoding implementations. Beta 1 does not currently give you a “Go-Live” license, so you will need to wait until Beta 2 if you plan to use this in production.
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 firstname.lastname@example.org.
We are looking forward to incorporating your feedback and ideas into the Beta 2 release.
- Sample Application explained in detail
- Download the Protected Interoperable File Format specification
- Download the IIS Smooth Streaming Transport Protocol Specification
- Download IIS Smooth Streaming Player Development Kit 1.0 – Beta 2
- More Information on Smooth Player Development
- API documentation for Smooth Streaming Player SDK
- More Information on Smooth Streaming
- More Information on Live Smooth Streaming
- Supporting documentation on getting started with Smooth Streaming