Abstract
Video Conferencing Applications (VCAs) that support remote work and education have increased in use over the last two years, contributing to Internet bandwidth usage. VCA clients transmit video and audio to each other in peer-to-peer mode or through a bridge known as a Selective Forwarding Unit (SFU). Popular VCAs implement congestion control in the application layer over UDP and accomplish rate adjustment through video rate control, ultimately affecting end user Quality of Experience (QoE). Researchers have reported on the throughput and video metric performance of specific VCAs using structured experiments. Yet prior work rarely examines the interaction between congestion control mechanisms and rate adjustment techniques that produces the observed throughput and QoE metrics. Understanding this interaction at a functional level paves the way to explain observed performance, to pinpoint commonalities and key functional differences across VCAs, and to contemplate opportunities for innovation. To that end, we first design and conduct detailed measurements of three VCAs (WebRTC/Jitsi, Zoom, BlueJeans) to develop understanding of their congestion and video rate control mechanisms. We then use the measurement results to derive our functional models for the VCA client and SFU. Our models reveal the complexity of these systems and demonstrate how, despite some uniformity in function deployment, there is significant variability among the VCAs in the implementation of these functions.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
In principle, the total client sending rate includes video, audio, and control data (e.g., RTCP packets). In this paper, we focus only on video data as it is the most bandwidth intensive.
- 2.
The Zoom packet structure determined by Michel et al. [31] could aid this process.
References
Amirante, A., Castaldi, T., Miniero, L., Romano, S.P.: Performance analysis of the Janus WebRTC gateway. In: Proceedings of ACM Workshop on All-Web Real-Time Systems (2015)
Amon, P., Li, H., Hutter, A., Renzi, D., Battista, S.: Scalable video coding and transcoding. In: Proceedings of IEEE International Conference on Automation, Quality and Testing, Robotics (2008)
André, E., Le Breton, N., Lemesle, A., Roux, L., Gouaillard, A.: Comparative study of WebRTC open source SFUs for video conferencing. In: Principles, Systems and Applications of IP Telecommunications (IPTComm) (2018)
Arif, A.S.M., Hassan, S., Ghazali, O., Nor, S.A.: The relationship of TFRC congestion control to video rate control optimization. In: Proceedings of IEEE International Conference on Network Applications, Protocols and Services (2010)
BlueJeans: Technical Specifications for Services (2021). https://support.bluejeans.com/s/article/BlueJeans-Technical-Specifications
Cao, Y., Jain, A., Sharma, K., Balasubramanian, A., Gandhi, A.: When to use and when not to use BBR: an empirical analysis and evaluation study. In: Proceedings of ACM Internet Measurement Conference (2019)
Cardwell, N., Cheng, Y., Gunn, C.S., Yeganeh, S.H., Jacobson, V.: BBR: congestion-based congestion control. ACM Queue 14, 20–53 (2016)
Carlucci, G., de Cicco, L., Holmer, S., Mascolo, S.: Analysis and design of the google congestion control for web real-time communication (WebRTC). In: Proceedings of ACM International Conference on Multimedia Systems (2016)
Chang, H., Varvello, M., Hao, F., Mukherjee, S.: Can you see me now? A measurement study of Zoom, Webex, and Meet. In: Proceedings of ACM Internet Measurement Conference (2021)
Chromium: ChromeDriver - WebDriver for Chrome (2022). https://chromedriver.chromium.org/home
Chundong, S., Chaojun, L., Shaohua, L.: Research on congestion control algorithms for real-time audio and video stream. In: Proceedings of IEEE International Conference on Computer and Communications (2018)
Cisco: Cisco Ultra Traffic Optimization (CUTO) Data Sheet (2021). https://www.cisco.com/c/en/us/products/collateral/wireless/ultra-traffic-optimization/datasheet-c78-744385.html
De Cicco, L., Carlucci, G., Mascolo, S.: Congestion control for WebRTC: standardization status and open issues. IEEE Commun. Stand. Mag. 1(2), 22–27 (2017)
Federal Communications Commission: FCC Proposes Higher Speed Goals for Small Rural Broadband Providers (2022). https://www.fcc.gov/document/fcc-proposes-higher-speed-goals-small-rural-broadband-providers-0
Floyd, S., Handley, M., Padhye, J., Widmer, J.: Equation-based congestion control for unicast applications. In: Proceedings of ACM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (2000)
Fund, F., Wang, C., Liu, Y., Korakis, T., Zink, M., Panwar, S.S.: Performance of DASH and WebRTC video services for mobile users. In: Proceedings of IEEE Packet Video Workshop, pp. 1–8 (2013).https://doi.org/10.1109/PV.2013.6691455
Google: Tesseract Open Source OCR Engine (2022). https://tesseract-ocr.github.io/
Google Git: WebRTC Native Code Package (2022). https://webrtc.googlesource.com/src/
Grozev, B., Marinov, L., Singh, V., Ivov, E.: Last N: relevance-based selectivity for forwarding video in multimedia conferences. In: Proceedings of ACM Workshop on Network and Operating Systems Support for Digital Audio and Video (2015)
He, J., Ammar, M., Zegura, E.: Automation Code (2023). https://github.com/jh4001/PAM2023_Automation
High Scalability: A Short On How Zoom Works (2020). https://highscalability.com/blog/2020/5/14/a-short-on-how-zoom-works.html
Holmer, S., Lundin, H., Carlucci, G., de Cicco, L., Mascolo, S.: A Google Congestion Control Algorithm for Real-Time Communication (2017). https://datatracker.ietf.org/doc/html/draft-ietf-rmcat-gcc-02
International Telecommunications Union: H.264: Advanced video coding for generic audiovisual services (2016). https://www.itu.int/rec/dologin_pub.asp?lang=e &id=T-REC-H.264-201602-S!!PDF-E &type=items
Jansen, B., Goodwin, T., Gupta, V., Kuipers, F., Zussman, G.: Performance evaluation of WebRTC-based video conferencing. ACM SIGMETRICS Perform. Eval. Rev. 45(3), 56–68 (2018)
Jitsi: Github repository (2022). https://github.com/jitsi
Jitsi: Selective Forwarding Unit implementation of the Jitsi Videobridge (2022). https://github.com/jitsi/jitsi-videobridge/blob/master/doc/sfu.md#bandwidth-estimations
Kumar, R., Nagpal, D., Naik, V., Chakraborty, D.: Comparison of popular video conferencing apps using client-side measurements on different backhaul networks. In: Proceedings of ACM Symposium on Theory, Algorithmic Foundations, and Protocol Design for Mobile Networks and Mobile Computing (2022)
Lee, I., Lee, J., Lee, K., Grunwald, D., Ha, S.: Demystifying commercial video conferencing applications. In: Proceedings of ACM International Conference on Multimedia (2021)
Liu, Q., Jia, Z., Jin, K., Wu, J., Zhang, H.: Error resilience for interactive real-time multimedia application. U.S. Patent #10348454 (2019)
MacMillan, K., Mangla, T., Saxon, J., Feamster, N.: Measuring the performance and network utilization of popular video conferencing applications. In: Proceedings of ACM Internet Measurement Conference (2021)
Michel, O., Sengupta, S., Kim, H., Netravali, R., Rexford, J.: Enabling passive measurement of zoom performance in production networks. In: Proceedings of ACM Internet Measurement Conference (2022)
Muthukadan, B.: Selenium with Python (2022). https://selenium-python.readthedocs.io/
Robitza, W., Goring, S., Lebreton, P., Trevivian, N.: ffmpeg_debug_qp (2022). https://github.com/slhck/ffmpeg-debug-qp
Sander, C., Kunze, I., Wehrle, K., Rüth, J.: Video conferencing and flow-rate fairness: a first look at Zoom and the impact of flow-queuing AQM. In: Proceedings of Passive and Active Measurement, pp. 3–19 (2021)
Sandvine: 2022 Global Internet Phenomena Report (2022)
Schwarz, H., Marpe, D., Wiegand, T.: Overview of the scalable video coding extension of the H.264/AVC standard. IEEE Trans. Circuits Syst. Video Technol. 17(9), 1103–1120 (2007)
Streaming Media: Q &A: Zoom CTO Brendan Ittelson (2021). https://www.streamingmedia.com/Articles/Editorial/Featured-Articles/QA-Zoom-CTO-Brendan-Ittelson-145024.aspx
Sweigart, A.: PyAutoGUI - GitHub (2022). https://github.com/asweigart/pyautogui
Varvello, M., Chang, H., Zaki, Y.: Performance characterization of videoconferencing in the wild. In: Proceedings of ACM Internet Measurement Conference (2022)
Vucic, D., Skorin-Kapov, L.: QoE Assessment of mobile multiparty audiovisual telemeetings. IEEE Access 8, 107669–107684 (2020)
WebRTC Glossary: Temporal Scalability (2022). https://webrtcglossary.com/temporal-scalability/
Xu, Y., Yu, C., Li, J., Liu, Y.: Video telephony for end-consumers: measurement study of Google+, IChat, and Skype. In: Proceedings of ACM Internet Measurement Conference (2012)
Yu, C., Xu, Y., Liu, B., Liu, Y.: Can you SEE me now? A measurement study of mobile video calls. In: Proceedings of IEEE Conference on Computer Communications (2014)
Zoom: Zoom: Architected for Reliability (2019). https://explore.zoom.us/docs/doc/Zoom_Global_Infrastructure.pdf
Zoom: Here’s How Zoom Provides Industry-Leading Video Capacity (2022). https://blog.zoom.us/zoom-can-provide-increase-industry-leading-video-capacity/
Acknowledgement
This work was supported by NSF grant NETS-1909040. We thank the PAM reviewers and our shepherd for their valuable feedback.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendices
A Competition with TCP
As Zoom has been reported to take a majority share of the bandwidth when competing with TCP [28, 30, 34], we took measurements with different types of TCP flows to compare and explain results using the functional models and measurements in Sect. 4.
The testbed was used in two-person SFU mode with Zoom and Jitsi as in Sect. 4.3. In all cases, a total bandwidth limit of 4 Mb/s was applied to the upload of Client 1. After 30 s of measurement, ten TCP flows begin in various patterns: (i) started at the same time with nine minute duration, (ii) started at 30 s intervals, all finishing at the nine minute mark, and (iii) started and stopped at the same time every 20 s.
Figure 15 shows the results of these measurements. Figures 15(a), 15(b), and 15(c) all show that Jitsi immediately gives up practically all of its bandwidth in the presence of TCP. In particular, Fig. 15(b) shows that this occurs with only a single TCP flow sharing the link at the 30 s mark. This behavior is likely caused by GCC’s sensitivity to changes in delay; once GCC gives up some bandwidth, TCP takes it, compounding the response. Conversely, Figs. 15(d), 15(e), and 15(f) show that Zoom sending rate actually increases in TCP’s presence. This is likely a consequence of how it decides to add FEC as described in Sect. 4.3, the general insensitivity that Zoom has to packet loss, and the high threshold for responding to latency.
B Video Subsampling Methods
As mentioned in Sect. 1, the SFU is able to adjust the quality of forwarded video streams via subsampling. The exact method used for this differs between the considered VCAs, as described below, and summarized in Table 2.
Zoom uses a custom implementation of H.264 Scalable Video Coding (SVC) [2, 23, 36] to encode base and enhancement video layers. The SFU can then add/drop layers before forwarding to clients. Because H.264 SVC is used, subsampling of both the resolution and the frame rate is available to the SFU in Zoom as an orthogonal technique to adjust video bit rate [21, 37, 44, 45].
Jitsi and BlueJeans use video simulcast, in which the VCA client sends multiple independent video streams at different resolutions. Jitsi uses simulcast when the VP8 encoder is used. In particular, the Jitsi clients make use of three simulcast streams, with resolution scaling factors of 1, 2, and 4. At 1280\(\,\times \,\)720 native video resolution, this means the two other streams will be 640\(\,\times \,\)360 and 320\(\,\times \,\)180. BlueJeans also uses the VP8 encoder, implying use of simulcast, though there are no means of measuring the individual video streams. In a VCA with simulcast, the SFU chooses which one of the received video streams to forward, which determines the resolution. Additionally, it may choose to adjust the frame rate without re-encoding. Note that resolution changes without re-encoding are not possible with the VP8 codec [5, 41], demanding the use of simulcast.
C Zoom Video Rate Control under Different Latency Conditions
Figure 16 presents the video metrics for Zoom as a function of the additional latency on the upload. Overall, the sent video metrics begin to see an impact at 400 ms additional upload latency, and beyond 600 ms additional latency, there are no further impacts.
Frame Rate and Resolution. We group the consideration of both of these metrics as they share a very similar response to the additional upload latency. The most notable feature is the evolution of high variance in the measurement results for added latencies above 500 ms. We observe that much of the measured variance is not due to fluctuation in the frame rate or resolution; instead it is caused by Zoom returning to the maximum resolution and frame rate some time after the experiment starts. The time at which this occurs is a function of the latency; the higher the latency, the longer Zoom takes to begin recovering its sending rate. At higher latencies beyond 600 ms, the recorded variance is low. This is either because the time taken for Zoom to begin recovering is longer than the measurement duration, or because Zoom keeps the low sending rate indefinitely if the latency is beyond this value.
Measured Video Sending Rate. The measured video sending rate corresponds well to the frame rate and resolution trends. Specifically, there appear to be two intermediate levels of video sending rate; the first averaging around 2.25 Mb/s between 400 and 500 ms added latency, and the second averaging around 1.5 Mb/s between 500 and 600 ms. Beyond 600 ms, a flat 100 kb/s sending rate is used, which corresponds to what is observed in Fig. 4(f).
QP. The method for obtaining Zoom’s QP outlined in Sect. 3.2 is incompatible with latency measurements. This is because starting a screen recording in the Zoom application prompts a sudden, very large spike in latency. Once this spike dissipates, the Zoom application begins sending at the maximum rate, even when the steady-state latency is above 1,000 ms. We are uncertain if this is intended behavior to maintain maximum quality for recording purposes, or if this is a bug. In any case, we are unable to ascertain the Zoom QP for these measurements.
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
He, J., Ammar, M., Zegura, E. (2023). A Measurement-Derived Functional Model for the Interaction Between Congestion Control and QoE in Video Conferencing. In: Brunstrom, A., Flores, M., Fiore, M. (eds) Passive and Active Measurement. PAM 2023. Lecture Notes in Computer Science, vol 13882. Springer, Cham. https://doi.org/10.1007/978-3-031-28486-1_7
Download citation
DOI: https://doi.org/10.1007/978-3-031-28486-1_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-28485-4
Online ISBN: 978-3-031-28486-1
eBook Packages: Computer ScienceComputer Science (R0)