A few weeks ago I wrote a blog on determining the bandwidth used by voice calls in Calculating Bandwidth for SIP Trunks. Now, while voice is an extremely important aspect of SIP communications, the beauty of SIP is that it isn’t limited to strictly voice. On my various PC and smart phone clients I do voice, presence, instant message, and video.
While communications forms such as instant message and presence do consume some network bandwidth, it’s extremely low and neither is of a real-time nature. However, video is very real-time in nature and will typically consume far more data than even the most data intensive wide band voice codec.
Video codecs have a number of distinguishing characteristics, but in terms of bandwidth utilization we are concerned with two major factors – resolution and frame rate. Resolution is expressed by the pixel height and pixel width of the rendered image. Frame rate is expressed in image frames per second. Clearly, more pixels sent more often produces the best image. This, of course, leads to greater bandwidth consumption and possibly less video calls on your network.
It is my experience that the following four video codes are the ones you will most often encounter with video calls – Divx, H.263, H.263+, and H.264/MPEG-4. Each of these codes offer different resolution and frame rate values that ultimately create different quality experiences and bandwidth requirements.
For DviX codecs you will commonly find the following variations:
Client Setting |
Resolution |
Frames / sec |
Quality |
Bandwidth (kbps) |
Average (kbps) |
Very low bandwidth |
160 x 120 |
2 |
Very low |
10 – 20 |
15 |
Low bandwidth |
160 x 120 |
10 |
Low |
60 – 120 |
80 |
Medium bandwidth |
320 x 240 |
10 |
Medium |
150 – 300 |
200 |
High bandwidth |
352 x 288 |
15 |
High |
400 – 800 |
600 |
For H.263, H.263+, and H.264/MPEG-4, it looks like this:
Client Setting |
Resolution |
Frames / sec |
Quality |
Bandwidth (kbps) |
Very low bandwidth |
176 x 144 |
2 |
Very low |
10 |
Low bandwidth |
176 x 144 |
10 |
Low |
64 |
Medium bandwidth |
352 x 288 |
10 |
Medium |
192 |
High bandwidth |
352 x 288 |
15 |
High |
512 |
Very high bandwidth |
640 x 480 |
30 |
Very high |
768 |
At this point you need to determine the number of simultaneous video calls and the quality level of those calls. Unlike your voice traffic, these numbers might not be as easy to determine. Video is still a relatively new form of communication and you may not have the empirical knowledge required to do a full analysis. This means that you will have to take your best guess and be prepared to add or remove bandwidth as users become more comfortable with making and receiving video calls.
However, I will take a stab at a few estimates that may form the basis of your best guess approach.
Expected Video Sessions:
Subscribers |
Sessions |
10 |
8 |
25 |
12 |
50 |
17 |
75 |
23 |
100 |
27 |
250 |
54 |
500 |
95 |
750 |
134 |
1000 |
171 |
1250 |
210 |
Your number may vary quite a bit from these. The important thing is to do the best job you can in determining the number of sessions.
Next, you need to translate those sessions into bandwidth requirements. Given the above data I come up with the following video requirements in Mbit/sec.
Sessions |
Very Low |
Low |
Medium |
High |
Very High |
8 |
0.1 |
.6 |
1.6 |
4.8 |
6.1 |
12 |
0.2 |
1.0 |
2.4 |
7.2 |
9.2 |
17 |
0.3 |
1.4 |
3.4 |
10.2 |
13.1 |
23 |
0.3 |
1.8 |
4.6 |
13.8 |
17.7 |
27 |
0.4 |
2.2 |
5.4 |
16.2 |
20.7 |
54 |
0.8 |
4.3 |
10.8 |
32.4 |
41.5 |
95 |
1.4 |
7.6 |
19.0 |
57.0 |
73.0 |
134 |
2.0 |
11 |
27.0 |
80.0 |
103.0 |
171 |
2.6 |
14 |
34.0 |
103.0 |
131.0 |
210 |
3.2 |
17 |
42.0 |
126.0 |
161.0 |
To determine your particular bandwidth needs, I suggest the following:
- Estimate the total number of SIP video subscribers that will be using each video quality level.
- From this estimate, determine the number of video sessions using the above table.
- Using the bandwidth requirements table, determine the bandwidth for each expected codec. Sum those numbers.
- Note. Rather than trying to estimate for each video codec type, pick an average codec and multiply by the expected number of video sessions.
You then need to ensure that your switches, routers, queues, and uplinks are sized to meet the expected video traffic. Also, make sure that you apply the proper QoS settings to ensure the best video experience possible.
I hope this helps you understand what you need in terms of bandwidth for your video roll-out. It’s important to realize that video is not going away and the demand for quality, well-behaved video calls will be growing every year. Do it right and your users will be happy. Fail to plan and configure your network appropriately and you risk a help desk nightmare.
[…] Source: https://andrewjprokop.wordpress.com/2013/10/24/calculating-bandwidth-for-video-calls/?blogsub=confirm… […]
Reblogged this on محمدأحمدعبدالمنعم.