Skip to main content
Log in

A scalable WebRTC-based framework for remote video collaboration applications

  • Published:
Multimedia Tools and Applications Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16

Similar content being viewed by others

Notes

  1. https://github.com/jitsi/jitsi-videobridge

  2. https://github.com/twauters/WebRTC_dynamic_SFU

  3. We refer to a general WebRTC protocol in this paper by referring to all the functionalities and protocols that are included in WebRTC itself.

  4. https://github.com/jitsi/jitsi-videobridge/blob/master/src/main/java/org/jitsi/videobridge/cc/BandwidthProbing.java

  5. http://doc.ilabt.iminds.be/ilabt-documentation/virtualwallfacility.html

  6. https://jitsi.org/

  7. https://github.com/jitsi/jitsi-videobridge

  8. https://github.com/jitsi/jitsi-meet

  9. https://github.com/jitsi/libjitsi

  10. https://www-01.ibm.com/software/commerce/optimization/cplex-optimizer/

  11. https://github.com/jitsi/libjitsi/blob/master/src/org/jitsi/impl/neomedia/rtp/sendsidebandwidthestimation/BandwidthEstimatorImpl.java

  12. https://media.xiph.org/video/derf/y4m/factory_1080p30.y4m

References

  1. Abdeldaim AM, Sahlol AT, Elhoseny M, Hassanien AE (2018) Computer-aided acute lymphoblastic leukemia diagnosis system based on image analysis. Springer International Publishing

  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–3555

    Article  Google Scholar 

  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–546

    Article  Google Scholar 

  4. Alvestrand H (2013) RTCP message for receiver estimated maximum bitrate internet-draft draft-alvestrand-rmcat-remb-03 (work in progress)

  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:7

  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:12

  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–263

  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

    Article  Google Scholar 

  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–5

  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–24

  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–59

    Article  Google Scholar 

  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–18

    Article  Google Scholar 

  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–8

  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–606

    Article  Google Scholar 

  15. Jang-Jaccard J, Nepal S, Celler B, Yan B (2016) WebRTC-based video conferencing service for telehealth. Computing 98(1):169–193

    Article  MathSciNet  Google Scholar 

  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–1191

  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,304

    Article  Google Scholar 

  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–207

    Article  Google Scholar 

  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–2213

  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:5

  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’18

  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:19

    Article  Google Scholar 

  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–67

  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–242

    Article  Google Scholar 

  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–6

  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–495

  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–226

  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–28

  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–339

  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–744

  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–839

    Article  Google Scholar 

  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–681

    Article  Google Scholar 

  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 Engineering

Download references

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

Authors

Corresponding author

Correspondence to Stefano Petrangeli.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11042-018-6460-0

Keywords

Navigation