Internet Video Homepage
Welcome to the Internet Video Homepage! This site is meant to provide a service to the community by summarizing the recent academic and industry efforts in the research and development of Internet video.
The site is still under development. Any comments and suggestions are welcomed and are critical to make this site up-to-date. Please send your comments (e.g., missing citations or industry developments) to "junchenj AT cs.cmu.edu"
Recent years have witnessed tremendous academic and industry efforts to understand and improve Internet video service. The Internet video is critical and challenging in four key aspects.
In summary, high percent of video in Internet traffic mix has significant implications for Internet architecture.
- Massive traffic: Video traffic has emerged as the dominant traffic in today's Internet (more than 60% in North America in 2011 according to source from Akamai) and it is predicted to increase much faster than other applications in the years to come. Especially, streaming traffic (which consists of Live and video-on-demand streaming, but excludes the downloads of video content like P2P) counts for the biggest share in the whole video traffic (predicted to count for more than 90% Internet traffic by 2016 according to source from Cisco).
- Heterogeneous access patterns: User access patterns vary greatly across different video site (Youtube vs. Netflix), time (prime vs. non-prime hours), content type (Live vs. video-on-demand). For example, videos on Youtube are typically much shorter than Netflix and usually viewers of Youtube are more dynamic than those of Netflix. Moreover, Live videos are more likely to cause flash crowd phenomenon than video-on-demand.
- Unique quality metrics: Video imposes fundamentally different requirements on the delivery ecosystem than the existing web traffic and file downloads. For example, we know that overall completion time does not really reflect the actual user experience as it does not capture rebuffering-induced interruptions; users are sensitive to buffering as a 1% increase in buffering can lead to more than a 3 minutes reduction in expected viewing time
- Fueled by recent technology trends: This growth in video is accompanied, and in large part driven, by several key technology trends: better integration with browser sandbox environment, the shift from customized connection-oriented video transport protocols (e.g., RTMP) to HTTP-based adaptive streaming protocols (e.g., Apple's HLS), and the shift from overlay network (e.g., P2P) multicast to the re-use of CDN infrastructure.
This site includes:
- Overview of Internet video ecosystem
- Industry platforms and standards
- Academic Publications
- Video traffic reports
Overview of Internet Video Ecosystem
There are several approaches to scale the video delivery through Internet, including CDN, P2P, IP multicast. Among them, using the existing CDN infrastructure emerges as the most popular way for Internet video streaming. This section presents a high-level overview of CDN-based video streaming and player design.
Figure 1.1 (from [Hui's tutorial]) shows a diagram of today's CDN-based Internet video delivery system. For both Live and Video-on-Demand streaming, CDN servers are used for storing, transferring and replicating content. Considering its ISP and broadband penetration, CDN will more and more influences the delivery speed and quality.
Figure 1.2 (from [FESTIVE slides]) shows the view from a video player's perspective. There are several key implications.
- The video player runs in browser environment.
- The video content is encoded at multiple discrete bitrates.
- The video player can switch bitrate at any time in the middle of a stream. For RTMP-based player, it is done by a proprietary protocol between server and client. For HTTP-based player, each bitrate stream is broken into multiple segments or "chunks". The i th chunk from one bitrate stream is aligned in the video time line to the i th chunk from another bitrate stream so that a video player can smoothly switch to a different bitrate at each chunk boundary.
- HTTP-based player enables server switching in the middle of a stream. Each video "chunk" is stored in multiple servers, and the video player can switch server at each chunk boundary by requesting from another server (even from another CDN or a cache).
- HTTP-based player is client-driven - The control logic (that decides bitrate and server) is run inside the player code, and it forms a separate control plane (instead of a proprietary protocol that combines data plane and control plane).
|Figure 1.1: Data plane of today's Internet video delivery through CDN
||Figure 1.2: HTTP-based streaming protocols
Industry platforms and standards.
How CDNs support video streaming
Major streaming protocols
Academic Publications on Internet Video
Overview (tutorial, keynotes, etc)
User experience measurement
Video traffic measurement
Client-side performance measurement
Design of adaptation player
Server-side and network-level optimization
Cases for novel architecture
Theories and models
Video traffic reports