Advertisement

A scalable WebRTC-based framework for remote video collaboration applications

  • Stefano Petrangeli
  • Dries Pauwels
  • Jeroen van der Hooft
  • Matúš Žiak
  • Jürgen Slowack
  • Tim Wauters
  • Filip De Turck
Article
  • 39 Downloads

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.

Keywords

Real-time communication Remote video collaboration WebRTC Selective forwarding unit Integer linear programming Jitsi-videobridge 

Notes

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).

References

  1. 1.
    Abdeldaim AM, Sahlol AT, Elhoseny M, Hassanien AE (2018) Computer-aided acute lymphoblastic leukemia diagnosis system based on image analysis. Springer International PublishingGoogle Scholar
  2. 2.
    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–3555CrossRefGoogle Scholar
  3. 3.
    Alsmirat MA, Jararweh Y, Obaidat I, Gupta B (2017) Automated wireless video surveillance: an evaluation framework. J Real-Time Image Proc 13(3):527–546CrossRefGoogle Scholar
  4. 4.
    Alvestrand H (2013) RTCP message for receiver estimated maximum bitrate internet-draft draft-alvestrand-rmcat-remb-03 (work in progress)Google Scholar
  5. 5.
    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:7Google Scholar
  6. 6.
    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:12Google Scholar
  7. 7.
    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–263Google Scholar
  8. 8.
    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
  9. 9.
    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–5Google Scholar
  10. 10.
    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–24Google Scholar
  11. 11.
    Grozev B, Politis G, Ivov E, Noel T, Singh V (2017) Experimental evaluation of simulcast for WebRTC. IEEE Commun Standards Mag 1(2):52–59CrossRefGoogle Scholar
  12. 12.
    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–18CrossRefGoogle Scholar
  13. 13.
    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–8Google Scholar
  14. 14.
    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–606CrossRefGoogle Scholar
  15. 15.
    Jang-Jaccard J, Nepal S, Celler B, Yan B (2016) WebRTC-based video conferencing service for telehealth. Computing 98(1):169–193MathSciNetCrossRefGoogle Scholar
  16. 16.
    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–1191Google Scholar
  17. 17.
    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,304CrossRefGoogle Scholar
  18. 18.
    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–207CrossRefGoogle Scholar
  19. 19.
    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–2213Google Scholar
  20. 20.
    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:5Google Scholar
  21. 21.
    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’18Google Scholar
  22. 22.
    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:19CrossRefGoogle Scholar
  23. 23.
    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–67Google Scholar
  24. 24.
    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–242CrossRefGoogle Scholar
  25. 25.
    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–6Google Scholar
  26. 26.
    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–495Google Scholar
  27. 27.
    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–226Google Scholar
  28. 28.
    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–28Google Scholar
  29. 29.
    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–339Google Scholar
  30. 30.
    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–744Google Scholar
  31. 31.
    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–839CrossRefGoogle Scholar
  32. 32.
    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–681CrossRefGoogle Scholar
  33. 33.
    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 EngineeringGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Department of Information TechnologyGhent University - imec, IDLabGhentBelgium
  2. 2.Technical University of KošiceKošiceSlovak Republic
  3. 3.Barco N.V. – Technology CenterKortrijkBelgium

Personalised recommendations