ZLS: A Reliable Live Streaming Protocol

ZLS is still experimental and subject to change!

ZLS Overview

ZLS is an HTTP-based live streaming protocol that does its best to work well in difficult environments, typically outdoors and using a cellular network, e.g.: unreliable 4G/LTE or 5G. ZLS allows pushing multiples segments of different kinds: video, audio, and even user-defined data. The latter is pretty convenient to pass arbitrary data relative to the live stream, such as the name of the current street.

Goals

Priority of stream when the connection is degraded. A stream may be temporarily dropped to avoid congestion and allow other more important stream to pass. For example, audio segments may pass while video segments are dropped for a few seconds until the connection is strong enough again, so the audience can at least hear.

HTTP-based: because it makes implementing servers and clients easy.

Segments-based: because it makes interoparibility with the end delivery phrase easier, typically using HLS or DASH. Segments can be re-used as is.

Why not use...

...RTMP?

...SRT?