Cache-Enabled Adaptive Video Streaming: A QoE-Based Evaluation Study
Abstract
:1. Introduction
- The interplay and “indirect” dependencies between DASH-related decisions (video segment selection) and caching (cache hit or miss) are investigated and revealed through an extensive evaluation study.
- Such dependencies are quantified, guiding the network operators of current infrastructures to make more informed decisions when dimensioning their networks (i.e., selecting the appropriate bandwidth allocation related parameters).
- The proposal of metrics that can capture the QoE of end users in these kinds of scenarios.
- The proposal of a “Send While Get” DASH-based approach, wherein the segments are fetched from the server simultaneously and are sent to the client without the need for any queue. The impact of this approach on channel utilization is also explained while it is compared with a “Get Before Send” approach.
- The design of a complete, end-to-end emulation framework, which (a) configures the DASH manifest file and prepares the multi-resolution video segments, (b) caches these segments using a random algorithm at involved servers, (c) performs the DASH-based algorithmic logic through a VLC client and (d) supports the caching hit/miss processes and respective segment forwarding.
2. HTTP Adaptive Video Streaming
2.1. Concept
2.2. Implementation
- Periods, which are contained in the top-level MPD element, describe a part of the content with a start time and duration. Multiple periods can be used for scenes or chapters, or to separate ads from program content.
- Adaptation sets, which contain a media stream or a set of media streams.
- Representations allow an adaptation set to contain the same content encoded in different ways. In most cases, representations will be provided in multiple screen sizes and bandwidths in order to allow clients to request the highest-quality content that they can play without waiting to buffer or wasting bandwidth.
- Sub-representations contain information that only applies to one media stream in a representation. They also provide information necessary to extract one stream from a multiplexed container, or to extract a lower-quality version of a stream.
- Media segments are the actual media files that the DASH client plays, generally by playing them back-to-back as if they were the same file. Media segment locations can be described using BaseURL for a single-segment representation, a list of segments (SegmentList) or a template (SegmentTemplate).
- Index segments come in two types: one representation index segment for the entire Representation, which is always a separate file, or a single index segment per media segment, which can be a byte range in the same file as the media segment.
3. Caching
3.1. Concept
3.2. Caching for Video Streaming
3.3. Caching in DASH
4. Quality of Experience
4.1. HTTP Video Streaming Influenced by QoE Factors
4.2. QoE Metrics Related to Video Streaming
- The average resolution refers to the average resolution over all segments that have been selected by the media player, where, as explained later, in our work each segment can take resolution values from the set {2160, 1440, 1080, 720, 480, 360}.
- The sum of switches refers to the sum of changes in resolutions that have occurred during the video playback.
- The average altitude refers to the average value of the jumps between the previous and the current segment over all segments that have been selected by the media player, wherein each segment can take altitude values from the set [0, 6]. For example, if the first segment is 480p and the second is 1440p, then the altitude, or the jumps, are 3.
- The average video bitrate (Mbps) refers to the average bitrate over all segments that have been selected by the media player, after which each segment size is divided by the segment duration, which in our work is 5 s. The common length of chunks ranges from 2 s (i.e., Microsoft Smooth Streaming) to 10 s per segment (recommended by Apple HTTP Streaming) [20]. We chose a compromise between these two values, selecting 5 s as the chunk length in our scenarios. For this reason, since our video is 5 min long, for each resolution, 61 segments are created. We avoid the two “extreme” values for the following reasons: low values: (a) having a very small chunk length would lead to far too many segments and (b) the chunk size would be too small to “stress” the network bandwidth-wise (small chunk size leads to low data rate requirements)/ high values: we would have just a few segments, not allowing for the fine interplay between segment selection (due to ABR) and caching.
- The network usage time (seconds) refers to the duration of the video playback, from the time of delivery of the first segment to the time of delivery of the last segment.
- The mean opinion score (MOS) for stallings refers to the numerical measure of the overall quality of an event, system or experience in networks and telecommunications. It is a crucial parameter for the domain of QoE and is expressed as a single rational number, typically in the range 1–5, where 1 is the lowest perceived quality and 5 is the highest perceived one. This MOS value, based on stallings, is computed with the formula [21]
- The mean opinion score (MOS) for resolutions has been defined by ITU-T in several ways. We will use the ITU-T P.1203 Standalone Implementation for the MOS based on resolutions. In order to use this tool, we install it from the official repository of GitHub [22]. The ITU-T Rec. P.1203.1 model is restricted to information provided to it by an appropriate bit stream analysis module or set of modules. The model applies to progressive download and adaptive streaming, where the quality experienced by the end user is affected by audio coding and/or video degradations due to coding, spatial re-scaling or variations in video frame rates, as well as delivery degradations due to initial loading delay, stalling and media adaptations. The model’s input consists of information that is obtained through a prior stream inspection. There are four different modes of inspection, which result in models of different complexity. In our work, we use Mode 0, wherein the information is obtained from available metadata during the adaptive streaming (for example, from manifest files used in DASH about codec and bitrate, and initial loading delay and stalling). Due to our mode, we do not have score fluctuations among the same resolution.
- The number of stallings refers to the sum of stalling events. A stalling occurs when a segment has been delivered in more than 5 s, which is its duration.
- The total stalling time refers to the sum of stalling durations of all the segments.
- The mean stalling time refers to the total stalling time over all stallings that occurred in a video playback.
- The initial playback delay, in seconds, refers to the time of delivery of the first segment from the time of the arrival of the manifest file, which is the start of the experiment.
- The number of cached bits delivered refers to the sum of the size in bits of the segments that were already stored in the cache.
- The number of non-cached bits delivered refers to the sum of size in bits of the segments that were not stored in the cache, but were served by the main server.
- Last, the cache hit ratio refers to the sum of segments that were already in the cache over all the segments cached and non-cached, as a percentage.
5. Experimental Setup
5.1. Network Topology—Scenario
- (1)
- The client, who wants to see a video at the best available quality.
- (2)
- The proxy or cache server (terms used interchangeably), which has stored some of the video segments according to a caching algorithm, which limited by its buffer size, as well as the manifest file.
- (3)
- The main server, which is equipped with all the video resolution chunks.
- The mean network throughput R1 or “Effective R1” (Mbps) refers to the size of all the segments (cached and non-cached) that have been selected by the media player over the network usage time (fronthaul rate).
- The mean network throughput R2 or “Effective R2” (Mbps) refers to the size of all the segments not stored in the cache over the network usage time (backhaul rate).
- In this sense, the backhaul/fronthaul traffic ratio R2/R1 is a parameter which may be adjusted by the mobile network operator [23].
- Client: The client requests a video. The video has to be displayed at the best resolution based on the available bandwidth. Practically, the client requests the manifest file from the cache server, which contains all the available video details. For this reason, the cache must have available information about the manifest.
- Proxy/cache server: The proxy server has some chunks of the video in specific resolutions according to its caching policy. It interacts both with the client at one end and with the main server at the other end. The cache server needs to set up a session with the main server that has all the video chunks in order to cache as many chunks as it can. As long as the segments are stored in the cache, the client requests the video and a new fronthaul connection with the cache server is set up. Each time a request is received, the cache checks the cache buffer and if there is a cache hit, the cache server sends it directly to the client and the channel cache-main is not utilized at all. Otherwise, in the case of a cache failure/miss, the cache asks from the main wanted chunk in order to serve the client’s request.
- Main (VoD) server: The main server has all the possible resolutions of the video (360p, 480p, 720p, 1080p, 1440p, 2160p) that are defined by the manifest file. This server interacts only with the cache server providing specific video chunks. In our setup, its role is only to give the manifest file to the cache (only in cases wherein the cache is not already equipped with it) and serve the client when there is a cache miss. In case the cache has all the available chunks of the video, meaning that it can fully serve the client, the backhaul link is not used at all.
5.2. Content Preparation
- A manifest-mpd file, which stored all the needed information about the video. This file contained all the available video resolutions, their bitrates and their size. In our implementation, a client, who wants to see a specific video, requests the manifest file.
- All the video segments had a duration of 5 s for all the available resolutions and audio. For this reason, because our video was 5 min long, for each resolution, 61 segments were created (5 min = 300 s and 300 s/5 s = 60 segments, and 1 more segment for initialization).
- An initialization file in order to start loading the segments (manifest_set1_init.mp4).
5.3. Caching Algorithm
6. Experimental Study Results
6.1. Set of Experiments
6.2. Simulation/Emulation/Programming Tools
6.3. Mininet Experiments
- The channels were not utilized to a full extent even though there were enough resources available. This problem persists mostly due to the limitations of the Mininet interface but also in the case of the Get Before Send technique.
- The rate control was not accurate. We noticed that the Mininet interface had a very high default bandwidth value (Gbps). What we observed was that while the rate was changing in our scripts, due to the application of one rule after the other, there was a gap between these rules. During this gap, the default value of the Mininet interface was applied, as it was the dominant one. This resulted in a higher data rate than the one anticipated by the experiment setup.
- The Mininet interface restricted the automation of this procedure.
6.4. QoE Metrics vs. R1 Throughput
6.5. QoE Metrics vs. Buffer Size L
7. Conclusions
Author Contributions
Funding
Conflicts of Interest
References
- Jonsson, P. (Ed.) Ericsson Mobility Report. November 2022. Available online: https://www.ericsson.com/4ae28d/assets/local/reports-papers/mobility-report/documents/2022/ericsson-mobility-report-november-2022.pdf (accessed on 20 June 2023).
- Le Callet, P.; Möller, S.; Perkis, A. Qualinet White Paper on Definitions of Quality of Experience; European Network on Quality of Experience in Multimedia Systems and Services (COST Action IC 1003): Lausanne, Switzerland, 2013; Version 1.2. [Google Scholar]
- Dao, N.N.; Ngo, D.T.; Dinh, N.T.; Phan, T.V.; Vo, N.D.; Cho, S.; Braun, T. Hit Ratio and Content Quality Tradeoff for Adaptive Bitrate Streaming in Edge Caching Systems. IEEE Syst. J. 2021, 15, 5094–5097. [Google Scholar] [CrossRef]
- Guo, Y.; Yang, Q.; Yu, F.R.; Leung, V.C.M. Cache-Enabled Adaptive Video Streaming Over Vehicular Networks: A Dynamic Approach. IEEE Trans. Veh. Technol. 2018, 67, 5445–5459. [Google Scholar] [CrossRef]
- Li, C.; Toni, L.; Zou, J.; Xiong, H.; Frossard, P. QoE-Driven Mobile Edge Caching Placement for Adaptive Video Streaming. IEEE Trans. Multimed. 2018, 20, 965–984. [Google Scholar] [CrossRef] [Green Version]
- Huang, D.; Tao, X.; Jiang, C.; Cui, S.; Lu, J. Trace-Driven QoE-Aware Proactive Caching for Mobile Video Streaming in Metropolis. IEEE Trans. Wirel. Commun. 2020, 19, 62–76. [Google Scholar] [CrossRef]
- Bayhan, S.; Maghsudi, S.; Zubow, A. EdgeDASH: Exploiting Network-Assisted Adaptive Video Streaming for Edge Caching. IEEE Trans. Netw. Serv. Manag. 2021, 18, 1732–1745. [Google Scholar] [CrossRef]
- Liotou, E.; Samdanis, K.; Pateromichelakis, E.; Passas, N.; Merakos, L. QoE-SDN APP: A Rate-guided QoE-aware SDN-APP for HTTP Adaptive Video Streaming. IEEE J. Sel. Areas Commun. 2018, 36, 598–615. [Google Scholar] [CrossRef]
- Hayamizu, Y.; Goto, K.; Bandai, M.; Yamamoto, M. QoE-Aware Bitrate Selection in Cooperation with In-Network Caching for Information-Centric Networking. IEEE Access 2021, 9, 165059–165071. [Google Scholar] [CrossRef]
- Tran, A.-T.; Dao, N.-N.; Cho, S. Bitrate Adaptation for Video Streaming Services in Edge Caching Systems. IEEE Access 2020, 8, 135844–135852. [Google Scholar] [CrossRef]
- Georgara, V.D.; Kourouniotis, G.I. Cache-Aware Adaptive Video Streaming in 5G Networks. Master’s Thesis, National and Kapodistrian University of Athens, Athens, Greece, 2021. Available online: https://pergamos.lib.uoa.gr/uoa/dl/frontend/file/lib/default/data/2944340/theFile (accessed on 20 June 2023).
- Lee, D.H.; Dovrolis, C.; Begen, A.C. Caching in HTTP Adaptive Streaming: Friend or Foe? In Proceedings of the Network and Operating System Support on Digital Audio and Video Workshop, Singapore, 19 March 2014; pp. 31–36. [Google Scholar]
- Seufert, M.; Egger, S.; Slanina, M.; Zinner, T.; Hoßfeld, T.; Tran-Gia, P. A Survey on Quality of Experience of HTTP Adaptive Streaming. IEEE Commun. Surv. Tutorials 2015, 17, 469–492. [Google Scholar] [CrossRef]
- Wang, M.; Wang, Y.; Liu, Y. SDN-Based QoE Evaluation Methods for HTTP Adaptive Video Streaming. In Proceedings of the 2021 7th IEEE International Conference on Network Intelligence and Digital Content (IC-NIDC), Beijing, China, 17–19 November 2021; pp. 220–224. [Google Scholar] [CrossRef]
- Ahmad, A.; Floris, A.; Atzori, L. Timber: An SDN-Based Emulation Platform for Experimental Research on Video Streaming. IEEE J. Sel. Areas Commun. 2020, 38, 1374–1387. [Google Scholar] [CrossRef]
- Tapang, D.K.; Huang, S.; Huang, X. QoE-Based Server Selection for Mobile Video Streaming. In Proceedings of the 2020 IEEE/ACM Symposium on Edge Computing (SEC), San Jose, CA, USA, 12–14 November 2020; pp. 435–439. [Google Scholar] [CrossRef]
- Taha, A.-E.M.; Ali, N.A.; Chi, H.R.; Radwan, A. MEC Resource Offloading for QoE-Aware HAS Video Streaming. In Proceedings of the ICC 2021—IEEE International Conference on Communications, Montreal, QC, Canada, 14–23 June 2021; pp. 1–5. [Google Scholar] [CrossRef]
- Schwarzmann, S.; Zinner, T. Linking QoE and Performance Models for DASH-based Video Streaming. In Proceedings of the 2020 6th IEEE Conference on Network Softwarization (NetSoft), Ghent, Belgium, 29 June–3 July 2020; pp. 65–71. [Google Scholar] [CrossRef]
- Seufert, A.; Wamser, F.; Yarish, D.; Macdonald, H.; Hoßfeld, T. QoE Models in the Wild: Comparing Video QoE Models Using a Crowdsourced Data Set. In Proceedings of the 2021 13th International Conference on Quality of Multimedia Experience (QoMEX), Montreal, QC, Canada, 14–17 June 2021; pp. 55–60. [Google Scholar] [CrossRef]
- Lederer, S. Optimal Adaptive Streaming Formats MPEG-DASH & HLS Segment Length. 2015. Available online: https://bitmovin.com/mpeg-dash-hls-segment-length (accessed on 20 June 2023).
- Hoßfeld, T.; Schatz, R.; Biersack, E.; Plissonneau, L. Internet Video Delivery in YouTube: From Traffic Measurements to Quality of Experience. Data Traffic Monit. Anal. Meas. Classif. Anom. Detect. Qual. Exp. 2013, 7754, 264–301. [Google Scholar]
- ITU-T, P. 1203: Parametric Bitstream-Based Quality Assessment of Progressive Download and Adaptive Audiovisual Streaming Services over Reliable Transport. Available online: https://github.com/itu-p1203/itu-p1203 (accessed on 20 June 2023).
- Mehrabi, A.; Siekkinen, M.; Ylä-Jaaski, A. QoE-Traffic Optimization Through Collaborative Edge Caching in Adaptive Mobile Video Streaming. IEEE Access 2018, 6, 52261–52276. [Google Scholar] [CrossRef]
Resolution | Video Bitrate (Mbps) | Size (MBs) |
---|---|---|
2160p | 45 | 1700 |
1440p | 16 | 597.6 |
1080p | 8 | 299.1 |
720p | 5 | 187.3 |
480p | 2.5 | 94.1 |
360p | 1 | 37.7 |
Tool | Purpose |
---|---|
OpenJDK | Java Development Kit |
Mininet (only in Part C) | Network emulator |
MiniEdit (only in Part C) | Mininet’s graphical interface |
VLC media player | Streaming media server |
FFmpeg | A suite of libraries and programs for encoding and handling video |
Python | Programming language, to configure a web video server |
MP4Box—GPAC | Multimedia packaging (segments a video file and creates a Media Presentation Description (MPD)) |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Liotou, E.; Xenakis, D.; Georgara, V.; Kourouniotis, G.; Merakos, L. Cache-Enabled Adaptive Video Streaming: A QoE-Based Evaluation Study. Future Internet 2023, 15, 221. https://doi.org/10.3390/fi15070221
Liotou E, Xenakis D, Georgara V, Kourouniotis G, Merakos L. Cache-Enabled Adaptive Video Streaming: A QoE-Based Evaluation Study. Future Internet. 2023; 15(7):221. https://doi.org/10.3390/fi15070221
Chicago/Turabian StyleLiotou, Eirini, Dionysis Xenakis, Vasiliki Georgara, Georgios Kourouniotis, and Lazaros Merakos. 2023. "Cache-Enabled Adaptive Video Streaming: A QoE-Based Evaluation Study" Future Internet 15, no. 7: 221. https://doi.org/10.3390/fi15070221
APA StyleLiotou, E., Xenakis, D., Georgara, V., Kourouniotis, G., & Merakos, L. (2023). Cache-Enabled Adaptive Video Streaming: A QoE-Based Evaluation Study. Future Internet, 15(7), 221. https://doi.org/10.3390/fi15070221