
In a previous post I’ve been looking at the network behavior of voice calls over WebRTC on Android. In that graph, one can see that the bandwidth, independent of Wi-Fi (over DSL) or cellular is around 80 kbit/s in each direction. During the Conversations XMPP app call, we then switched from voice-only to voice+video. Needless to say that bandwidth requirements then change significantly.
The graph at the top of the post shows the transmit data rate of the two sides of the video connection. Blue was my smartphone connected over Wi-Fi to a DSL line, and the orange line was the other smartphone connected to an LTE/5G network. Both ends communicated over my central STUN/TURN server, which is where I ran tcpdump to get the data for the graph.
While I was stationary and I would have expected the data rate to remain rather constant, this was not at all the case. The data rate varied between around 1 Mbit/s to 5 Mbit/s in my two minutes recording. This was definitely not due to any bandwidth restrictions, as even my old and clunky DSL line has around 50 Mbit/s available in the uplink direction.
The orange curve was the voice + video data transmit rate of the other end of the connection, connected with LTE/5G. Here the average data rate was significantly lower, around 2 Mbit/s. Not sure if there was a bandwidth bottleneck at the location.
Anyway, two interesting graphs that I can’t quite explain yet, but they give a very good indication of what kind of datarate is used by WebRTC based video calls with good video quality.