Glass-to-Glass Latency: Why Sub-Second Matters for Drone Ops
When someone says a drone stream has "low latency," that word covers numbers from 300 milliseconds to 20 seconds. The difference matters. Here's how to measure it and why it changes what's operationally possible.
What "glass-to-glass" means
Glass-to-glass latency is the end-to-end delay between the moment light hits the drone's camera sensor (the first glass) and the moment a photon leaves the viewer's screen carrying that same frame (the second glass). It includes every step in the pipeline: sensor readout, encoding, network transit, server processing, re-encoding, player buffering, screen refresh.
Vendors often quote one or two segments of this chain — "200ms network latency" or "500ms encode time" — but operational decisions run on the total. A video pipeline with four excellent components and one buffering player is still a 6-second latency stream.
Where the milliseconds actually go
Breaking down a typical drone livestream pipeline:
| Step | Typical Latency |
|---|---|
| Sensor readout + encode (H.264) | 30–80 ms |
| Drone radio link to controller (OcuSync) | 50–120 ms |
| Controller to uplink (LTE / Wi-Fi / Ethernet) | 50–500 ms |
| Ingest server receive + process | 20–200 ms |
| Transcode / repackage (optional) | 0–5000 ms |
| Downlink to viewer | 20–200 ms |
| Player buffer (varies hugely by protocol) | 100 ms – 18000 ms |
| Decoder + display | 30–80 ms |
The two latency killers are transcoding and player buffering. Traditional HLS pipelines add 6–18 seconds by design — HLS assumes large-audience broadcast and intentionally buffers segments for reliability. WebRTC skips both by design: no transcoding, no segment buffering, just UDP-delivered RTP packets direct from server to player.
Why sub-second changes what's operationally possible
Tactical decisions
The practical threshold for "operational" video is about 1 second. Under that, a human decision-maker can treat the video as reality. Above 2 seconds, you're watching history. Above 10, you're reviewing a recording. The jump from 5-second HLS latency to 500ms WebRTC latency isn't a small improvement — it's a categorical change in what the video is good for.
Two-way coordination
If the pilot and a viewer are on a radio together and the viewer has multi-second-delayed video, their communication is fundamentally desynchronized. "Move left" doesn't work when the viewer's "left" is 8 seconds in the past. Sub-second latency keeps the conversation synchronous.
Multi-viewer coordination
With HLS, two viewers watching "the same stream" can be 2–6 seconds apart from each other because each buffers independently. With WebRTC, viewers are within 100ms of each other. For coordinated ops across roles — IC, safety, division sups — that shared "now" matters.
How to measure it yourself
You don't need a lab setup. Two practical methods:
1. Phone-pointed-at-drone-pointed-at-phone
Set up two phones: one on a stopwatch app displaying current time in milliseconds, one loaded with your stream viewer. Point the drone at the stopwatch. Take a photo of both phones side-by-side. The difference between the two timestamps is your glass-to-glass latency.
2. Flash test
Have the pilot flash a phone light (or wave something distinctive) in view of the camera. The remote viewer counts seconds until they see the flash. Rough but effective — especially for communicating the gap to non-technical stakeholders.
Run this test with your current stack before you commit to a platform. Vendor-quoted latency numbers are marketing best-cases. Your real operational number depends on your network, your aircraft, and your viewer.
The protocol-level reason WebRTC wins
RTMP, HLS, and LL-HLS are push-and-segment protocols. The publisher sends complete chunks; the server stores them; the player pulls them. Each step adds buffering that you can minimize but never eliminate.
WebRTC is a peer-to-peer UDP protocol built for interactive applications — originally browser video calls. It doesn't segment video into chunks. It doesn't retransmit dropped packets (it tolerates small loss for real-time delivery). It adapts bitrate in response to network conditions in real time. That architectural difference is what produces the 300–800ms floor.
The trade-off is scale. A single RTMP/HLS server can fan out to tens of thousands of viewers cheaply. WebRTC's per-viewer overhead is higher. For public broadcasts with thousands of viewers, HLS wins. For operational video with 5–50 viewers, WebRTC wins.
What to do with this
- If your current stack delivers 8+ second latency, you're on an HLS pipeline. That's fine for broadcast, wrong for tactical.
- Measure your real glass-to-glass number with the flash test. Don't trust vendor brochures.
- For tactical and multi-role coordination, pick a WebRTC-based platform. EyesOn targets 300–800ms end-to-end specifically for public safety use.
- For broadcast and archive, keep using RTMP / HLS. Don't over-engineer where it isn't needed.
Related
- DJI Live Streaming: Every Method Explained
- DJI RTMP Broadcast: What It Can and Can't Do
- EyesOn — Sub-Second WebRTC Drone Streaming
See 300–800ms drone streaming in a live demo. Bring a stopwatch.
Request a Demo