Stop your video calls from stuttering

A lot of people have recently started doing most of their work via video calls instead of in-person meetings. Unfortunately, because humans are terrible at making technology that just works, there are many ways to ruin your video calls unnecessarily. The most frequent culprit is a bad internet connection, so in this post I’ll go over how to troubleshoot and fix that (in the ways that matter most for video calls).

There are many network troubleshooting guides out there, but most of them regurgitate a random sequence of “try this” without explaining why, or even showing you how to see if it worked. In this guide I’ll aim higher: I’d like to not just give you troubleshooting steps, but explain what you’re doing and why you’re doing it.

Epistemic status: the best way to get the right answer on the internet is to post the wrong answer. I’m not a professional network technician, just someone who’s used a lot of bad networks and occasionally fixed them. Suggestions or corrections welcome!

Concepts

When you video call a friend, the data (audio and video) are sent from you to your friend over many different network links between different devices:

Any one of these links can have a problem, although you will mainly care about the ones on your side (the top half of the diagram) because they’re the ones under your control. If you’ve solved your own network problems but the person you’re talking to hasn’t, just send them a link to this post :)

When analyzing the quality of a network link, you care about three things:

At a high level, your goal is to make sure the latency and jitter between you and your friend are as low as possible, and that the bandwidth between you is large enough to carry your video and audio.

The first step is to understand which part(s) of your network are the problem.

Ping your router

To test local network performance, you’ll send a small bit of network traffic from your computer to your router and see how it performs.

First, find your router’s IP address by following these steps. The IP address will be a series of numbers separated by periods, like 123.45.67.89. Once you have it, plug it into this “blip” tool which repeatedly makes small requests to your router and plots how long it takes to get a response. My wired connection shows pretty consistent sub-5ms blips, and my wireless connection is pretty consistently under 10ms but with a bit more jitter.

Optimize the connection to your router

If your blips don’t look good, it’s time to try improving things!

The easiest and most likely-to-succeed fix, if practical, is to connect to your router via an Ethernet cable. You can buy really long cables, and stick them to your wall using wire clips like these to keep them out of the way.

If you’d rather not run a cable, you now get to go down the “wifi performance debugging” rabbit hole. Here are a few potential causes of high latency:

Dead zones

Your computer and router might not be able to reliably hear each others’ wireless transmissions, because they’re too far away or have too many walls between them. In that case, you may see lots of jitter as your computer needs to retransmit its packets frequently. If your latency and jitter improve when you move your computer next to your router, this is probably your problem. You can walk around while running the blip tool to map out your dead zones.

You can work around this by buying various types of wireless “repeaters” or “extenders,” although all of them will add latency compared to running a cable to your device. The minimum-latency wireless option probably involves running a cable from your router to a convenient nearby point and installing a wired range extender there.

Interference

If there are other nearby wireless networks using a nearby part of the wireless spectrum, they may interfere with your network, again causing jitter and retransmissions.

The wifi spectrum is divided into several numbered bands of frequencies that your router and computer use to talk to each other. If there’s another router nearby using the same band, they will interfere with each other and become slow. Unfortunately, the 2.4GHz part of the spectrum, which old devices and routers use, is very narrow: there are only three non-overlapping bands.

Interference is more likely if you’re on a 2.4GHz network than on 5GHz—where there is more spectrum space to spread different networks out in—but it can happen on 5GHz too if there are a lot of networks nearby.

To check whether interference might be a problem, use a network channel scanner app (Mac, Windows) to show you how much interference there is on each channel. You should compare your network’s RSSI (signal strength) to the strength of the next-strongest network on that channel; if they’re too close (or the other network’s is higher) then they might be interfering. If so, switch the channel to a clearer one; your router’s manual will tell you how.

Other problems

Dead zones and interference are the two most common wifi issues, but there are huge numbers of less frequent problems you might run into.

Ping the Internet

Once the connection between your computer and router is solid, the next step is to test your router’s “uplink” to your ISP and rest of the Internet. Your uplink is more likely to be reliable than your wifi, since it’s a more controlled environment with fewer moving parts. But it’s still worth testing.

To test, head back to the blip tool and watch the blue blips. This is your browser making small requests to a page on Google’s “content delivery network,” whose closest server is probably really close to your ISP. That means the latency you observe here is mostly the latency between your house and your ISP (plus your wifi latency).

