An experimental evaluation of rate-adaptive video players over HTTP

https://doi.org/10.1016/j.image.2011.10.003Get rights and content

Abstract

Adaptive (video) streaming over HTTP is gradually being adopted by content and network service providers, as it offers significant advantages in terms of both user-perceived quality and resource utilization. In this paper, we first focus on the rate-adaptation mechanisms of adaptive streaming and experimentally evaluate two major commercial players (Smooth Streaming and Netflix) and one open-source player (Adobe's OSMF). We first examine how the previous three players react to persistent and short-term changes in the underlying network available bandwidth. Do they quickly converge to the maximum sustainable bitrate? We identify major differences between the three players and significant inefficiencies in each of them. We then propose a new adaptation algorithm, referred to as AdapTech Streaming, which aims to address the problems with the previous three players. In the second part of the paper, we consider the following two questions. First, what happens when two adaptive video players compete for available bandwidth in the bottleneck link? Can they share that resource in a stable and fair manner? And second, how does adaptive streaming perform with live content? Is the player able to sustain a short playback delay, keeping the viewing experience “live”?

Introduction

Video has long been viewed as the “next killer application”.1 Over the last 20 years, the various instances of packet video have been thought of as demanding applications that would never work satisfactorily over best-effort IP networks. That pessimistic view actually led to the creation of novel network architectures and QoS mechanisms, which were not deployed in a large-scale, though. Eventually, over the last 3–4 years video-based applications, and video streaming in particular, have become utterly popular generating more than half of the aggregate Internet traffic. Perhaps, surprisingly though, video streaming today runs over IP without any specialized support from the network. This has become possible through the gradual development of highly efficient video compression methods, the penetration of broadband access technologies, and the development of adaptive video players that can compensate for the unpredictability of the underlying network through sophisticated rate-adaptation, playback buffering, and error recovery and concealment methods.

Another conventional wisdom has been that video streaming would never work well over TCP, due to the throughput variations caused by TCP's congestion control and the potentially large retransmission delays. As a consequence, most of the earlier video streaming research has assumed that the underlying transport protocol is UDP (or RTP over UDP), which considerably simplifies the design and modeling of adaptive streaming applications. In practice, however, two points became clear in the last few years. First, TCP's congestion control mechanisms and reliability requirement do not necessarily hurt the performance of video streaming, especially if the video player is able to adapt to large throughput variations. Second, the use of TCP, and of HTTP over TCP in particular, greatly simplifies the traversal of firewalls and NATs.

The first wave of HTTP-based video streaming applications used the simple progressive download method, in which a TCP connection simply transfers the entire movie file as quickly as possible. The shortcomings of that approach are many, however. One major issue is that all clients receive the same encoding of the video, despite the large variations in the underlying available bandwidth both across different clients and across time for the same client. This has recently led to the development of a new wave of HTTP-based streaming applications that we refer to as adaptive streaming over HTTP (For a general overview of video streaming protocols and adaptive streaming, refer to [2]). Several players, such as Microsoft's Smooth Streaming, Adobe OSMF, as well as the players developed or used by Netflix, Move Networks and others, use this approach. In adaptive streaming, the server keeps multiple profiles of the same video, encoded in different bitrates and quality levels. Further, the video object is partitioned in chunks or fragments, typically a few seconds long. A player can then request different chunks at different encoding bitrates, depending on the underlying network conditions. Notice that it is the player that decides what bitrate to request for any chunk, improving server-side scalability. Another benefit of this approach is that the player can control its playback buffer size by dynamically adjusting the rate at which new chunks are requested.

Adaptive streaming over HTTP is a new technology. It is not yet clear whether the existing commercial players perform well, especially under dynamic network conditions. Further, the complex interactions between TCP's congestion control and the application's rate-adaptation mechanisms create a “nested double feedback loop”—the dynamics of such interacting control systems can be notoriously complex and hard to predict. As a first step toward understanding and improving such video streaming mechanisms, this paper experimentally evaluates two major commercial video players over HTTP (Microsoft's Smooth Streaming [17] and the player used by Netflix [15]) and one open-source player (Adobe's OSMF [16]).

In the first part of the paper (3 Microsoft smooth streaming, 4 Netflix player, 5 Adobe OSMF), we examine how the previous three players react to persistent and short-term variations in the underlying network available bandwidth. Do they quickly converge to the maximum sustainable bitrate? We identify major differences between the three players and significant inefficiencies in each of them. Then, in Section 6, we propose a new adaptation algorithm, referred to as AdapTech Streaming and implemented in Adobe's OSMF v1.5 player, which aims to address the issues with the previous three players.

In the second part of the paper (Sections 7 and 8), we consider the following two questions. First, what happens when two adaptive video players compete for available bandwidth in the bottleneck link? Can they share that resource in a stable and fair manner? And second, how does adaptive streaming perform with live content? Is the player able to sustain a short playback delay, keeping the viewing experience “live”?

In Section 2, we describe our experimental approach, the various tests we perform for each player, and the metrics we focus on. 3 Microsoft smooth streaming, 4 Netflix player, 5 Adobe OSMF focus on the Smooth Streaming, Netflix, and OSMF players, respectively. The proposed rate adaptation algorithm, AdaptTech Streaming, is described in Section 6. Section 7 focuses on the competition effects that take place when two adaptive players share the same bottleneck. Section 8 focuses on live video using the Smooth Streaming player. In Section 9, we review the related work on adaptive video streaming. We summarize what we learn for each player and conclude the paper in Section 10.

Section snippets

Methodology and metrics

In this section, we give an overview of our experimental methodology and describe the metrics we focus on. The host that runs the various video players also runs a packet sniffer (Wireshark [14]) and a network emulator (DummyNet [20]). Wireshark allows us to capture and analyze offline the traffic from and to the HTTP server. DummyNet allows us to control the downstream available bandwidth (also referred to as avail-bw) that our host can receive. That host is connected to the Georgia Tech

Microsoft smooth streaming

In the following experiments, we use Microsoft Silverlight Version 4.0.50524.0. In a Smooth Streaming manifest file, the server declares the available audio and video bitrates and the resolution for each content (among other information). The manifest file also contains the duration of every audio and video chunk. After the player has received the manifest file, it generates successive HTTP requests for audio and video chunks. Each HTTP request from the player contains the name of the content,

Netflix player

The Netflix player uses Microsoft's Silverlight for media representation, but a different rate-adaptation logic. The Netflix player also maintains two TCP connections with the server, and it manages these TCP connections similarly with the Smooth Streaming player. As will become clear, however, the Netflix player does not send audio and video chunk requests at the same pace. Also, the format of the manifest file and requests are different. Further, most of the initial communication between the

Adobe OSMF

We have repeated the same set of tests with Adobe's sample OSMF player, using Flash version 10.1.102.64 with player version WIN 10.1.102.64 and OSMF library version 1.0. In the following experiments, we watch a movie trailer (“Freeway”) provided by Akamai's HD-video demo Web site for Adobe HTTP Dynamic Streaming:

Note that the player used in this Web site was not built specifically to showcase HTTP Dynamic Streaming.

The manifest file declares

AdapTech streaming player

We now propose a new adaptation algorithm, referred to as AdapTech Streaming, which aims to address the observed issues with the previous three players. We have implemented AdapTech using Adobe's OSFM player v1.5. In the following, we first describe our design objectives, the AdapTech algorithm, and then present experimental results under persistent and short-term avail-bw variations.

Two competing players

Suppose that two adaptive HTTP streaming players share the same bottleneck. This can happen, for instance, when people in the same house watch two different movies—in that case the shared bottleneck is probably the residential broadband access link. Another example of such competition is when a large number of users watch the same live event, say a football game. In that case the shared bottleneck may be an edge network link. There are many questions in this context. Can the players share the

Smooth live streaming

We are also interested in the similarities and differences between live and on-demand adaptive video streaming. What is the playback delay in the case of live streaming? Does the player react differently to avail-bw variations when it streams live content? And how does the player react when the playback buffer becomes empty? Does it skip chunks so that it maintains a small playback delay, or does it increase the playback delay aiming to show all chunks? We explored these questions with the

Related work

Even though there is extensive previous work on rate-adaptive video streaming over UDP, transport of rate-adaptive video streaming over TCP, and HTTP in particular, presents unique challenges and has not been studied so much in the past.

A good overview of multi-bitrate video streaming over HTTP is given by Zambelli [26], focusing on Microsoft's IIS Smooth Streaming. Begen et al. [2] provide an overview of video streaming technologies over the Web including adaptive streaming over HTTP.

Conclusions

We conducted an experimental evaluation of two commercial and one open source adaptive HTTP streaming players, focusing on how they react to persistent and short-term avail-bw variations. We found major differences in the players and significant inefficiencies in each of them. Aiming at addressing those issues, we also proposed a new rate adaptation algorithm called AdapTech Streaming. In the following, we conclude by giving a summary of our findings for each player.

The Smooth Streaming player

References (26)

  • S. Akhshabi, A.C. Begen, C. Dovrolis, An experimental evaluation of rate-adaptation algorithms in adaptive streaming...
  • A.C. Begen et al.

    Watching video over the web, part I: streaming protocols

    IEEE Internet Computing

    (2011)
  • L. De Cicco, S. Mascolo, An experimental investigation of the Akamai adaptive video streaming, in: Proceedings of USAB...
  • Tamper Data,...
  • L. De Cicco, S. Mascolo, V. Palmisano, Feedback control for adaptive live video streaming, ACM MMSys,...
  • K. Evensen, D. Kaspar, C. Griwodz, P. Halvorsen, A. Hansen, P. Engelstad, Improving the performance of quality-adaptive...
  • R. Gao, C. Dovrolis, E. Zegura, Avoiding oscillations due to intelligent route control systems, in: Proceedings of IEEE...
  • A. Goel et al.

    Low-latency adaptive streaming over TCP

    ACM TOMCCAP

    (2008)
  • R. Kuschnig, I. Kofler, H. Hellwagner, An evaluation of TCP-based rate-control algorithms for adaptive Internet...
  • R. Kuschnig, I. Kofler, H. Hellwagner, Improving Internet video streamilng performance by parallel TCP-based...
  • R. Kuschnig, I. Kofler, H. Hellwagner, Evaluation of http-based request-response streams for internet video streaming,...
  • C. Liu, I. Bouazizi, M. Gabbouj, Rate adaptation for adaptive http streaming, ACM MMSys,...
  • Pomelo LLC, Analysis of Netflix's security framework for ‘Watch Instantly’ service, Pomelo, LLC Tech Memo, 2009,...
  • Cited by (124)

    • Energy efficient fuzzy-based DASH adaptation algorithm

      2021, Digital Communications and Networks
      Citation Excerpt :

      Sani also classified rate adaptation based on the techniques being employed. Accordingly, rate adaptation may involve optimization [14,15], control theory [16,17], heuristics [18,19], or Artificial Intelligence (AI) [20–22]. In this work, we propose an Energy-Efficient Fuzzy-based DASH (EEFDASH) adaptation algorithm, which is based on the fuzzy logic approach for rate adaptation.

    • Adaptive Live Streaming for Multi-user Access with Fairness Guarantee

      2023, IEEE International Symposium on Broadband Multimedia Systems and Broadcasting, BMSB
    View all citing articles on Scopus
    View full text