Webrtc-Based Video Quality of Experience Evalua on of the Janus
Total Page:16
File Type:pdf, Size:1020Kb
Linköping University | Department of Computer and Information Science Master thesis, 30 ECTS | Datavetenskap 2018 | LIU-IDA/LITH-EX-A--18/049--SE WebRTC-based Video Quality of Experience Evaluaon of the Janus Streaming Plugin – Integrang Video Door Systems and WebRTC-Supported Browsers Videoutvärdering av Janus streamingmodul med fokus på WebRTC-baserad Quality of Experience Raymond Leow Examiner : Niklas Carlsson External supervisor : Johan Åberg Linköpings universitet SE–581 83 Linköping +46 13 28 10 00 , www.liu.se Upphovsrä Dea dokument hålls llgängligt på Internet – eller dess framda ersäare – under 25 år från pub- liceringsdatum under förutsäning a inga extraordinära omständigheter uppstår. Tillgång ll doku- mentet innebär llstånd för var och en a läsa, ladda ner, skriva ut enstaka kopior för enskilt bruk och a använda det oförändrat för ickekommersiell forskning och för undervisning. Överföring av upphovsräen vid en senare dpunkt kan inte upphäva dea llstånd. All annan användning av doku- mentet kräver upphovsmannens medgivande. För a garantera äktheten, säkerheten och llgäng- ligheten finns lösningar av teknisk och administrav art. Upphovsmannens ideella rä innefaar rä a bli nämnd som upphovsman i den omfaning som god sed kräver vid användning av dokumentet på ovan beskrivna sä samt skydd mot a dokumentet ändras eller presenteras i sådan form eller i så- dant sammanhang som är kränkande för upphovsmannens lierära eller konstnärliga anseende eller egenart. För yerligare informaon om Linköping University Electronic Press se förlagets hemsida hp://www.ep.liu.se/. Copyright The publishers will keep this document online on the Internet – or its possible replacement – for a period of 25 years starng from the date of publicaon barring exceponal circumstances. The online availability of the document implies permanent permission for anyone to read, to download, or to print out single copies for his/hers own use and to use it unchanged for non-commercial research and educaonal purpose. Subsequent transfers of copyright cannot revoke this permission. All other uses of the document are condional upon the consent of the copyright owner. The publisher has taken technical and administrave measures to assure authencity, security and accessibility. According to intellectual property law the author has the right to be menoned when his/her work is accessed as described above and to be protected against infringement. For addional informaon about the Linköping University Electronic Press and its procedures for publicaon and for assurance of document integrity, please refer to its www home page: hp://www.ep.liu.se/. © Raymond Leow Abstract The number of Information and Communication Technologies (ICTs) used in organiza- tions is increasing. Without careful management, this trend can have sever consequences for organizations as it easily can fragment the business communication. A promising approach to manage these ICTs is to integrate them into a single medium so to ease the communication within and between organizations. The open source project Janus introduces new ways to communicate between legacy protocols and the real-time commu- nication API Web Real-Time Communication (WebRTC). This master thesis addresses how this WebRTC-based implementation can communicate with an IP video door sys- tem. In particular, a minimal front-end solution has been implemented and evaluated. The implementation allows the user to make a call, get notified in the communication tool (both visually and auditory), have a two-way audio call, and see the video stream from the video door system. An objective WebRTC-based quality assessment, focusing on Quality of Experience (QoE), has been conducted on the implementation. As part of this assessment, we used the WebRTC-internals tool to collect receiver-relevant video attributes. A QoE-focused comparison to a light-weight Kurento client implementation was also performed. The results show that our Janus implementation and setting is fea- sible, aside from the periodic bandwidth drops, and outperforms Kurento in the defined QoE attributes. Acknowledgments First, I would like to thank the people at Briteback for giving me the opportunity to carry out my master thesis. Furthermore, thanks goes to Johan Åberg and Niklas Carlsson for helping me move the project into the right direction. Finally, I would like thank my family for helping me carry out their wish. iv Contents Abstract iii Acknowledgments iv Contents v List of Figures vii List of Tables x 1 Introduction 1 1.1 Aim .............................................. 1 1.2 Research Questions .................................... 2 1.3 Contributions ........................................ 2 1.4 Related Work ........................................ 2 1.5 Limitations and System Requirements ......................... 3 1.6 Project Context ....................................... 4 1.7 Thesis Outline ....................................... 5 2 Background 6 2.1 SIP .............................................. 6 2.2 WebRTC ........................................... 7 2.3 GDS3710 ........................................... 14 2.4 Quality of Experience for Real-Time Video ...................... 16 3 Method 21 4 System Design 26 4.1 Scenario ........................................... 26 4.2 System Overview ...................................... 27 5 Performance Results 34 5.1 Quality of Experience Evaluation ............................ 34 5.2 Kurento Comparison .................................... 36 6 Discussion 43 6.1 Results ............................................ 43 6.2 Method ............................................ 44 6.3 Sources ............................................ 45 6.4 The Work in a Wider Context .............................. 45 7 Conclusion 47 A Appendix A 48 v A.1 Attributes using Kurento Media Server (Low Video Setting) . 48 A.2 Additional Attribute Comparisons Between Kurento and Janus . 51 A.3 Additional Attributes with Outliers Removed ..................... 52 A.4 Attributes with Outlier Highlights ........................... 53 A.5 z-Score Threshold Calculation on Janus Gateway (Low Video Setting) with Location-Scale Model ................................... 59 Bibliography 62 vi List of Figures 2.1 SIP call setup with a single proxy server .......................... 7 2.2 WebRTC trapezoid ....................................... 8 2.3 Janus gateway overview .................................... 9 2.4 The REST-ful API creating plugin handles to the associated Janus gateway plugin 10 2.5 Janus gateway can be used so that IP cameras can use their protocol and the browser can use WebRTC ................................... 10 2.6 Kurento Client architectures. With the upper alternative, the user directly com- municates with the Kurento Media Server with the usage of Kurento Protocol. The lower alternative is the usage of the Kurento Client SDK and API, which either can help the application developer to implement a Java client or a JavaScript client. 13 2.7 Illustration of a pipeline of Media Elements in a Kurento application . 13 2.8 The Jattack architecture ................................... 14 2.9 Four ways to access and/or change the properties of the GDS3710, either with SIP, HTTP, RTSP and/or the internal software. The channels of the figure marked as Internal are handled solely by GDS3710 and cannot be modified by external operations. ............................................ 15 2.10 Video under ideal circumstances ............................... 17 2.11 Video with block artifacts ................................... 17 2.12 Video during blackout ..................................... 17 2.13 A two-party call where each peer uses four tracks .................... 18 3.1 The five phases being performed in this thesis ...................... 21 3.2 Overview of audio transport through SIP ......................... 22 3.3 Overview of video streaming through RTP ........................ 22 3.4 Video settings set to ’High’ in the Grandstream GUI . 23 4.1 The use case diagram between the GDS3710 and Briteback communication tool . 26 4.2 First state: The initial state of Briteback communication tool . 27 4.3 Second state: The communication tool has an incoming call from the GDS3710 . 27 4.4 Third state: The communication tool having a video call with the GDS3710. To ensure that the call was not interrupted by inactivity, a YouTube video was played in front of the camera. Note that the screen and the movies on the screen (shown within the fish-eye lens) is rounded due to the fish-eye lens. 28 4.5 Overview of the communication tool architecture ..................... 28 4.6 Class diagram of the Model .................................. 30 4.7 Class diagram of the View .................................. 31 4.8 GUI for specifying your SIP settings ............................ 33 5.1 Available receive bandwidth as a function of time, using Janus gateway in different video settings .......................................... 34 5.2 Bits received per second as a function of time, using Janus gateway in different video settings .......................................... 35 vii 5.3 Frame rate received as a function of time, using Janus gateway in different video settings .............................................. 36 5.4 Jitter buffer delay as a function of time, using Janus gateway in different video settings .............................................. 36 5.5 Packets received as a function of time, using Janus gateway in different video settings