کد:
http://learn.iis.net/page.aspx/568/smooth-streaming-for-iis-70---exploring-bit-rate-changes/
Smooth Streaming for IIS 7.0 - Exploring Bit Rate Changes


  • Author: John Bocharov


The Smooth Streaming extension for Internet Information Services (IIS) 7.0 allows you to set up a Web server as a Smooth Streaming server with a default Microsoft Silverlight 2.0 client implementation. This document covers the following scenarios:

  • Prerequisites
  • Using the Smooth Streaming User Experience Simulator
  • Simulating a Drop in Available Bandwidth
  • Simulating a Recovery of Available Bandwidth
  • User Experience for Seeking

Prerequisites

The scenarios in this article require a Smooth Streaming server. Follow the steps in Smooth Streaming for IIS 7.0 - Getting Started to set up a Smooth Streaming server.
Using the Smooth Streaming User Experience Simulator

To open the Smooth Streaming User Experience Simulator, navigate your Web browser to http://localhost/Big_Buck_Bunny/UXSimulator.html.
Note If you stored the sample content in a different content directory, substitute its URL for Big_Buck_Bunny. To view the content from a remote computer, substitute the server’s URL for localhost.
The Web page displays a user interface similar to the following:


The interface contains the following components that help simulate conditions and quantify the playback experience:
Current Bit Rate Selection panel (upper right).

The right-most element is used to select the simulated available bit rate between the client and the server. To simulate a drop in the available bit rate, click the desired red bar. To simulate an increase in the available bit rate, click the desired gray bar.
The left-most element displays the encoded bit rates that are available. The green bars indicate the current bit-rate downloads that are taking place. Download bit rate decisions are made are made every few seconds by the Smooth Streaming heuristic algorithms that are hosted in Silverlight. A change in the downloaded bit rate may lag several seconds behind changes in the simulated available bit rate.
Frame Rate History panel (lower right)

This panel displays the recent history and the current state of the playback frame rate, as a percentage of the encoded frame rate. Use this information to determine if the available decoding power is considered a limiting factor in the bit rate decision. As the needs of the video decoder and renderer begin to exceed available CPU resources (either due to hardware limitations or CPU use by other processes), Silverlight skips frames to keep the stream playing in real time, resulting in a detectable drop of the playback frame rate relative to its possible maximum (the encoded frame rate of the media). If the playback frame rate falls too low, video playback may cease to appear smooth, and decoding artifacts may start to appear. To ensure a great playback experience, the Smooth Streaming algorithms limit the bit rate of the media if excessive skipping of frames occurs. This ensures that the CPU load required for decoding stays within the limits of the CPU power available.
Bit Rate History panel (lower left)

This panel displays a history of the bit rates used during playback. The right side of the graph always represents the current bit rate at which content is playing.
Simulating a Drop in Available Bandwidth

To simulate a drop in the available bandwidth, click on the red bars in the Current Bit Rate Selection panel. The following figure shows a simulated drop from 5000 kilobits-per-second (Kbps) to 714 Kbps (three bars for the sample content).

At the next available bit rate decision point (a few seconds later), the Smooth Streaming heuristics algorithms adjust the download bit rate accordingly. This can be seen by looking at the green bars in the Current Bit Rate Selection panel:

The Smooth Streaming client will play the content that is already downloaded at the higher bit rate to maintain high quality for as long as possible, then play the content that is downloaded as the new reduced bit rate begins, as can be seen by examining the Bit Rate History panel:

Simulating a Recovery of Available Bandwidth

The ability to seamlessly upgrade the experience as conditions recover is crucial to ensuring that all users get the best quality they can at any moment. Starting from a low simulated bit rate state, let us examine how the Smooth Streaming client heuristics respond when conditions improve. Select a higher simulated bit rate by clicking on the grey bars above the red bars in the Current Bit Rate Selection panel.

At the next available decision point, the Smooth Streaming client heuristics change the download bit rate to match the available simulated bit rate between the client and the server, as can be seen by the green bars in the Current Bit Rate Selection panel:

Shortly thereafter, content downloaded at the new improved bit rate begins to play, as can be seen in the Bit Rate History panel. Notice how the change in bit rate occurs gradually to prevent a jarring visual quality change:

User Experience for Seeking

The Smooth Streaming heuristics algorithms ensure that the experience is extremely responsive to seek operations by downloading media at the desired seek position at a reduced bandwidth to reduce the lag between a seek event and playback at the new position, and then quickly recover to the available bit rate to maintain a quality experience. This can be seen in the Bit Rate History panel after a seek event:







موضوعات مشابه: