Zixi Latency Negotiation
11 min
overview video latency refers to the time elapsed between the source capture and the player's rendering zixi’s software platform provides a flexible approach to latency management across origin, broadcaster, and destination components when setting latency values, consider the tradeoffs between low delay, error recovery, and network delivery platform latency the following describes latency negotiation between client and server (zixi broadcaster) push mode in push mode, the sender actively pushes a video stream to a destination diagram the client can be associated with feeder zec as feeder broadcaster as feeder embedded feeder sdk latency is required for the client push output latency is optional for the broadcaster (server) broadcaster negotiation if latency is not set in the broadcaster, use the client latency if latency is set in the broadcaster, override the client latency pull mode in pull mode, the receiver initiates the connection and requests the stream from the broadcaster diagram the client can be associated with receiver zec as receiver broadcaster as receiver embedded receiver sdk latency is required for the client pull input latency is optional for the broadcaster (server) broadcaster negotiation if latency is not set in the broadcaster, use the client latency if latency is set in the broadcaster, override the client latency platform latency precedence for the push and pull mode scenarios above, the latency precedence can be summarized as follows broadcaster latency, if set client latency zen master cluster redirection rules in addition to the platform latency negotiation discussed above, zixi provides a zen master only feature called cluster redirection rules this allows you to manage inter cluster sources, auto pulls, and latency overrides pull mode cluster redirection rules only apply to pull mode diagram the client can be associated with receiver zec as receiver broadcaster as receiver embedded receiver sdk latency is required for the client pull input latency is optional for cluster redirection rules latency is optional for the broadcaster (server) zen master negotiation if latency is set for cluster redirection rules, then override all other values broadcaster negotiation if latency is not set in the broadcaster, use the client latency if latency is set in the broadcaster, override the client latency setting cluster redirection rules to apply redirection rules to a broadcaster cluster, do the following in the left navigation, select broadcasters from the broadcaster clusters list, select a cluster select redirection rules and then +add rule complete the form and select save zen master latency precedence with zen master, latency has an additional consideration cluster redirection rules, if set broadcaster latency, if set client latency dynamic latency in addition to setting latency values, you can also enable zixi’s dynamic latency, which adjusts latency dynamically in response to changing network conditions the latency values that you set become the upper bounds for dynamic adjustment note that zixi limits the latency change rate to make clock frequency drift within specs of mpeg ts to enable dynamic latency, do one of the following in the broadcaster input settings, select minimize latency in zen master, when creating/updating a source, select minimize latency for details about dynamic latency, see the docid\ b5ijrtxuicwxu7rcmdhza document trade offs zixi offers a three way trade off between latency resiliency (error recovery) overhead (fec/arq) lower latency reduces recovery robustness higher latency improves resiliency summary latency can impact event success zixi provides a comprehensive solution that masters network dynamics to guarantee low latency, reliable delivery at any scale notes here are some additional notes for sufficient error recovery, zixi recommends setting the latency to at least 3 to 5 times larger than the \[rtt + jitter] you may need to adjust latency depending on the isp network, as conditions can change due to network overload, a new network path, or additional hops zixi telemetry displays actual latency, not just configured values

