Glass to glass is a term most commonly associated with latency measurements of video transmission.

The intent here is to indicate the time it takes for a video frame captured on one glass (the camera’s lens) to reach another glass (the display).

With interactive communications, we want our latency to be as low as possible. WebRTC measures latency using RTT, which focuses on network delay and latency. This measurement doesn’t take into consideration the time it takes to encode and decode video frames or to process them.

Glass to glass measures the full processing pipeline of the video frame:

We have stats and measurements for both network delay and encode/decode latency. What we don’t have is a way to measure the delay on capture and rendering of the video.

Web cameras, displays and low level chip interfaces (such as frame buffers) affect the delays exhibited by these devices. For example, different screens may display frames at a different delay (often measured as display response times).

Measuring glass to glass latency

A very simple way to measure glass to glass latency is to place a digital clock in front of the camera and place the display of the receiver next to the digital clock. We then take a picture of both in the same frame together while the system is running.

What we see on the captured frame will be the digital clock as captured by our external camera along with the digital clock on the receiving display. The time gap between the two is defined as the glass to glass latency.

When conducting such measurements, we usually want to control the network’s behavior and latency in order to understand better how other components of our solution affect the glass to glass latency.

Additional reading

Looking to learn more about WebRTC? 

Check my WebRTC training courses

About WebRTC Glossary

The WebRTC Glossary is an ongoing project where users can learn more about WebRTC related terms. It is maintained by Tsahi Levent-Levi of BlogGeek.me.