Benchmark: live video

Live video from a moving car, with 30x fewer breaks

We streamed a live camera from a car over two cellular connections and drove the same 2.2 km loop nine times: three laps with NanoPing, three each with SRT connection bonding at two settings. NanoPing’s picture broke 4 times. SRT’s broke 136 and 126 times.

NanoPingClear
Picture broken0.0 s
SRT 160 msClear
Picture broken0.0 s
SRT 270 msClear
Picture broken0.0 s
Lap 2 of each setting, from the moment the car passes the same spot. What a player that waits at most 300 ms for each frame would have shown.
99.8%of frames arrived in time, against 97.0% and 81.8% with SRT
4breaks in the picture in three laps, against 136 and 126
1.4 sof picture lost in total, against 16.3 s and 97.7 s
2.8%of frames frozen or garbled on screen, against 26.0% and 29.7%
The scorecard

Three laps each, added up

Every lap counts, with nothing trimmed or left out. On every line, a shorter bar is better.

NanoPingSRT 160 msSRT 270 ms
Picture lost
All the moments frames came too late or not at all, added up
NanoPing1.4 s
SRT 160 ms16.3 s
SRT 270 ms97.7 s
Breaks in the picture
Each time the picture stopped, however briefly
NanoPing4
SRT 160 ms136
SRT 270 ms126
Frames frozen or garbled
What a viewer saw that was not what the camera sent
NanoPing478
SRT 160 ms4,244
SRT 270 ms4,790
Frames late or missing
Share of frames that missed the 300 ms limit
NanoPing0.2%
SRT 160 ms3.0%
SRT 270 ms18.2%
Average delay
From camera to screen
NanoPing162 ms
SRT 160 ms193 ms
SRT 270 ms296 ms
99 of 100 frames arrive within
The slow end of the delay
NanoPing165 ms
SRT 160 ms350 ms
SRT 270 ms354 ms
Where it broke

The same loop, three very different drives

Each drawing is the 2.2 km loop the car drove, traced from its GPS. The colored stretches show where a viewer would have seen a frozen or garbled picture. SRT struggled on the same stretches lap after lap. NanoPing got through almost all of them.

