Described embodiments relate generally to web-based video streaming and specifically to adaptive video streaming over a content delivery network using fast network protocols.
Networked video streaming provides users with rich opportunities to upload, watch and share videos in fast-growing online video entertainment communities. Video streaming sites such as YOUTUBE™ allow content providers to upload videos and download videos from the video streaming sites. Users can easily share videos by mailing links to others, or embedding them on web pages or in blogs. Users can also rate and comment on videos, bringing new social aspects to video viewing.
Videos have various video quality levels, for example including low, medium and high. Video quality is one characteristic of a video passed through a video processing/transmission system and is often measured by the perceived degradation compared to the original video. Streaming a high quality video generally requires a high bitrate, high resolution and high requirement for network bandwidth to support video streaming.
It is challenging to stream a high quality video over a content delivery network (e.g., the Internet) with acceptable delay using existing network protocols for the web. For example, the existing network protocols Hpertext Transfer Protocol (HTTP) and Transmission Control Protocol (TCP) are not particularly designed to be latency sensitive. Because HTTP can only fetch one video resource at a time, a server delay of 500 milliseconds prevents reuse of a TCP channel for additional streaming requests. Recently improved network protocols, such as SPDY protocol, allow concurrent HTTP requests to run across a single TCP session for a variety of content delivery applications. Thus, there is a need for adaptive video streaming over a content delivery network using fast network protocols