Live video on the move over Wi-Fi, and not one packet late

Benchmark: Wi-Fi on the move
Live video on the move over Wi-Fi, and not one packet late
We carried a laptop through a 30 m lab that no single Wi-Fi access point covers, sending live video the whole minute. On its own, each of the three networks got too slow as the laptop walked away from it. With NanoPing using all three at once, every packet arrived within 100 ms.
Try NanoPing freeContact sales

AAP A, 2.4 GHz ch 9signal -65 dBm
BAP B, 5 GHz ch 100signal -46 dBm
CAP C, 5 GHz ch 36signal -72 dBm
The lab from above, about 30 m end to end
NanoPing, all threeIn time
AP A 0%AP B 100%AP C 0%
Slowest packet now29 ms
Too late so farnever
AP A aloneToo late
Signal\-65 dBm
Slowest packet now143 ms
Too late so far4 times, 2.1 s
AP B aloneIn time
Signal\-46 dBm
Slowest packet now28 ms
Too late so far3 times, 0.5 s
AP C aloneToo late
Signal\-72 dBm
Slowest packet now1137 ms
Too late so far3 times, 0.8 s
0:46 / 1:00Walking back towards AP B
1x2x
Passes AP CTurns at AP APasses AP C againBack at AP B
NanoPing
AP A alone
AP B alone
AP C alone
The whole 60-second walk, replayed. Red marks when a network on its own would have made the video wait more than 100 ms. The lines from the laptop show how much of the video NanoPing was sending over each network. The laptop’s position is read from the signal: it passed AP C at 9 s and 35 s and turned by AP A at 22 s.
0times the video had to wait, against 3 to 12 on one network
0 of 1,800video frames late or lost, against up to 208 on one network
49 msfor 99 of 100 packets to arrive, against up to 941 ms
91 msfor the slowest packet, still inside the 100 ms limit
The scorecard
One walk, four ways to carry the video
The same laptop, the same walk and the same minute. NanoPing used all three networks at once. Each network on its own is worked out from how it handled the packets NanoPing sent over it. Even the best of them, AP B, would have spoiled 8 frames. On every line, lower is better.
NanoPingNanoPingall three togetherAP AAP A alone2.4 GHz ch 9AP BAP B alone5 GHz ch 100AP CAP C alone5 GHz ch 36Times the video had to waita packet took more than 100 ms, or never came01235Time spent waitingall those moments added up0.0 s5.8 s0.5 s8.1 sFrames late or lost, of 1,80030 frames a second for a minute0119820899 of 100 packets arrived withinthe slow end of normal49 ms177 ms50 ms941 msSlowest packetthe single worst moment91 ms580 ms208 ms1,137 ms
One walk; a check marks the best on the line. A network on its own counts as too slow in any tenth of a second in which a packet NanoPing sent over it arrived after 100 ms or never, or the laptop had no connection to it. Moments less than half a second apart count as one time. Frames: a frame counts as late or lost on a network if a packet sent over it during that frame was.
The whole minute
Each network faded in turn, never all at once
As the laptop moved, each network got weaker the further it went from its access point, and on its own would have made the video wait. NanoPing moved the video to whichever networks were good at that moment. In none of the 600 tenths of a second were all three too slow at once.
AP A, 2.4 GHz ch 9AP B, 5 GHz ch 100AP C, 5 GHz ch 36Over the 100 ms limit
Swipe sideways to see the whole minute.
Passes AP CTurns at AP APasses AP C againBack at AP BSIGNAL AT THE LAPTOP, DBM-30-50-70-90AP AAP BAP CWHERE NANOPING SENT THE VIDEO, SHARE OF EACH SECOND100%0OVER THE 100 MS LIMIT, ON ITS OWNAP A alone12 times, 5.8 sAP B alone3 times, 0.5 sAP C alone5 times, 8.1 sNanoPingnever0102030405060seconds into the walk
Top: each network’s signal at the laptop, averaged over half a second. Middle: the share of each second’s video that NanoPing sent over each network. Bottom: the moments each network on its own would have made the video wait. Hover the chart to read any moment.