Frozen pictureGarbled pictureClear picture
NanoPingthree laps
Lap 2: garbled for 7.0 sLap 3: garbled for 3.5 sLap 3: garbled for 0.2 sLap 3: garbled for 3.7 sLap 2: frozen for 0.1 sLap 3: frozen for 1.0 sLap 3: frozen for 0.3 sLap 3: frozen for 0.1 s
Frozen 1.5 sGarbled 14 s
SRT 160 msthree laps
Lap 1: garbled for 9.8 sLap 1: garbled for 0.1 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.1 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.1 sLap 1: garbled for 0.1 sLap 1: garbled for 0.0 sLap 1: garbled for 0.8 sLap 1: garbled for 7.2 sLap 1: garbled for 3.4 sLap 1: garbled for 1.6 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 7.3 sLap 1: garbled for 0.2 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.1 sLap 1: garbled for 0.0 sLap 1: garbled for 0.1 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.1 sLap 1: garbled for 0.1 sLap 1: garbled for 0.1 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.2 sLap 1: garbled for 0.1 sLap 1: garbled for 0.1 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.2 sLap 1: garbled for 0.2 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.1 sLap 1: garbled for 0.1 sLap 1: garbled for 0.1 sLap 1: garbled for 0.1 sLap 1: garbled for 0.1 sLap 1: garbled for 0.1 sLap 1: garbled for 1.2 sLap 1: garbled for 0.1 sLap 1: garbled for 0.1 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.2 sLap 1: garbled for 0.1 sLap 1: garbled for 7.0 sLap 1: garbled for 2.4 sLap 2: garbled for 0.0 sLap 2: garbled for 0.1 sLap 2: garbled for 5.8 sLap 2: garbled for 2.3 sLap 2: garbled for 9.1 sLap 2: garbled for 0.1 sLap 2: garbled for 0.1 sLap 2: garbled for 8.3 sLap 2: garbled for 0.0 sLap 2: garbled for 2.0 sLap 2: garbled for 0.1 sLap 2: garbled for 1.2 sLap 2: garbled for 0.0 sLap 2: garbled for 0.0 sLap 2: garbled for 0.0 sLap 2: garbled for 0.0 sLap 2: garbled for 0.0 sLap 2: garbled for 0.0 sLap 2: garbled for 1.6 sLap 2: garbled for 4.3 sLap 2: garbled for 4.5 sLap 2: garbled for 0.1 sLap 2: garbled for 0.0 sLap 2: garbled for 0.0 sLap 2: garbled for 4.5 sLap 2: garbled for 0.0 sLap 2: garbled for 0.1 sLap 2: garbled for 0.1 sLap 2: garbled for 0.2 sLap 2: garbled for 0.0 sLap 2: garbled for 0.1 sLap 2: garbled for 0.0 sLap 2: garbled for 0.2 sLap 2: garbled for 0.0 sLap 2: garbled for 0.1 sLap 2: garbled for 0.0 sLap 2: garbled for 0.0 sLap 2: garbled for 0.0 sLap 2: garbled for 0.0 sLap 2: garbled for 0.0 sLap 2: garbled for 0.3 sLap 2: garbled for 0.0 sLap 2: garbled for 0.1 sLap 2: garbled for 0.0 sLap 2: garbled for 0.1 sLap 2: garbled for 0.0 sLap 2: garbled for 0.1 sLap 2: garbled for 0.2 sLap 2: garbled for 0.0 sLap 2: garbled for 0.2 sLap 2: garbled for 0.1 sLap 2: garbled for 0.1 sLap 2: garbled for 0.0 sLap 2: garbled for 0.1 sLap 2: garbled for 0.0 sLap 2: garbled for 0.1 sLap 2: garbled for 0.1 sLap 2: garbled for 0.0 sLap 2: garbled for 0.1 sLap 2: garbled for 0.0 sLap 2: garbled for 0.0 sLap 2: garbled for 6.3 sLap 3: garbled for 1.1 sLap 3: garbled for 5.0 sLap 3: garbled for 0.1 sLap 3: garbled for 0.2 sLap 3: garbled for 1.9 sLap 3: garbled for 2.1 sLap 3: garbled for 0.0 sLap 3: garbled for 8.7 sLap 3: garbled for 1.7 sLap 3: garbled for 0.3 sLap 3: garbled for 5.8 sLap 1: frozen for 0.0 sLap 1: frozen for 1.0 sLap 1: frozen for 0.2 sLap 1: frozen for 0.0 sLap 1: frozen for 0.2 sLap 1: frozen for 0.1 sLap 1: frozen for 0.1 sLap 1: frozen for 0.4 sLap 1: frozen for 0.0 sLap 1: frozen for 0.1 sLap 1: frozen for 0.0 sLap 1: frozen for 0.1 sLap 1: frozen for 0.1 sLap 1: frozen for 0.3 sLap 1: frozen for 0.1 sLap 1: frozen for 0.0 sLap 1: frozen for 0.0 sLap 1: frozen for 0.0 sLap 1: frozen for 0.2 sLap 1: frozen for 0.1 sLap 1: frozen for 0.0 sLap 1: frozen for 0.1 sLap 1: frozen for 0.1 sLap 1: frozen for 0.1 sLap 1: frozen for 0.1 sLap 1: frozen for 0.1 sLap 1: frozen for 0.1 sLap 1: frozen for 0.0 sLap 1: frozen for 0.0 sLap 1: frozen for 0.0 sLap 1: frozen for 0.2 sLap 1: frozen for 0.3 sLap 1: frozen for 0.0 sLap 1: frozen for 0.0 sLap 1: frozen for 0.3 sLap 1: frozen for 0.0 sLap 1: frozen for 0.1 sLap 1: frozen for 0.0 sLap 1: frozen for 0.1 sLap 1: frozen for 0.1 sLap 1: frozen for 0.2 sLap 1: frozen for 0.0 sLap 1: frozen for 0.1 sLap 1: frozen for 0.0 sLap 1: frozen for 0.4 sLap 1: frozen for 0.1 sLap 1: frozen for 0.0 sLap 1: frozen for 0.1 sLap 1: frozen for 0.1 sLap 1: frozen for 0.1 sLap 1: frozen for 0.3 sLap 1: frozen for 0.4 sLap 1: frozen for 0.2 sLap 1: frozen for 0.3 sLap 1: frozen for 0.0 sLap 1: frozen for 0.0 sLap 1: frozen for 0.0 sLap 1: frozen for 0.1 sLap 1: frozen for 0.0 sLap 1: frozen for 0.0 sLap 1: frozen for 0.0 sLap 1: frozen for 0.3 sLap 2: frozen for 0.0 sLap 2: frozen for 0.1 sLap 2: frozen for 0.0 sLap 2: frozen for 0.2 sLap 2: frozen for 0.4 sLap 2: frozen for 0.0 sLap 2: frozen for 0.2 sLap 2: frozen for 0.2 sLap 2: frozen for 0.3 sLap 2: frozen for 0.1 sLap 2: frozen for 0.0 sLap 2: frozen for 0.0 sLap 2: frozen for 0.4 sLap 2: frozen for 0.1 sLap 2: frozen for 0.1 sLap 2: frozen for 0.1 sLap 2: frozen for 0.1 sLap 2: frozen for 1.0 sLap 2: frozen for 0.1 sLap 2: frozen for 0.1 sLap 2: frozen for 0.0 sLap 2: frozen for 0.1 sLap 2: frozen for 0.0 sLap 2: frozen for 0.1 sLap 2: frozen for 0.1 sLap 2: frozen for 0.3 sLap 2: frozen for 0.1 sLap 2: frozen for 0.1 sLap 2: frozen for 0.0 sLap 2: frozen for 0.0 sLap 2: frozen for 0.1 sLap 2: frozen for 0.1 sLap 2: frozen for 0.0 sLap 2: frozen for 0.1 sLap 2: frozen for 0.0 sLap 2: frozen for 0.2 sLap 2: frozen for 0.1 sLap 2: frozen for 0.1 sLap 2: frozen for 0.0 sLap 2: frozen for 0.1 sLap 2: frozen for 0.1 sLap 2: frozen for 0.0 sLap 2: frozen for 0.1 sLap 2: frozen for 0.1 sLap 2: frozen for 0.0 sLap 2: frozen for 0.0 sLap 2: frozen for 0.4 sLap 2: frozen for 0.0 sLap 2: frozen for 0.0 sLap 2: frozen for 0.0 sLap 2: frozen for 0.0 sLap 2: frozen for 0.2 sLap 2: frozen for 0.3 sLap 2: frozen for 0.1 sLap 2: frozen for 0.2 sLap 2: frozen for 0.0 sLap 2: frozen for 0.1 sLap 2: frozen for 0.3 sLap 2: frozen for 0.0 sLap 2: frozen for 1.0 sLap 3: frozen for 0.0 sLap 3: frozen for 0.1 sLap 3: frozen for 0.0 sLap 3: frozen for 0.0 sLap 3: frozen for 0.1 sLap 3: frozen for 0.1 sLap 3: frozen for 0.1 sLap 3: frozen for 0.1 s
Frozen 17 sGarbled 124 s
SRT 270 msthree laps
Lap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.1 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.1 sLap 1: garbled for 0.2 sLap 1: garbled for 0.0 sLap 1: garbled for 3.3 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.1 sLap 1: garbled for 0.0 sLap 1: garbled for 0.1 sLap 1: garbled for 0.1 sLap 1: garbled for 0.7 sLap 1: garbled for 0.0 sLap 1: garbled for 0.1 sLap 1: garbled for 0.0 sLap 1: garbled for 0.9 sLap 1: garbled for 0.1 sLap 1: garbled for 0.1 sLap 1: garbled for 0.1 sLap 1: garbled for 0.1 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.1 sLap 1: garbled for 0.2 sLap 1: garbled for 0.1 sLap 1: garbled for 0.1 sLap 1: garbled for 0.3 sLap 1: garbled for 0.1 sLap 1: garbled for 0.1 sLap 1: garbled for 0.1 sLap 1: garbled for 0.1 sLap 1: garbled for 0.1 sLap 1: garbled for 0.5 sLap 1: garbled for 0.2 sLap 1: garbled for 0.0 sLap 1: garbled for 0.1 sLap 1: garbled for 6.4 sLap 1: garbled for 1.9 sLap 1: garbled for 7.7 sLap 1: garbled for 0.4 sLap 1: garbled for 1.3 sLap 1: garbled for 0.1 sLap 1: garbled for 0.3 sLap 1: garbled for 0.1 sLap 1: garbled for 0.1 sLap 1: garbled for 1.5 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.0 sLap 1: garbled for 0.1 sLap 1: garbled for 0.1 sLap 1: garbled for 0.1 sLap 2: garbled for 0.8 sLap 2: garbled for 0.1 sLap 2: garbled for 0.1 sLap 2: garbled for 0.0 sLap 2: garbled for 0.1 sLap 2: garbled for 0.0 sLap 2: garbled for 1.9 sLap 2: garbled for 1.0 sLap 2: garbled for 0.2 sLap 2: garbled for 0.1 sLap 2: garbled for 0.1 sLap 2: garbled for 0.1 sLap 2: garbled for 0.0 sLap 2: garbled for 0.7 sLap 2: garbled for 0.1 sLap 2: garbled for 0.2 sLap 2: garbled for 0.0 sLap 2: garbled for 0.1 sLap 2: garbled for 0.2 sLap 2: garbled for 0.0 sLap 2: garbled for 2.9 sLap 2: garbled for 8.6 sLap 2: garbled for 0.1 sLap 2: garbled for 2.2 sLap 2: garbled for 0.1 sLap 2: garbled for 0.1 sLap 3: garbled for 4.5 sLap 3: garbled for 0.1 sLap 3: garbled for 0.0 sLap 3: garbled for 0.0 sLap 3: garbled for 0.0 sLap 3: garbled for 0.0 sLap 3: garbled for 0.1 sLap 3: garbled for 0.1 sLap 3: garbled for 0.2 sLap 3: garbled for 0.1 sLap 3: garbled for 0.1 sLap 3: garbled for 2.3 sLap 3: garbled for 0.1 sLap 3: garbled for 0.1 sLap 3: garbled for 2.0 sLap 3: garbled for 0.1 sLap 3: garbled for 1.8 sLap 1: frozen for 0.0 sLap 1: frozen for 0.1 sLap 1: frozen for 0.1 sLap 1: frozen for 0.1 sLap 1: frozen for 0.0 sLap 1: frozen for 0.0 sLap 1: frozen for 0.0 sLap 1: frozen for 0.0 sLap 1: frozen for 0.1 sLap 1: frozen for 0.0 sLap 1: frozen for 0.0 sLap 1: frozen for 0.1 sLap 1: frozen for 0.1 sLap 1: frozen for 0.2 sLap 1: frozen for 0.2 sLap 1: frozen for 0.1 sLap 1: frozen for 0.2 sLap 1: frozen for 0.2 sLap 1: frozen for 0.1 sLap 1: frozen for 0.0 sLap 1: frozen for 0.0 sLap 1: frozen for 0.1 sLap 1: frozen for 0.1 sLap 1: frozen for 0.0 sLap 1: frozen for 0.0 sLap 1: frozen for 0.3 sLap 1: frozen for 0.1 sLap 1: frozen for 0.1 sLap 1: frozen for 0.1 sLap 1: frozen for 0.0 sLap 1: frozen for 0.0 sLap 1: frozen for 0.1 sLap 1: frozen for 0.1 sLap 1: frozen for 0.0 sLap 1: frozen for 0.0 sLap 1: frozen for 0.1 sLap 1: frozen for 0.1 sLap 1: frozen for 0.1 sLap 1: frozen for 0.1 sLap 1: frozen for 0.1 sLap 1: frozen for 0.0 sLap 1: frozen for 0.2 sLap 1: frozen for 23.2 sLap 1: frozen for 0.0 sLap 1: frozen for 0.0 sLap 1: frozen for 0.2 sLap 1: frozen for 1.0 sLap 1: frozen for 0.1 sLap 1: frozen for 0.0 sLap 1: frozen for 0.3 sLap 1: frozen for 0.1 sLap 1: frozen for 0.2 sLap 1: frozen for 5.8 sLap 1: frozen for 1.1 sLap 1: frozen for 5.2 sLap 1: frozen for 1.1 sLap 1: frozen for 0.1 sLap 1: frozen for 2.1 sLap 1: frozen for 0.2 sLap 1: frozen for 0.2 sLap 1: frozen for 0.4 sLap 1: frozen for 0.0 sLap 1: frozen for 0.0 sLap 1: frozen for 0.0 sLap 1: frozen for 1.1 sLap 1: frozen for 2.1 sLap 1: frozen for 3.5 sLap 2: frozen for 0.4 sLap 2: frozen for 0.0 sLap 2: frozen for 0.1 sLap 2: frozen for 0.2 sLap 2: frozen for 0.1 sLap 2: frozen for 0.1 sLap 2: frozen for 0.2 sLap 2: frozen for 1.0 sLap 2: frozen for 0.1 sLap 2: frozen for 0.0 sLap 2: frozen for 0.0 sLap 2: frozen for 0.1 sLap 2: frozen for 0.0 sLap 2: frozen for 0.1 sLap 2: frozen for 0.0 sLap 2: frozen for 0.1 sLap 2: frozen for 0.0 sLap 2: frozen for 0.0 sLap 2: frozen for 0.1 sLap 2: frozen for 0.0 sLap 2: frozen for 0.1 sLap 2: frozen for 22.5 sLap 2: frozen for 0.1 sLap 2: frozen for 0.2 sLap 2: frozen for 0.1 sLap 2: frozen for 0.1 sLap 2: frozen for 20.2 sLap 3: frozen for 0.0 sLap 3: frozen for 0.2 sLap 3: frozen for 0.1 sLap 3: frozen for 0.1 sLap 3: frozen for 0.1 sLap 3: frozen for 0.0 sLap 3: frozen for 0.0 sLap 3: frozen for 0.0 sLap 3: frozen for 0.0 sLap 3: frozen for 0.1 sLap 3: frozen for 0.0 sLap 3: frozen for 0.0 sLap 3: frozen for 0.0 sLap 3: frozen for 0.0 sLap 3: frozen for 0.0 sLap 3: frozen for 0.0 sLap 3: frozen for 1.0 sLap 3: frozen for 0.0 sLap 3: frozen for 0.1 s
Frozen 99 sGarbled 60 s
The 300 ms limit

