
MASTER'S THESIS OTT Video Measurements Viktor Lindgren 2014 Master of Science in Engineering Technology Computer Science and Engineering Luleå University of Technology Department of Computer Science, Electrical and Space Engineering OTT Video Measurements Viktor Lindgren1 Supervisor: Fredrik Kers2 and Peter Parnes3 Luleå University of Technology Master thesis in Computer Science [email protected] [email protected] [email protected] ABSTRACT Video streaming has become more and more popular in recent years. New protocols have emerged to improve the availability and simplify usage. The purpose of this thesis work is to measure video player's performance and make a model of the player's behavior. The intent of the model is to aid understanding of the problems with video playback, such as low video quality or interruption, in order to ease troubleshooting. To create a model video players were observed and measurement data, called metrics, was collected when they were playing video during dierent conditions. The metrics were found in the source code of the video player and with the help from the ocial documentation. Tests were performed with the ocial video player for three popular protocols: HTTP Live Streaming created by Apple, HTTP Dynamic Streaming created by Adobe and Microsoft Smooth Streaming. Characteristic and pattern were seen in the test results. The three examined protocols use adaptive bitrate to adjust the video quality according to the circumstances. Examples of circumstances can be an unstable network connection or when a too slow processor is being used. In the tests, parameters such as network bandwidth, video size and processor usage were tested in the web browser Safari. This thesis work suggests a simplied and general model for the three examined proto- cols aimed for testing the network connection when streaming video. PREFACE This thesis was carried out at a company called Netrounds, during the rst half year of 2013. It was the nal part to nish my studies to a Master degree in Computer Science and Engineering at Luleå University of Technology(LTU). I would like to thank Netrounds for the opportunity to do this thesis and the support from my supervisors Fredrik Kers at Netrounds and Peter Parnes at LTU. I would also like to thank Envivo for the provided video les that was used in the tests. Viktor Lindgren May 2013 CONTENTS Chapter 1 Introduction 1 1.1 Background...................................1 1.2 Problem description...............................4 1.3 Goals.......................................5 1.4 Methodology and delimitations........................5 1.4.1 Tools...................................5 1.5 Related work..................................6 Chapter 2 Theory 7 2.1 HTTP adaptive bitrate streaming.......................7 2.2 Adaptive algorithm...............................8 2.3 Protocols....................................8 2.3.1 HTTP Live Streaming.........................8 2.3.2 HTTP Dynamic Streaming....................... 10 2.3.3 Microsoft Smooth Streaming...................... 11 Chapter 3 Implementation of video players 12 3.1 HTTP Live Streaming............................. 12 3.2 HTTP Dynamic Streaming........................... 13 3.3 Microsoft Smooth Streaming.......................... 13 3.4 HTTP Dynamic Streaming algorithm..................... 14 3.4.1 Target buer.............................. 14 3.4.2 Switching to higher or lower bitrate level............... 14 3.4.3 Emergency rules............................ 16 Chapter 4 Tests 18 4.1 Test environment................................ 19 4.1.1 Video player settings.......................... 19 4.1.2 Video les................................ 20 i CONTENTS 4.1.3 Graphs.................................. 20 4.2 Visibility..................................... 21 4.2.1 HLS................................... 21 4.2.2 HDS................................... 22 4.2.3 MSS................................... 22 4.3 Sound test.................................... 23 4.4 Max video buer length............................ 23 4.5 CPU load.................................... 24 4.6 Minimum bandwidth demanded for a bitrate level.............. 24 4.7 An observed behavior for HLS......................... 25 4.8 Bandwidth limit scenarios........................... 25 4.8.1 HLS................................... 27 4.8.2 HDS................................... 29 4.8.3 MSS................................... 32 Chapter 5 Evaluation 34 5.1 General model.................................. 34 5.2 Future work................................... 35 Chapter 6 Discussion 36 6.1 Issues...................................... 36 6.2 Conclusion.................................... 37 References 42 ii Glossary Progressive download Downloading a video and having the ability to play before the complete movie le is downloaded. VOD Video On Demand. Start watching a chosen video when the user wants. AHS Adaptive HTTP streaming. Created by 3GPP. HAS HTTP Adaptive Steaming. Created by Open IPTV Forum. HLS HTTP Live Streaming. Created by Apple. HDS HTTP Dynamic Streaming. Created by Adobe. MSS Microsoft Smooth Streaming. DASH Dynamic Adaptive Streaming over HTTP. International standard from ITU. OSMF Open Source Media Framework is a framework for developing video streaming in ash. SMP Strobe Media Playback is a graphical interface on top of OSMF. Video bitrate The amount of data used to describe the video, given in bits per second. It is a common measurement for video quality. Bitrate level A xed target level when encoding the video. The actual bitrate can dier slightly. Video player metrics Measured data from the video player describing the state of the video player and how it performs. Video segment A video splitted into multiple parts contained in multiple les. Those les are called segments. Video fragment A video splitted into multiple parts contained in a single le. A fragment is identied by its byte range within the le. Media codec A specic format to encode the video in for storage and transport. Media encoding The process to convert the video into a specic format. Media decoding The process to convert an encoded video le into a viewable video stream. Normally done in the video player. CHAPTER 1 INTRODUCTION Video streaming is a convenient way to watch video. The user is able to almost instantly watch a selected movie over a network connection. That is called Video On Demand(VOD). The user can use dierent kinds of devices and platforms to stream video. It can be a PC, smartphone or tablet. The screen size on these devices varies and thereby dierent video resolution is needed to maintain the best possible quality. To give the user the best possible experience; the video quality should be high and the video should play smoothly without interruptions. It is not always this can be achieved. A possible problem is that the network connection is unable to handle high video quality as high resolution requires higher network capacity. The user will notice the problem when the video playback stops, and the video player waits for more parts of the movie to nish downloading. New technologies have emerged to address these issues. They can adjust the video quality to the network connection's capacity and performance. The performance may vary due to many reasons, for example the device uses a wireless connection, or the network connection is shared with other users. This thesis work aimed to help understand the problems with the video playback in the new protocols. 1.1 Background Over-The-Top Content(OTT) can be described as delivering video through an Internet connection to the end-users were the producer and the Internet Service Provider(ISP) is not the same company. Examples of producers are SVT Play, Netix and Hulu. The user can for example access the website of the OTT producer and directly stream video through the Internet. As the producer does not have full control of the Internet connection, they can not guarantee delivery of the video to the end-user. Therefore, it would be good if a video streaming protocol can handle those situations and adapt the video quality. Data transmission protocols On network level when you want to send data from one computer to another computer, there is a chance that the data will not reach the other computer or that the data has 1 1. Introduction been corrupted. There is a protocol called Transmission Control Protocol(TCP) that is designed to handle those situations. TCP uses a checksum to verify that the data is not corrupted and in that case sends an acknowledgment message back to the sender that say everything was received. If the initial sender does not recive the acknowledgment message after a certain time, the initial sender will resend the data. If the initial sender wants to send more data, the process will be done again. An option to TCP is the User Datagram Protocol(UDP), were there is no resending of data if something goes wrong. This is useful when old data is no longer relevant as the newer data has an updated value. It can, for example, be a position of someone location or when talking on the phone with someone. The resending of the data and the acknowledgment messages for TCP will cause some extra delay. Thus, UDP and TCP are suitable for dierent situations. Both UDP and TCP are widley used on the Internet. History of video streaming protocols In the past, the Real-Time Transport Protocol(RTP) with Real-Time Streaming Proto- col(RTSP) have been used for streaming video. RTP is used for sending the video data
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages49 Page
-
File Size-