Video latency
The video latency has 2 main components:
video latency = streaming latency + decoder latency
Streaming latency
The video latency depends mainly on the video streaming format and the structure of the bitstream. VXG Cloud VMS uses different streaming formats to play live video in a browser.
Streaming format | Streaming latency | Supported codecs | Limitations |
---|---|---|---|
WebRTC | <1s | H.264 | ports, UDP |
HLS | 6-8s | H.264 | |
DASH-LL | 2-3s | H.265 |
Decoder latency
The decode latency depends on the structure of the MPEG bitstream. The decoder needs a keyframe to initialize the decoder and it requires a certain number of frames in the buffer to be able to decode all frames. For example, if the GOP (group of pictures) structure is IBBBPBBBI (I - intra, B - predicted, B - bi-directional) then the decoder will buffer 5 frames before the frame is decoded. In the case of 5 fps, it means an additional delay of 1s. In the case of H.265+ the GOP structure can be with a very long GOP size and only B-frames resulting in several seconds of decoder latency.
Examples of settings and estimated decoder latency
MPEG settings | Decoder latency | Comments |
---|---|---|
5fps, GOP 8, IB(3)PB(3)I | 1s | |
30fps, GOP 10, IB(2)P(B2)P(B2)I | 0.1s | |
20fps, GOP 10, IB(9)I | 0.5s | |
20fps, GOP 80, IB(79)I | 4s | Often used in H.265+ |