A live picture can’t wait for late frames

To stay live, a video player waits a set time for each frame and then moves on. Here that limit is 300 ms. A frame that arrives later, or never, is a gap in the picture. NanoPing delivered almost every frame at the same steady moment, about 162 ms after the camera took it.

How many frames had arrived, by time after the camera took them

NanoPingSRT 160 msSRT 270 ms
Too late for the player0%25%50%75%100%150200250300350400450500milliseconds after the camera took the frame99.8%97.0%81.8%

Three laps pooled per setting. A line that jumps up early and stays at the top is what live video needs. NanoPing’s rises straight up at about 162 ms. SRT at 270 ms can’t deliver anything before about 280 ms, right against the limit.

Why SRT can’t be tuned out of it

SRT has one main setting: how long the receiver holds each frame, so that lost pieces can be sent again in time. We tried two values.

  • 160 ms, SRT’s own guideline. Less waiting left less time to recover, so 3.0% of frames came too late or not at all.
  • 270 ms, the most the limit allows. Frames arrived right at the edge, so any hiccup pushed them over: 18.2% missed it.

SRT’s backup group keeps one connection on standby. NanoPing uses both connections at the same time, and still delivered almost every frame at about 162 ms.

What the viewer saw

One missing frame can spoil the next ten seconds

