ZEC Configuring Hitless Failover

ZEC features hitless failover for inputs, enabling undisrupted streaming when switching from one source to another. The hitless failover feature is based on the SMPTE 2022-7 standard, which specifies “seamless” or hitless failover between binary-identical streams with synchronized RTP headers. ZEC's patent-pending hitless failover technology works by comparing the transport stream payload, without relying on sequences being synchronized. Zixi then applies a proprietary sequencing algorithm to identify missing parts and fill-in missing packets.

The Hitless Failover feature is supported in the inputs of Zixi Feeder, Broadcaster, and Receiver. 

The hitless failover configuration involves grouping two inputs in a "Failover Group". The failover group includes the following configuration options for the merging of binary-identical steams:

The merging of the streams can be achieved using one of the following methods:

  • RTP headers (SMPTE 2022-7) – if the sources are RTP and the RTP headers were maintained, Zixi will use the SMPTE 2022-7 to compare and merge the two streams in order to allow hitless failover. This option is the most recommended as it will use the sequence and the timestamp in the packets to compare which packets are missing. This method is more accurate than methods that compare the entire payload or methods that use sophisticated DNA sequencing algorithm, which are more error prone, as the payload may have multiple matches.
  • RTP headers or TS content – if the sources do not have RTP headers, Zixi will try to merge using the MPEG-TS content itself.

In these cases, when one of the streams is disrupted or interrupted completely, ZEC will seamlessly use the packets of the other input without any disruptions.

Note

If the streams are not identical, the failover process will not be seamless and may take up to a second.

A Failover Group can comprise two or more inputs. In a group of three or more, you can define one or more streams as a "Backup". In this case the system will always try to recover packets from "Primary" streams first and only if there are no available primary streams, it will use the backup streams. When one of the primary streams becomes available, the system will automatically jump to the primary stream.

While the Broadcaster GUI only enables configuration of primary streams at a single priority level, through the ZEC API it is possible to assign different priorities as follows:

  • Priority 0 – means backup. It will be used only if all other streams are unavailable.
  • Priority greater than 0 - means primary.

The Failover Group has its own Stream ID, just like an Input Stream, and will appear in the Inputs list. Although the topology above shows only one ZEC, it is also possible to have multiple targets (e.g. two or more ZECs), each with its own Failover Group of inputs to enable a more complete system-level redundancy.

To configure a Failover Group, follow the instructions in the ZEC Creating a Failover Group section.