The table below typical round-trip latency ranges for various types of connections in the US, as measured by the FCC (fixed) and High Performance Browser Networking (mobile).1 The distance between blue and green blips on the blip tool should fall within the range listed in the “latency” column.

typelatencyjitter
Fiber12-20 mslow
Cable15-34 msmedium
DSL25-80 msmedium
4G“<100 ms”low
3G100-500 mshigh
2G300-1000 msvery high

Note that while this table gives general numbers, specific latency/jitter can vary a lot. For instance, cable wiring is shared between many neighbors and used for TV as well, so you may notice worse latency or bandwidth during peak times when your neighbors are using it too. On the other hand, DSL signal apparently gets worse when you’re far away from your ISP, so you may see better or worse numbers depending on your house’s location.

If your uplink is wired (DSL, cable or fiber) and showing unusually high latency or inconsistent blips, there are two potential culprits:

On a wireless uplink (e.g. mobile hotspot), signal strength also plays a role, but I’ve never really figured out if there’s a consistent way to improve a bad cellular signal, other than buying a dedicated cellular modem with higher transmit power. (Let me know if you know of good resources on this!)

Test bandwidth

Bandwidth is usually limited by how much data your ISP will allow you to move. To test bandwidth, you can run a speed test. Note that some speed test sites only test download speed, but for video calls, upload speed is equally important.

If your bandwidth is substantially below what your ISP told you you’d be getting, it could be one of a few problems:

Test end-to-end

Finally, you should test the results of your optimizations by actually making some video calls! I’ve saved this until last because I don’t know of an easy way to test this without requiring another person to be on the line. Even if you try to do a test call between two devices on your local network, at least some services (like Zoom) will route the traffic directly between the two machines without using the public Internet, giving you artificially high quality and low latency. So I’d suggest calling a friend who’s on a different network.

The easiest service to test calls with is Zoom, because it offers a statistics panel that displays actual measurements of your upload and download latency/jitter. You can find it in the “Statistics” section of the settings (they’re real-time so you need to be on a call to see anything useful):

This is a call on my local network, so the video latency is lower than normal.

Other video call software won’t give you such nice diagnostics, but will probably work similarly to Zoom.

(It won’t be exactly the same, since it might use different protocols which can do a better or worse job compensating for bandwidth, latency or jitter issues, or might involve connecting to different servers with notably different uplink latency—for instance, while in Senegal I’ve sometimes observed multi-second latencies to Zoom servers while Skype worked fine, or vice-versa.)

Enjoy!

Hopefully you’ve now gotten rid of your most annoying video call problem! In a later post I’ll go over camera/microphone/speaker quality, which can also make or break your calls. Stay tuned!

Appendix: further reading

High Performance Browser Networking goes into more detail on both physical networking, and the protocols used by video calls (and the rest of the internet). Chapters 1 and 5-7 are the most relevant.

Homenet Howto goes into way more detail about how home networking works. If you’re curious about the reasoning for any of the advice here, check it out.

An Introduction to Computer Networks is the textbook I learned networking from. Not as relevant to video calls specifically, but read it and you’ll probably feel comfortable reading most things written about networking.

The Home Networking subreddit has various useful guides and advice, and people there will answer questions.

Thanks to Eve Bigaj and Lincoln Quirk for commenting on a draft of this post and to Howie Lempel for catching a typo after publication. Thanks to Avery Pennarun for making the original blip tool which I’ve modified slightly.


  1. FCC numbers are roundtrip times to their “nearest measurement server;” HPBN didn’t explain what latency, exactly, it was measuring, but I expect it’s somewhat similar. ↩︎

Some links in this post are affiliate links; proceeds go to GiveWell.

Comments

email me replies

format comments in markdown.

Your comment has been submitted! It should appear here within 30 minutes.
Evan

Hi Ben,

Thanks for the essay–much enjoyed. I’ve been spreading your essays on better Zoom around the now-entirely-virtual office.

I’m confused by the blip tool output. The configuration up top says green for router, blue for the external website. But the blue blips are consistently around ~18ms for me, and the less-dense green blips alternate precisely between 200 and 2000. How can an external website be order of magnitude faster to ping than the router itself?

All the best, Evan

email me replies

format comments in markdown.

Your comment has been submitted! It should appear here within 30 minutes.