Video saves space by sending only what changed since earlier frames, and this stream starts from a fresh picture only every 10 seconds. So when a frame is missing, the picture stays garbled until the next fresh start. We replayed every stream through a strict player and compared each frame on screen with what the car sent.

Share of all frames that were not shown as sent

Frozen: the frame was late or lost, the last one stayed on screenGarbled: built on a frame that was missing
NanoPing
2.8%
SRT 160 ms
26.0%
SRT 270 ms
29.7%
NanoPingthree laps

45 frames frozen and 433 garbled, out of 17,310.

SRT 160 msthree laps

509 frames frozen and 3,735 garbled, out of 16,307.

SRT 270 msthree laps

2,986 frames frozen and 1,804 garbled, out of 16,107.

Test setup

How the test was run

A car carried a camera, a small computer and two cellular modems on different networks (TDC and Telenor). The computer streamed the camera live to a fixed server through the connection under test. The car drove the same 2.2 km loop for every lap, at about 40 km/h on average. Only the connection changed.

The stream

1080p video at 30 frames per second and 3 Mbit/s. Every frame carries the moment the camera took it, so the server knows exactly how long each one took to arrive. The car kept its own recording of what it sent, so every frame that reached the server could be checked against the original.

SRT connection bonding

srt-xtransmit (libsrt) with the two connections in a backup group: one carries the stream while the other stands by. Three laps with the receive delay at 160 ms, SRT's own guideline of four times the 40 ms round trip, and three at 270 ms, the most the 300 ms limit allows once travel time and a little headroom are set aside.

