There are two ways to deliver video files over the web: (i) progressive download and (ii) streaming. Progressive downloads are typically cheaper and work with any server, but do not offer content protection nor seeking to undownloaded parts. Streaming servers offer these functionalities, but must be installed on your server(s). Since server side access and / or knowledge is not always readily available, some developers choose an “in between” solution of HTTP streaming through the use of a small server side script (e.g. PHP, ASP, etc.).
HTTP streaming works through a very simple mechanism. Every time a seek operation is performed, the media player makes a request to the server side script with a couple of GET variables. One is the file to play and one is the start position. The server side script then starts the video from the offset given. Below is a short example. After you start the video, you can directly jump to any part in the video without having to wait until it is loaded.
Before Adaptive Streaming, video on the web had always been plagued by two major issues: quality of the video (either too small or too blurry) and reliability of the playback (constant rebuffering or stuttering). The problem was that the two variables were interrelated. Increasing the quality requires higher bandwidth, and using less bandwidth to minimize re-buffering sacrificed video quality.
This is in contrast to real-time streaming, as there would necessarily be a minimum latency of whatever duration the server slices the stream into (Apple refers to 10 seconds as an example). As the server encodes the video and slices it into 10 second clips, for instance, it creates or updates a playlist for the stream with the URL of the next clip. The client begins by downloading one or more of the clips, playing them in order. As one clip plays, the client begins downloading the next specified clip until it reaches a tag in the playlist that signals the end of the stream.
With Adaptive Streaming, users do not choose a stream, but simply connect to the live event. If bandwidth drops, instead of pausing, the stream is seamlessly transitioned to the next lower bitrate stream. When the bandwidth recovers, the stream will automatically use the higher bitrate. No decision needs to be made by the user. The user is able to watch the live event, in the best quality possible, without pauses or interruptions in the video stream.
Looking to find the best tool for Ankoder - Online Video Encoding, then visit www.ankoder.com for a tutorial on iPhone HTTP Streaming segments.

























