Improved Delivery of Live SVC-based. HTTP Adaptive Streaming Content. Niels Boutenâ¤, Maxim Claeysâ¤, Robin Bailleulâ , Jin Liâ , Jeroen Famaeyâ¤,.
Improved Delivery of Live SVC-based HTTP Adaptive Streaming Content
⇤ Department
Niels Bouten⇤ , Maxim Claeys⇤ , Robin Bailleul† , Jin Li† , Jeroen Famaey⇤ , Steven Latr´e‡ , Jan De Cock† , David Lou§ , Werner Van Leekwijck§ , Filip De Turck⇤
of Information Technology, Ghent University - iMinds, Gaston Crommenlaan 8/201, B-9050 Ghent, Belgium Lab, Ghent University - iMinds, Gaston Crommenlaan 8/201, B-9050 Ghent, Belgium ‡ Department of Mathematics and Computer Science, University of Antwerp, Middelheimlaan 1, B-2020 Antwerp, Belgium § Alcatel-Lucent Bell Labs, Copernicuslaan 50, B-2018 Antwerp, Belgium † Multimedia
I. I NTRODUCTION Over the past decades, the importance of multimedia services such as video streaming has increased considerably. Since streaming protocols such as Real Time Streaming Protocol (RTSP) and Real Time Transport Protocol (RTP) require server-side bit-rate adaptation schemes, they are not ideally suited to deal with highly heterogeneous and dynamically changing network conditions. Therefore, research shifted towards client-side adaptation schemes, requiring significantly less investments in server-side infrastructure. HTTP Adaptive Streaming (HAS) is now becoming omnipresent in video streaming services due to many advantages offered by HTTPbased streaming: reliable transmission over TCP, reuse of existing caching infrastructure and compatibility with NATs and firewalls. In HAS, the video content is split temporally into segments which are encoded at different quality rates. The client side heuristic decides at which quality rate each segment should be downloaded, based on measured network statistics, buffer filling level and device characteristics. Traditionally, Advanced Video Coding (AVC) is used to encode the different segments, introducing a significant amount of redundancy across quality representations. Scalable Video Coding (SVC) can cope with these issues of content redundancy by creating dependencies between the base and enhancement layers. Adopting SVC in HAS significantly improves caching and bandwidth efficiency at the server side. Another advantage of SVC, is the ability to gradually upgrade the quality of the video by downloading additional video layers. Academia and industry are showing a growing interest in the use of HAS for managed networks. The extensive content catalogue and increased flexibility in terms of supported devices of Over The Top (OTT)-services (e.g., YouTube, Hulu, Netflix) but delivered over a managed network, could greatly benefit both provider and end-user. Delivering paid HAS services, however, requires the ability for the provider to offer guarantees in terms of reliability to the end-users. Since HAS services are originally designed for OTT scenarios, current-generation HAS players require a large play-out buffer to guarantee continuous playback. This makes them ill-suited for live television, as it significantly increases the live signal delay. Shrinking the buffer size has however some implications on the reliability of the streaming service and requires the player to react in a fast and robust way to changes in the network. Therefore, we propose a managed HAS multimedia framework, using SVC and prioritization in the network, which 978-1-4799-0913-1/14/$31.00 c 2014 IEEE
Fig. 1: Network setup used during the demonstration. allows to offer a reliable video streaming service. We take advantage of the ability to gradually improve quality which is present in SVC-based HAS to deliver the base layer with higher priority to the clients. This way, when congestion arises, the continuous playout of the base layer can be guaranteed, allowing the provider to offer a reliable service. Within the MISTRAL project, a prototype of this SVCbased HAS client was implemented as well as an intermediary proxy, which is responsible for classifying the requests. Figure 1 shows the demonstration setup where we compare both the SVC-based client with an Apple HLS client, which is a commonly used commercial HAS client. By introducing best effort crosstraffic, the continuous playout of the SVC-based client is compared with the stuttered playback of the standard HAS player, showing the advantages of our approach. II. P RIORITY-BASED D ELIVERY OF HAS Several clients for which the video flows traverse the same path in the network are competing with each other, resulting in a fair-share bandwidth between them. An implication of this TCP behavior is that urgent requests from a client risking to run into a buffer starvation are treated in the same way as requests of clients that have already built up a sufficiently large buffer. If congestion arises in the network, both of the clients will experience a delayed arrival of the requested segment. For the first client however, this causes the buffer to deplete, resulting in a frame freeze, which is the main factor responsible for lowering the Quality of Experience (QoE) [1]. Especially for live TV, where late segments are skipped, causing that part of the streaming session to be irrevocably lost. To improve reliability in SVC-based HAS systems, we apply prioritization based on the representation level. This is established by interpreting the requests at an intermediary proxy, classifying them into different priority classes and mark the packets based on this priority. If we choose to deliver the base layer representation of the video with highest priority, clients with limited buffer filling will be able to continue playout at the lowest quality when congestion arises. These adaptations (SVC-based HAS and prioritization in the network) allow us to improve the reliability for live HAS
services, while limiting the buffer size and thus the latency on the live signal.
1 Apache
HTTP server project - http://httpd.apache.org/ cache - http://www.squid-cache.org/ 3 Click Modular Router - http://www.read.cs.ucla.edu/click/click 4 cURL - http://curl.haxx.se/ 5 GStreamer - http://gstreamer.freedesktop.org 6 Open SVC Decoder - http://sourceforge.net/projects/opensvcdecoder/ 2 Squid
Fig. 2: Three screen setup of the demo, with from left to right: Apple HLS playout, statistics on quality playout and crosstraffic and Mistral SVC-based Client. 25
8
20
6
15
4
10
2
5
0 0
50
100
150
200 250 Time (s)
300
350
Cross Traffic (Mbps)
Apple HLS SVC Mistral
10
Quality (Mbps)
III. D EMO S ETUP Figure 1 shows how the different components of the HAS framework are interconnected. To prioritize the baselayer traffic, Differentiated Services (DiffServ) [2] has been used which offers a scalable mechanism for classifying and managing IP network traffic. For the classification, the 6-bit DS Field of the IP header is used. DiffServ-aware routers each implement Per Hop Behaviors (PHBs), defining the packet forwarding rules for every traffic class. The HAS server was implemented using Apache1 . All encoded segment files are put onto this server, which allows generating both VoD and Live streaming manifests. The proxy is responsible for handling requests from the clients and forwarding them to the server. Furthermore, the proxy classifies these requests into different priority classes and updates the DSCP fields accordingly. The proxy was implemented using Squid2 version 3.1.6, which offers support for setting clientside TOS-fields. The different classes were accomplished by defining several access control lists in Squid using the urlbased regular expressions and use this classification to assign the different client-side DSCP values. The Assured Forwarding (AF) [3] PHB has been implemented in a Click3 router for this proof-of-concept. The AF PHB, allows the operator to ensure the delivery of this traffic class as long as it does not exceed some subscribed rate. When traffic exceeds the subscription rate, it faces a higher drop probability when congestion occurs. We also inject best effort cross traffic into the network using click which is adjustable via a web interface. We based the MISTRAL SVC client on the implementation described in our previous work [4] and replaced the networking modules by curl-based4 components. We added an additional download scheduler to be able to take advantage of the in-network prioritization, starting off by filling the buffer with high priority segments, after which it goes into steady state and periodically (every segment length) downloads an additional segment. The segments are then streamed to a GStreamer5 -based decoding and visualization plugin. The SVC decoding is handled by an adapted implementation of Open SVC Decoder6 . An Apple HLS client is also connected in the form of an Apple Mac Mini using QuickTime. The encoding of the AVC and SVC video segments was performed using the reference encoders from the JM and JSVM test models respectively. Three different rate points are used, the base layer is encoded at a spatial resolution of 480p, with a fixed Quantization Parameter (QP) of 35. The first enhancement layer applies MGS quality scalability at 480p with a QP of 25. The highest layer is a spatial enhancement layer of 720p resolution with a QP of 25. This results in the video quality of the AVC and SVC streams being equal for equivalent rate points. The frame rate is 25 fps with an I-frame every 25 frames, resulting in a segment length of 1 second for SVC. Figure 2 shows the demonstration setup with 3 screens. The first screen shows the playout of the Apple HLS client,
0 400
Fig. 3: Illustration of the continuous playout under cross traffic when SVC layer-based prioritization is enabled. while the third screen shows the playout of the MISTRAL SVC client. It is visible from the picture that there is a difference in latency with respect to the live signal. The middle screen shows the playout statistics for both the Apple HLS client and the Mistral client, both in terms of live latency and playout quality. There is also a slider available which can be used to increase/decrease the crosstraffic on the best effort path. This allows us to demonstrate the freezing behavior of the HLS client while the Mistral client can continue the playout. Figure 3 illustrates the benefits of using a combination of SVC-based HAS and DiffServ for a single client. The SVC layer prioritization allows a continuous playout with a buffer of only 2s, while the Apple HLS client freezes for about 30s for a standard buffer size of 20s. ACKNOWLEDGMENT Niels Bouten and Maxim Claeys are both funded by a Ph.D. grant of the Agency for Innovation by Science and Technology (IWT). This research was partially performed within the iMinds MISTRAL (Managing Internet video STReaming through Adaptation and Learning) project (under grant agreement no. 10838). Alcatel-Lucent was partially funded by IWT project 110112. R EFERENCES R. K. Mok, E. W. Chan, and R. K. Chang, “Measuring the quality of experience of http video streaming,” in Integrated Network Management (IM), 2011 IFIP/IEEE International Symposium on. IEEE, 2011, pp. 485–492. [2] S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, and W. Weiss, “An Architecture for Differentiated Services,” IETF RFC 2475, Dec. 1998. [3] J. Heinanen, F. Baker, W. Weiss, and J. Wroclawski, “Assured Forwarding PHB Group,” IETF RFC 2597, Jun. 1999. [4] J. Famaey, S. Latr´e, N. Bouten, W. Van de Meerssche, B. De Vleeschauwer, W. Van Leekwijck, and F. De Turck, “On the merits of svc-based http adaptive streaming for over-the-top video services,” in IFIP/IEEE Internatiional Symposium on Integrated Network Management, Ghent, Belgium, 05/2013 2013. [1]