NanoPing

NanoPing’s bonded tunnel, using both connections at the same time rather than keeping one on standby, with a 160 ms jitter buffer. Three laps.

Keeping it fair

  • The same car, camera, modems and road for all nine laps. Only the connection changed.
  • Every lap is included. Nothing was trimmed or left out.
  • SRT was tested at its own recommended setting and at the most the limit allows, so it is not judged on one setting alone.
  • Scored the way a viewer sees it: every stream was replayed through a strict 300 ms player and each frame on screen was compared with what the car sent.
All figures
NanoPingSRT 160 msSRT 270 ms
Frames in time99.8%97.0%81.8%
Frames in time, worst lap99.3%95.6%72.6%
Frames later than 300 ms144672,913
Frames that never arrived272117
Picture lost in total1.4 s16.3 s97.7 s
Breaks in the picture4136126
Longest single break0.87 s0.83 s22.80 s
Frozen frames (replay)455092,986
Garbled frames (replay)4333,7351,804
Average latency162 ms193 ms296 ms
99th percentile latency165 ms350 ms354 ms
Frame slots (received + lost)17,31016,30716,107

Three laps pooled per setting. Latency is camera capture to arrival at the receiving application, encoding included. A frame is in time if it arrived within 300 ms. A break is a run of consecutive frames that were late or never arrived. Frozen and garbled counts come from replaying each stream with the 300 ms limit enforced and comparing every shown frame with the car's own recording.

Driven in September 2026. SRT (Secure Reliable Transport) is an open-source protocol originally developed by Haivision. NanoPing is not affiliated with, endorsed by, or sponsored by Haivision or the SRT Alliance. Results reflect the specific implementation (srt-xtransmit / libsrt), configuration and test conditions described on this page and should not be interpreted as representative of all SRT deployments.

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.

~/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