There are two basic requirements for achieving a stable viewing experience in web-based high-definition digital video transmission. First, the video provider needs to support a higher video transmission bit rate on the network. Second, the client computer needs to support continuous processing capabilities to decode the video at full resolution.
The reality is that over time, the network bandwidth of home networking computers fluctuates significantly, and in some parts of the world, high bandwidth costs, or only to some users. At the same time, the processing power of client computers varies according to the CPU load at any given time. The result is that when the player waits to buffer enough data to display the next set of video frames, or waits for the CPU cycle to decode the frames, the video will be choppy or freeze, giving the user a great viewing experience.
Adaptive streaming is a video transmission mode, which can transmit video content smoothly and solve the decoding problem. Using adaptive streaming, video content is encoded in a certain bit rate range and provided by a dedicated streaming server. The adaptive streaming player has been monitoring the various resource utilization metrics on the client computer, using this information to calculate the corresponding bit rate. The client can decode and display this bit rate most efficiently under the given existing resource constraints.
The player requests a video block encoded at the current bitrate that the streaming server responds to the content in the video source encoded by this bit rate. As a result, the player can continue to display the video without any noticeable interference when the resource is not in good condition, but the overall resolution will be slightly reduced until the resource condition is raised or further reduced, resulting in a request for a different bit rate.
To achieve this continuous collaboration between the player and the server requires a specialized processing logic implementation in the streaming server and in the client runtime that implements the player. Internet Information Server (IIS) smooth streaming is a server-side implementation of an adaptive streaming process through HTTP that Microsoft has introduced. The client implementation is provided as an extension of Microsoft Silverlight.
The IIS smooth streaming player Development Kit is a Silverlight library that enables applications to work with content that flows through the smooth flow of IIS to handle functionality. The toolkit also provides a feature-rich API for programmatic access to all aspects of smooth streaming processing logic.
In this article, I'll step you through the basics of smoothing streaming to explain how to create a rich user video experience using the IIS smooth streaming player development kit. Specifically, I'll explain how to use the Player development toolkit to use the stream to further examine the flow and the trajectory of the client data model. I'll show you how to use additional data streams, such as hiding captions and animations, and merging external data streams with existing movies. You will learn how to arrange external clips such as ads in your movie, handle the changing playback speed, and generate a composite list that creates a powerful editing scheme.
Smooth flow processing Working mode
You can use a pair of video encoding of the configuration files provided by Expression Encoder 3.0 for smooth streaming. For a source video file, several files are created in the destination folder. Figure 1 shows a file created for a source video named Fighterpilot.wmv.
Figure 1 Expression encoder files generated for smooth streaming processing
Each file with a. ismv extension contains video encoded at a specific bit rate. For example, FIGHTERPILOT_331.ISMV contains video encoded at 331 Kbps bitrate, while FIGHTERPILOT_2056.ISMV contains video encoded with 2 Mbps.
For each bit rate, the video content is split into two-second fragments, and the. ismv file stores these fragments in a file format called protected Interop file Format (PIFF). Note that you can encode an additional track (or just audio, when the movie is a pure audio) in a similar file with the. isma extension.