Abstract
Remote video collaboration is common nowadays in conferencing, telehealth and remote teaching applications. To support these low-latency and interactive use cases, Real-Time Communication (RTC) solutions are generally used. WebRTC is an open-source project for real-time browser-based conferencing, developed with a peer-to-peer architecture in mind. In this peer-to-peer architecture, each sending peer needs to encode a separate, independent stream for each receiving peer participating in the remote session, which makes this approach expensive in terms of encoders and not able to scale well for a large number of users. This paper proposes a WebRTC-compliant framework to solve this scalability issue, without impacting the quality delivered to the remote peers. In the proposed framework, each sending peer is only equipped with a limited number of encoders, much smaller than and independent of the number of receiving peers. Consequently, each encoder transmits to a multitude of receivers at the same time, to improve scalability. A centralized node based on the Selective Forwarding Unit (SFU) principle, called conference controller, forwards the best stream to the receiving peers, based on their bandwidth conditions. Moreover, the conference controller dynamically recomputes the encoding bitrates of the sending peers, to maximize the quality delivered to the receiving peers. This approach allows to closely follow the long-term bandwidth variations of the receivers, even with a limited number of encoders at sender-side, and increase the delivered video quality. An integer linear programming formulation for the bitrate recomputation problem is presented, which can be optimally solved when the number of receivers is small. An approximate, scalable method is also proposed using the K-means clustering algorithm. The gains brought by the proposed framework have been confirmed in both simulation and emulation, through a testbed implementation using the Google Chrome browser and the open-source Jitsi-Videobridge software. Particularly, we focus on a remote collaboration scenario where the interaction among the remote participants is dominated by a single peer, as in a remote teaching scenario. When a single sending peer equipped with three encoders transmits to 28 receiving peers, the proposed framework improves the average received video bitrate up to 15%, compared to a static solution where the encoding bitrates do not change over time. Moreover, the dynamic bitrate recomputation is more efficient than a static association in terms of encoders used at sender-side. For the same configuration mentioned above, the same received bitrate is obtained in the static case using four encoders as in the dynamic case using three encoders.
Similar content being viewed by others
Notes
We refer to a general WebRTC protocol in this paper by referring to all the functionalities and protocols that are included in WebRTC itself.
References
Abdeldaim AM, Sahlol AT, Elhoseny M, Hassanien AE (2018) Computer-aided acute lymphoblastic leukemia diagnosis system based on image analysis. Springer International Publishing
Alsmirat MA, Jararweh Y, Al-Ayyoub M, Shehab MA, Gupta B (2017) Accelerating compute intensive medical imaging segmentation algorithms using hybrid cpu-gpu implementations. Multimed Tools Appl 76(3):3537–3555
Alsmirat MA, Jararweh Y, Obaidat I, Gupta B (2017) Automated wireless video surveillance: an evaluation framework. J Real-Time Image Proc 13(3):527–546
Alvestrand H (2013) RTCP message for receiver estimated maximum bitrate internet-draft draft-alvestrand-rmcat-remb-03 (work in progress)
Amirante A, Castaldi T, Miniero L, Romano SP (2015) Performance analysis of the janus webRTC gateway. In: Proceedings of the 1st workshop on all-web real-time systems, AWeS ’15. ACM, New York, pp 4:1–4:7
Carlucci G, De Cicco L, Holmer S, Mascolo S (2016) Analysis and design of the Google congestion control for web real-time communication (WebRTC). In: Proceedings of the 7th international conference on multimedia systems, MMSys ’16. ACM, New York, pp 13:1–13:12
Elhoseny M, Shehab A, Osman L (2018) An empirical analysis of user behavior for p2p iptv workloads. In: The International conference on advanced machine learning technologies and applications (AMLTA2018). Springer International Publishing, pp 252–263
de Paiva Guimarães M, Dias D, Mota J, Gnecco B, Durelli V, Trevelin L (2016) Immersive and interactive virtual reality applications based on 3D web browsers. Multimedia Tools and Applications. https://doi.org/10.1007/s11042-016-4256-7
Granda JC, Nuño P, Suárez FJ, García DF (2015) Overlay network based on webRTC for interactive multimedia communications. In: 2015 International Conference on computer, information and telecommunication systems (CITS), pp 1–5
Grozev B, Marinov L, Singh V, Ivov E (2015) Last N: relevance-based selectivity for forwarding video in multimedia conferences. In: Proceedings of the 25th ACM workshop on network and operating systems support for digital audio and video. ACM, pp 19–24
Grozev B, Politis G, Ivov E, Noel T, Singh V (2017) Experimental evaluation of simulcast for WebRTC. IEEE Commun Standards Mag 1(2):52–59
Hall M, Frank E, Holmes G, Pfahringer B, Reutemann P, Witten IH (2009) The WEKA data mining software: an update. SIGKDD Explor Newsl 11 (1):10–18
Hossain MA, Khan JI (2016) Distributed dynamic MCU for video conferencing in peer-to-peer network. In: 2016 IEEE 35th International performance computing and communications conference (IPCCC), pp 1–8
Hossain MS, Muhammad G, Abdul W, Song B, Gupta B (2018) Cloud-assisted secure video transmission and sharing framework for smart cities. Futur Gener Comput Syst 83:596–606
Jang-Jaccard J, Nepal S, Celler B, Yan B (2016) WebRTC-based video conferencing service for telehealth. Computing 98(1):169–193
López L, París M, Carot S, García B, Gallego M, Gortázar F, Benítez R, Santos JA, Fernández D, Gracia VRT, López FJ (2016) Kurento: the WebRTC modular media server. In: Proceedings of the 2016 ACM on multimedia conference, mm ’16. ACM, New York, pp 1187–1191
López-Fernández L, García B, Gallego M, Gortázar F (2017) Designing and evaluating the usability of an API for real-time multimedia services in the internet. Multimed Tools Appl 76(12):14,247–14,304
Loreto S, Romano SP (2017) How far are we from WebRTC-1.0? An update on standards and a look at what’s next. IEEE Commun Mag 55(7):200–207
Ma L, Veer D, Chen W, Sternberg G, Reznik YA, Neff RA (2015) User adaptive transcoding for video teleconferencing. In: 2015 IEEE International conference on image processing (ICIP), pp 2209–2213
Oh H, Ahn S, Choi J, Yang J (2015) WebRTC based remote collaborative online learning platform. In: Proceedings of the 1st workshop on all-web real-time systems, AWeS ’15. ACM, New York, pp 9:1–9:5
Petrangeli S, Pauwels D, van der Hooft J, Slowack J, Wauters T, Slowack J, De Turck F (2018) Improving quality and scalability of WebRTC video collaboration applications. In: Proceedings of the 9th ACM on multimedia systems conference, MMSys’18
Riiser H, Endestad T, Vigmostad P, Griwodz C, Halvorsen P (2012) Video streaming using a location-based bandwidth-lookup service for bitrate planning. ACM Trans Multimed Comput Commun Appl 8(3):24:1–24:19
Rodríguez P, Alonso A, Salvachúa J, Cervino J (2014) dOTM: a mechanism for distributing centralized multi-party video conferencing in the cloud. In: 2014 International Conference on future internet of things and cloud, pp 61–67
Rodríguez P, Alonso Á, Salvachúa J, Cerviño J (2016) Materialising a new architecture for a distributed MCU in the cloud. Comput Standards Interf 44 (Supplement C):234–242
Schroeder D, Essaili AE, Steinbach E, Staehle D, Shehada M (2013) Low-complexity no-reference PSNR estimation for H.264/AVC encoded video. In: 2013 20th International packet video workshop, pp 1–6
Shehab A, Elhoseny M, El Aziz MA, Hassanien AE (2018) Efficient schemes for playout latency reduction in P2P-VoD systems. Springer International Publishing, pp 477–495
Trnkoczy J, Pašcinski U, Gec S, Stankovski V (2017) SWITCH-ing from multi-tenant to event-driven videoconferencing services. In:2017 IEEE 2nd International workshops on foundations and applications of self* systems (FAS*W), pp 219–226
van der Hooft J, Petrangeli S, Wauters T, Huysegems R, Bostoen T, De Turck F (2017) An HTTP/2 push-based approach for low-latency live streaming with super-short segments. J Netw Syst Manag, 1–28
Wenzel M, Meinel C (2016) Full-body webRTC video conferencing in a web-based real-time collaboration system. In: 2016 IEEE 20th International conference on computer supported cooperative work in design (CSCWD), pp 334–339
Xhagjika V, Escoda D, Navarro L, Vlassov V (2017) Load and video performance patterns of a cloud based WebRTC architecture. In: 2017 17th IEEE/ACM international symposium on cluster, cloud and grid computing (CCGRID), pp 739–744
Xu Y, Yu C, Li J, Liu Y (2014) Video telephony for end-consumers: measurement study of Google+, iChat, and Skype. IEEE/ACM Trans Network 22 (3):826–839
Yang Ez, Zhang Lk, Yao Z, Yang J (2016) A video conferencing system based on SDN-enabled SVC multicast. Front Inf Technol Electron Eng 17(7):672–681
Yuan X, Li D, Mohapatra D, Elhoseny M (2017) Automatic removal of complex shadows from indoor videos using transfer learning and dynamic thresholding. Computers and Electrical Engineering
Acknowledgments
Jeroen van der Hooft is funded by grant of the Agency for Innovation by Science and Technology in Flanders (VLAIO). This research was performed partially within the imec PRO-FLOW project (150223).
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Petrangeli, S., Pauwels, D., van der Hooft, J. et al. A scalable WebRTC-based framework for remote video collaboration applications. Multimed Tools Appl 78, 7419–7452 (2019). https://doi.org/10.1007/s11042-018-6460-0
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11042-018-6460-0