IIS Smooth Streaming
Flash Dynamic Streaming
HTTP Adaptive Bitrate Streaming
|Cost per Streaming Server||Free download1 + $469 for OS2||$45003 + OS cost4||Cost of Web server5 + segmenter OS6|
|On-demand & Live Streaming|
|Live Streaming DVR7||Pause & Seek|
|Scalability via HTTP Edge Caches|
|Stateless Server Connection8|
|Supported Platforms||Silverlight, Xbox 360, other Smooth Streaming-compatible players, and iPhone OS 3.09||Flash Player 10, AIR||iPhone OS 3.0, devices running QuickTime X|
|DRM Support for Live, VOD||PlayReady||None10||None|
|DRM ASP & Encoder ISV Support|
|Interoperable DRM (DECE Approved)11|
|Real-time Client and Server Logging||12|
|Programmable Client Side Switching Logic|
|Live In-Stream Ad Integration|
|Built-in Analytics Framework|
|Delivery to Mobile Devices|
|Native 64-bit Server Support|
|Media Container||MPEG 4 – Part 12 (Fragmented MP4)||MPEG 4 – Part 12 (MP4), FLV||MPEG-2 TS|
|Supported Video Codecs||Codec Agnostic (currently supports VC-1 Advanced Profile & H.264 Baseline, Main, and High)||H.264 Baseline, Main, and High; VP6||H.264 Baseline Level 3.0|
|Supported Audio Codecs||Codec Agnostic (currently supports WMA & AAC)||AAC, MP3||MP3, HE-AAC, AAC-LC|
|Maximum Bit Rate||No limit||No limit||1.6 Mbps|
|Default Fragment Length||2 seconds||n/a||10 seconds|
|End-To-End Latency||As low as 1.5 seconds (configurable)||6 seconds||30 seconds13|
|File Type on Server||Contiguous||Contiguous||Fragmented|
|Client Programming Platform||Microsoft .NET Framework||Adobe ActionScript||Objective-C|
1 IIS Smooth Streaming is part of the free IIS Media Services download for Windows Server 2008 and Windows Server 2008 R2 .
2 Runs on any edition of Windows Server® 2008 or Windows Server 2008 R2 including Windows® Web Server, which has a list price of $469.
3 Assumes use of Adobe Flash Media Interactive Server to support Pause, Seek, Authentication, and higher scalability
4 Requires Windows Server 2003 SP2, Windows Server 2008, Red Hat® Enterprise Linux® 4, or Red Hat Enterprise Linux 5.2.
5 Runs on any Web server. Also requires the Apple streaming segmenter – see next note.
6 The Apple stream segmenter is a utility that receives encoded MPEG2-TS and breaks it into 10 second “chunks” for delivery. This free download requires an Intel-based Mac, with a Mac Pro or an XServe having two Ethernet network interfaces recommended.
7 Full DVR features include Pause, Seek, Fast Forward (e.g., 2x, 5x playback speeds), Fast Rewind, Go To Live, Instant Replay, and Slow Motion.
8 A stateless (non-persistent) connection between server and client increases scalability and allows seamless failover or rollover between load-balanced servers.
9 Support for adaptive streaming to the Apple iPhone from IIS Media Services 4 was announced on October 18th, 2009.
10 Future support was announced Sept. 10, 2009. Proposed availability is H1 CY10 for delivery to a future version of Adobe® Flash® Player and Adobe AIR™.
11 Digital Entertainment Content Ecosystem (DECE, LLC) is a consortium of major Hollywood studios, consumer electronics manufacturers and retailers, network hardware vendors, systems integrators and Digital Rights Management (DRM) vendors chartered to develop a set of standards for the digital distribution of premium Hollywood content.
12 Real-time logging for Silverlight applications using the IIS Advanced Logging extension.
13 Encoded live streams are processed by the Apple stream segmenter. This intermediate step results in increased latency for live delivery.
It's an adaptive streaming technology combining IIS and Silverlight. The core file format is fragmented MPEG-4, where each "chunk" of video is transmitted as a moof fragment starting with a Closed GOP, via a single HTTP request. A chunk will typically be 2-4 seconds long. Audio can be either muxed into the same chunk, or be provided in a parallel series of chunks to enable multilangauge audio or what have you.
The file format used is straight-up ISO fragmented MPEG-4, using XML and SMIL manifests to indicate what bitrates in the file set and where the fragments in those file are. We're not trying to make up a new file format here; just take advantage of existing technologies in a novel way.
Lots of other details to be had, including this roundup of links:
More importantly, zambelli had a great post showing how Microsoft is using the file format:
And we now have some sample files up that I encoded, including the media files and manifest files:
(if you're curious how it was encoded)
The current samples are VC-1 and WMA 10 Pro, but we'll be supporting H.264 and AAC-LC payloads with the next version of Silverlight later in 2009.
So, if you start seeing these *.ismv files out there, just know that they're
With VC-1 or H.264 for video
WMA 10 Pro or AAC-LC for audio
For apple http streaming, a tool called mediastreamsegmenter will take an MPEG2 transport stream and split it into smaller size chunk. Mediastreamsegmenter documentation is available here