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 Smooth Streaming extension for IIS 7 works with contiguous files stored in a fragmented MPEG-4 (MP4) media container format, which are created by encoders that use a Smooth Streaming profile to encode the video source. A Smooth Streaming presentation created by an encoder contains the following:
Multiple video files (with .ismv file name extensions) encoded with different quality levels (bit rates) and resolutions. If the video source also contained audio, one of the .ismv files will contain the audio stream, typically encoded at 64 kilobits per second (Kbps).
XML manifest files that enable clients to use Smooth Streaming heuristics, a stream-switching logic that obtains the best quality video optimized for the client environment at all times.
For a list of encoders that support Smooth Streaming output, see the IIS Media Services Partners Web page.
When a client makes a request for a 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 file 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 file (if available bandwidth and CPU resources have not changed) or a contiguous MP4 fragment from a different file (if available bandwidth and CPU resources have changed). IIS Smooth Streaming dynamically creates the MP4 fragment from the appropriate video source file and delivers it seamlessly to the client. This process continues until the client stops playback or the end of the file 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 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 media content to the expected audience. Using HTTP to deliver media content takes advantage of the scale of existing HTTP networks and keeps the content close to the client, increasing availability. For more information, see Edge Caching for Media Delivery.