How long packets took
The slowest packets decide whether the picture stutters
The video waits at most 100 ms for each packet. NanoPing's packets all came in well inside that. On its own, each network had slow packets that ran far past it: AP C needed 941 ms to get 99 of 100 packets through.
Past the limit, the video has to wait
NanoPingevery video packet, end to end
halfhalf of the packets
9 ms
9 of 109 of 10 packets
21 ms
99 of 10099 of 100 packets
49 ms
999 of 1,000999 of 1,000 packets
87 ms
AP A aloneevery packet sent over this network
halfhalf of the packets
9 ms
9 of 109 of 10 packets
23 ms
99 of 10099 of 100 packets
177 ms
999 of 1,000999 of 1,000 packets
543 ms
AP B aloneevery packet sent over this network
halfhalf of the packets
10 ms
9 of 109 of 10 packets
22 ms
99 of 10099 of 100 packets
50 ms
999 of 1,000999 of 1,000 packets
114 ms
AP C aloneevery packet sent over this network
halfhalf of the packets
10 ms
9 of 109 of 10 packets
57 ms
99 of 10099 of 100 packets
941 ms
999 of 1,000999 of 1,000 packets
1,137 ms
0100 ms limit200300400time for a packet to arrive, ms
Each bar runs from zero to the time within which that share of packets had arrived, red where it passes the limit and with an arrow where it runs off the chart. NanoPing: every video packet, from the sending program to the receiving one. Each network on its own: every packet NanoPing sent over it.
Packets in time at 100 ms
NanoPing
100%
none too late or lost
AP A alone
97.89%
2.11% too late or lost
AP B alone
99.87%
0.13% too late or lost
AP C alone
91.48%
8.52% too late or lost
All latency figures
| | NanoPing | AP A alone | AP B alone | AP C alone | | --------------------------- | -------- | ---------- | ---------- | ---------- | | Half of the packets within | 9 ms | 9 ms | 10 ms | 10 ms | | 9 of 10 packets within | 21 ms | 23 ms | 22 ms | 57 ms | | 99 of 100 packets within | 49 ms | 177 ms | 50 ms | 941 ms | | 999 of 1,000 packets within | 87 ms | 543 ms | 114 ms | 1,137 ms | | Slowest packet | 91 ms | 580 ms | 208 ms | 1,137 ms | | In time at 100 ms | 100.00% | 97.89% | 99.87% | 91.48% |
One-way times. NanoPing's include the whole path from the sending program to the receiving one; each network's include only its own part, which flatters the networks.
How NanoPing did it
Three networks, used together
Normally a laptop sticks to one Wi-Fi network and only moves on once that one gets bad. NanoPing used all three at the same time and leaned on whichever were good.
It steered around the weak spots
In the moments a network on its own would have been too slow, NanoPing was sending it almost none of the video: 2% over AP A, 0% over AP B and 0% over AP C.
It made up for losses using the others
On their own, the three networks lost 108 of the packets sent over them and delivered 2,429 more too late. NanoPing sent 1,251 packets again and 7,943 repair packets over the other networks, so none of it reached the video.
There was no switching to wait for
Each Wi-Fi adapter stayed connected to its own access point the whole time. The laptop never had to drop one network and join the next.
Packets NanoPing sent over each network
| | AP A alone | AP B alone | AP C alone | | -------------------- | ---------- | ---------- | ---------- | | Packets sent | 26,325 | 31,761 | 22,765 | | Arrived after 100 ms | 554 | 42 | 1,833 | | Lost | 2 | 0 | 106 | | Lowest link speed | 6 Mbit/s | 8.6 Mbit/s | 6 Mbit/s |
Video, repair and check packets over the 60 seconds. Lowest link speed: the slowest the laptop's adapter sent at during the minute. At that speed a network carrying the whole 7 Mbit/s would have done worse than the figures here.
Test setup
How the test was run
One laptop was both ends of the stream. It sent the video over three Wi-Fi networks at once and got it back over its Ethernet port, through the router all three access points hang off. It was carried from one end of the 30 m lab to the other and back during the minute of video.
Laptop, sendingthree Wi-Fi adapters, NanoPing
AP A2.4 GHz ch 9
AP B5 GHz ch 100
AP C5 GHz ch 36, the router
Routerone local network
Ethernet
Laptop, receivingits Ethernet port
The video
A live stream at 7 Mbit/s and 30 frames a second for 60 seconds, 43,980 packets in all. Each packet carries the time it was sent, and both ends run on the same laptop clock, so every packet's travel time is exact.
The networks
Three access points on three different channels, so they never share airtime: AP A on 2.4 GHz channel 9, AP B on 5 GHz channel 100 and AP C on 5 GHz channel 36. AP C is the router's own radio. The laptop had one Wi-Fi adapter for each.
What is measured
Whether each packet arrived within 100 ms of being sent. A frame is late or lost if any of its packets is. For each network on its own, every packet NanoPing sent over it shows what that network did at that moment.
Reading these numbers fairly
- A floor, not a forecast. NanoPing gave each network only part of the video, and least when it was weak. A network carrying all 7 Mbit/s on its own would have done worse than the figures here.
- The networks get the benefit of the doubt. Their times are the network's own travel time only, while NanoPing's are measured application to application.
- One frame is left out. 19 packets of one frame, sent 31 s in, never reached the receiving test program. NanoPing lost nothing during the video, so it had delivered them; they were dropped on the receiving machine.
The whole test as a PDF
Every number on this page, with the setup, the lab and how each network on its own was worked out.
Measured 30 September 2026, one 60-second walk. The results for each network on its own are worked out from the same walk, from how each network handled the packets NanoPing sent over it, and are a lower bound on what one network carrying the whole video would have gone through. Results reflect the equipment, lab and settings described on this page.

Get started
Reliable real-time connectivity in just a few steps
Every signup includes 30 days of full Pro access, no credit card. Spin up NanoPing on your device in just two commands and watch your traffic become reliable and stable right away.
Try NanoPing freeContact sales
\~/nanopingbash
$ curl -sS https://get.nanoping.com/latest | sh
Installing latest version of np (NanoPing) …
✓ finished downloading
✓ installed np to /usr/local/bin/np
✓ configuration storage defaults to /home/user/nanoping (override with --app-data)
Go to https://docs.nanoping.com for documentation.
Now run "sudo np up" to start NanoPing as a daemon
$ sudo np up
You need to activate this device. Go to the following link to sign in: https://user.nanoping.com/auth/claim?id=…
Started. Serving dashboard on http://127.0.0.1:8081
↵ open dashboard
