Live Smooth Streaming
Applies To: Windows 7, Windows Server 2008, Windows Server 2008 R2, Windows Vista
Smooth Streaming adapts the quality of a video stream delivered to clients in real time, based on a client's available bandwidth and CPU resources. Clients with high-bandwidth connections and fast processors can experience high-definition (HD) video streaming, whereas clients with low-bandwidth connections or slower processors can still receive a stream that is appropriate for their environment, letting all users enjoy the best possible viewing experience at any moment during playback.
The Live Smooth Streaming extension for IIS 7 works with the fragmented MPEG-4 (MP4) output from encoders that use a Live Smooth Streaming profile to encode the video source. A Live Smooth Streaming presentation created by an encoder contains the following:
Video MP4 fragments encoded as separate streams with different quality levels (bit rates) and resolutions.
Audio MP4 fragments encoded as a single stream with one bit rate (if audio and video are encoded separately).
XML manifest files that enable clients to use Smooth Streaming heuristics, a stream-switching logic that obtains the best quality stream optimized for the client environment at all times.
For a list of encoders that support Live Smooth Streaming output, see the IIS Media Services Partners Web page.
When a client makes a request for a Live Smooth Streaming presentation, the Web server delivers an XML manifest that describes the available quality levels. The client then uses Smooth Streaming heuristics to determine the best stream from which to request a media fragment at that instant. Smooth Streaming heuristics continuously monitors the environment and at frequent intervals (typically 2 seconds), requests the next contiguous MP4 fragment in the live stream (if available bandwidth and CPU resources have not changed) or a contiguous MP4 fragment from a different stream (if available bandwidth and CPU resources have changed). This process continues until the client stops playback or the end of the stream is reached, ensuring that the client has the best possible viewing experience without any buffering or stuttering. Clients that host Smooth Streaming heuristics include Microsoft® Silverlight®.
Unlike traditional streaming, IIS Live Smooth Streaming uses standard HTTP to deliver cacheable MP4 fragments. Caching servers can reuse the fragments to fulfill new client requests, eliminating the need for provisioning a streaming server network with the required number of stateful streaming sessions per server to scale the delivery of live events to the expected audience. Using HTTP to deliver live events takes advantage of the scale of existing HTTP networks and keeps content close to the client, increasing availability. For more information, see Edge Caching for Media Delivery.