---
title: Release Notes: Zixi Broadcaster Version 17
slug: release-notes-zixi-broadcaster-version-17
docTags: 
createdAt: 2025-07-10T14:30:30.847Z
---

## v17. 9.45910 (28 Jan 2025)

### Improvements

- Added ability to bind to local port on SRT Push output and SRT Pull
- Added scte\_hex parameter to add\_stream\_scte.json API endpoint to allow hex payload

## v17.8.45822 (2 Dec 2024)

### Improvements

- Improved accuracy of SRT jitter metric
- Added support for non-MPEG-TS large packets over DTLS, such as ATSC 3.0
- Added support for J420I color space in transcoding
- Added support for non-AWS S3 compatible object storage

## v17.7.45729 (15 Oct 2024)

### Improvements

- Exposed new "local port" parameter in advanced mode on Pull input and Push output. Allows control over source port so that specific ports can be opened on the firewall.
- Allow 'seamless switching' of inputs that are connected to Pull outputs

## v17.6.45597 (21 Oct 2024)

### Improvements

- Added support for user defined 'encoding width' which may be different than resolution width and will modify the aspect ratio in the video elementary stream. Supported for H264 (NVIDIA, x264) and HEVC (NVIDIA).
- Added new UI option for MPTS multiplexer called "Drop inactive streams". When enabled (checked) the multiplexer will drop an input from the PAT table when it has been quiet for 5 seconds. When disabled (not checked) quiet inputs will not be dropped. Default is to be disabled (not checked).
- Added retry mechanism when SCTE reporting to HTTP endpoint is unsuccessful
- Added support\_scte configuration in streams.json API endpoint to indicate that SCTE-35 injection is enabled on an input
- Updated transcoder behavior such that when "pass all PIDs" is selected it will protect against too frequent SDT and only allow SDT every 500ms

## v17.5.45533 (17 July 2024)

### Improvements

- Added SCTE-35 injection via API on RIST sources
- Improved SMPTE-2022-7 stream matching for failover on identical streams with corruption or long inactivity
- Added support for High Performance Networking with DPDK on Oracle Cloud Infrastructure (OCI) with Mellanox NICs&#x20;
- Allow updating direction of ports on the fly when using High Performance Networking with DPDK
- Added support for switching source on output according to the PTS of the NEW source in redirect\_client.json API endpoint
- Added local UTC time to streams.json API endpoint results, alongside UTC time of last frame with PTS, and of last SEI timecode in analyzer
- Reduced frequent log messages of push outputs from error to debug
- Added SCTE-35 track in DASH MPD even if stream is not segmented on SCTE-35 messages

## v17.4.45467 (14 June 2024)

### Improvements

- Updated analyzer to work on streams with multiple transport stream IDs. The active transport stream ID is displayed under PAT in analyzer PID tree in Broadcaster UI.
- Added 'transport stream ID' field to MPTS demux input in Broadcaster UI. Not required and can be left blank.
- Renamed "Support MultiAudio" option in Broadcaster UI adaptive group to "Send distinct audio/video elementary streams"
- Added 'PCR interval' for Padding mode (under Remux) on UDP output in Broadcaster UI
- Added user\_data field to streams.json API endpoint return value for PID map and failover\_group inputs
- Added ability to manually change between inputs in a failover group using 'lock' feature in ZEN Master UI without creating CC errors
- Added CBR padding option to error concealment in Broadcaster UI
- Added support for HTML overlay with 4:2:2 sources during software transcoding; NVIDIA does not support 4:2:2
- Added Registration, CueIdentifier SCTE descriptors for SCTE injection
- Added new "Drop inactive streams" checkbox option in Broadcaster UI on MPTS input streams

## v17.3.45386 (6 May 2024)

### Improvements

- Improved performance of software transcoding on Intel & AWS Graviton 2/3 CPUs
- Added support for transcoding from 4:2:2 chroma, which NVIDIA does not support, to 4:2:0 chroma, which NVIDIA does support. The decode uses CPU while the encode uses NVIDIA GPU for optimal performance.
- Added Broadcaster ID to the add\_stream.json API response to enable verifying the API call was made to the intended Broadcaster instance
- Added “Registration Descriptor” and “Cue Identifier Descriptor” to SCTE-35 injection&#x20;
- AgentZ is now included in the Broadcaster installer

## v17.2.45345 (2 April 2024)

### Improvements

- Added ability to switch sources on Zixi Push outputs when provided PTS was detected on the specified source video PID, API only feature
- Split “Toggle recording" under the Marked menu in the UI into two separate actions: 1. Start recording and 2. Stop recording.
- Added new global setting to allow "Minimize Latency" to be default on automatic Zixi Push inputs
- Added more informative error when libSRT cannot open a socket
- Added ability to control audio gain in the transcoding audio profile, valid for all audio codecs
- Added support for Closed Caption extraction from MPGV video sources. Captions are re-encoded into H.264 and HEVC output streams, but are not re-encoded into MPGV streams.
- Added WallClockTime parameter to SCTE-35 reporting

## v17.1.45293 (Feb 2024)

### Improvements

- Added support for parsing of SCTE-35 messages with time\_signal command, splice command type 6
- Added parsing of SCTE-35 type 6 and converting to splice\_insert command for adaptive streaming
- TR101 analyzer now exposes PIDs not associated to any program (excluding MPEG-TS tables)
- TR101 dialog now shows audio levels for Opus audio codec when CQA is enabled
- Allow clean-up of automatic push inputs and clearing of automatic push inputs in error state
- Disabled 'user' login by default for improved security
- Upgraded libSRT library to 1.5.3&#x20;
- Optimized CPU for Push input flows&#x20;
- Improved the error concealment of bad frames to have less
- Added output of hostid info used for licensing to syslog
- Updated DASH timing information to include number of PCR wraparounds since 1.1.1970
- Added support for PLANED\_DURATION in DATARANGE tag in HLS
- Updated traceroute timeout to be configurable and automatically refresh results when ready with ETA timer, removed manual 'refresh' button from traceroute
- Improved bonding by avoiding sending data packets over congested networks
- Optimized tc qdisc queue limit on all Linux OSes
- Updated Inter-packet gaps on RTP input to use RTP timestamps instead of arrival times when dejittering is on, to reflect the real IAT
- Add 'dist\_overflows' statistics to sources, to indicate internal buffer overflows on the outputs of the source due to performance

## v17.0.45227 (9 Jan 2024)

### High Performance Networking

Throughput of the Zixi Broadcaster has been improved by about 3X for UDP based streams – Zixi, RIST, RTP/UDP – by using the Data Plane Development Kit (DPDK) to bypass the operating system for network interface card (NIC) management. Of course, it is recommended to use the Zixi protocol whenever possible for the best reliability and error recovery.

When using DPDK, one NIC in the machine will be dedicated to UDP-based video traffic and is managed completely by the Broadcaster. As a result, on modern hardware you can expect a Gigabit per second or more per vCPU and you will no longer have UDP port bandwidth limitations of 500Mbps or so per port. On a machine with many CPUs, the NIC itself and not the operating system will likely be the bottleneck. 10Gbps NICs or greater are recommended.

Because one NIC is completely dedicated to video traffic in and out, the machine must have a second NIC for typical operating system functions and to access the Broadcaster’s web UI. DPDK requires certain Linux kernel versions, certain network cards and driver versions, and certain BIOS versions. Zixi will provide AMIs for AWS upon request by sharing the AMI to the customer’s account. Reach out to your Zixi representative to make the request.

On AWS, the Broadcaster’s High Performance Networking is supported on machines with either X86 64-bit or Graviton 2/3 ARM 64-bit processors and an Elastic Network Adapter (ENA). For more information on ENA, see [https://docs.aws.amazon.com/whitepapers/latest/real-time- communication-on-aws/use-enhanced-networking-ec2-instance-types.html](https://docs.aws.amazon.com/whitepapers/latest/real-time-communication-on-aws/use-enhanced-networking-ec2-instance-types.html).

On non-AWS machines, X86 64-bit will be supported, but ARM 64-bit may or may not be supported. The specific ARM system will need to be evaluated first to determine compatibility. For images on other cloud vendors or to use DPDK on bare metal servers please reach out to your Zixi representative for further assistance.

Support for Broadcasters using High Performance Networking in ZEN Master will be addressed in future ZEN Master releases, but initially ZEN Master will not support launching and managing these Broadcasters.

### Live Preroll/Midroll Switching

The Zixi Broadcaster now allows you to switch from a live stream input to the beginning of a file input and then back to the live stream input when the file reaches its end. This feature makes it possible to insert an advertisement or a fixed length slate or blackout directly into the live stream output. During the playout from the file, the live stream input is not sent to the output. This feature will be available via API only for integration into stream switching or live event management solutions such as the Live Events page in ZEN Master.

### Timeline Normalization

The timeline normalization feature repairs timelines (PCR, PTS, DTS) in the transport stream. Timeline errors could have been introduced by upstream encoding and processing or by ingesting other protocols into the Broadcaster, such as HLS, that may not have clean timelines. Some IRDs are very sensitive to timeline issues and this feature may improve stream ingest by those IRDs. Timeline normalization is available under the “Fix” option on the menu on each input. Using the Fix option, a new input stream will be created with the appropriate processing while the original input is left untouched.

### Frame Error Concealment

The frame error concealment feature will replace video frames containing errors with skip frames while keeping the audio in sync. This feature may be helpful when there is unrecoverable packet loss on input streams that corrupts some video frames. It currently works with the video with the following parameters:

- Codec: H.264
- Chroma sub sampling: 4:2:0 , 4:2:2, or 4:4:4
- Chroma/luma bit depth: 8-bit or 10-bit
- Scan: progressive or interlaced

Some video players, such as VLC, have their own techniques for masking errors so comparing the original stream and the error concealed stream in VLC may not show an improvement. However, downstream devices that do not have their own techniques for masking errors may benefit from this feature. Frame error concealment is available under the “Fix” option on the menu for inputs. Using the Fix option, a new input stream will be created with the appropriate processing while the original input is left untouched.

### HTML Overlays

The Zixi Broadcaster can now render and overlay HTML web pages on top of a transcoded video stream. This feature can be used for adding scoreboards, lower thirds, scrolling tickers, and other dynamic graphics to live video streams. Currently this feature is only available on AWS EC2 instances with an X86 64-bit processor and an NVIDIA GPU. Zixi will provide AMIs for AWS upon request by sharing the AMI to the customer’s account. Reach out to your Zixi representative to make the request. On these AMIs the Zixi Broadcaster cannot be upgraded via the Broadcaster UI so Zixi will make AMIs available for each release and/or provide instructions for upgrading the Broadcaster via command line.

### macOS Support

The Zixi Broadcaster and ZEC are now available for Intel and Apple silicon (M1/M2/M3) based Mac computers. The Broadcaster is officially supported on macOS releases currently supported by Apple, but it should work on macOS 10 and later. In this release, transcoding is not supported on Mac, which also means NDI and webRTC will not be available as they use transcoding.

### Operating System Update

V17 of the Zixi Broadcaster should work on operating system versions previously used on V16 Broadcasters. However, Zixi strongly recommends upgrading from RHEL 7.x and 8.x equivalent operating systems, such as CentOS or Oracle, to RHEL 9.3 equivalent operating systems, such as Alma 9.3 or Rocky 9.3, as 7.x and 8.x have been or will be end-of-life soon. On AWS, Zixi recommends upgrading from Amazon Linux 2 to Amazon Linux 2023. See the V17  for more details.

### ZEN Master Update

Due to some infrastructure changes, ZEN Master will not, by default, be able to launch V17.0 Broadcasters on AWS/GCP/Azure until the February 20, 2024 ZEN Master release. Until then you can have ZEN Master launch a V16.11 Broadcaster and then upgrade to V17.0 in the Broadcaster UI or you can make a request to your Zixi representative to have your account in ZEN Master updated to be able to launch V17.0 Broadcasters.

### Licensing Update

The V17 Broadcaster has two additional licensing servers that it needs to communicate with. If you have previously needed to whitelist licensing servers in your firewall, please add the following IPs to your whitelist:

- 3.140.62.221
- 3.137.16.26

### Protocol Updates

Listed below are improvements and bug fixes to the various protocols supported by the Zixi Broadcaster.

- Zixi
  -
- Add traffic shaping option to limit the momentary bitrate spikesRIST
  - Add traffic shaping option to limit the momentary bitrate spikes
  - Fixed issue with multiple RIST Main profile Pull inputs allowed to use the same remote\_ip/remote\_port
- UDP/RTP
  - Fixed inability to select checkbox "keep RTP headers" on RTP inputs
  - Fixed rare case of packet drop in RTP stream, when one of the streams in a failover group is not RTP, but others are RTP.
- HLS
  - Fixed issue with HLS playlists having EXTINF values set to 0 instead of the segment duration
- DASH
  - Fixed issue with upload of DASH .mpd playlist
  - Fixed issue with chunking for DASH due to bad PTS
  - Fixed recording on DASH with only video
  - Fixed segment duration sizes not showing correct in Manifest files
  - Fixed webVTT subtitles file path for DASH with flat path
  - Fixed segment path in DASH with flat path
- SRT
  - Updated SRT library to v1.5.2
  - Fixed issue with multiple SRT clients allowed to use the same port

### Transcoding Updates

The V17 Broadcaster now requires NVIDIA CUDA 12 and related driver versions; the v535.129.03 driver or later is supported. The V16 Broadcaster used CUDA 11. If you upgrade from a V16 Broadcaster to V17, the Broadcaster will not recognize the NVIDIA card until the NVIDIA drivers are updated as well. Reach out to your Zixi representative for guidance on updating the drivers if you need help.

Other changes are listed below:

- Updated x264 library to build 164 for software based H.264 transcoding

### Performance/Memory Improvements

Improvements to the performance of Zixi Broadcaster are listed below.

- Reduced memory utilization for Zixi inputs and outputs
- Reduced memory utilization for RTP inputs and outputs
- Reduced memory utilization for adaptive streaming
- Updated minimum CPU requirements on Intel builds to be 'westmere' architecture or newer (SSE 4.2 instructions)

### Additional Improvements

- Added search filter for displaying NIC statistics on the Settings page in the UI. Fields that have a value of 0 are not displayed.
- Added warning when different stream content is detected in failover group in failover merge mode
- Added a setting that allows a failover group to remain on the Secondary stream even when the Preferred stream returns
- Eliminated unnecessary CC errors in TR-101 analysis when the input stream has TS discontinuities
- Added stream name in logs for TR-101 logging
- Added support for seamless input switching on HEVC and MPGV streams; H.264 streams were previously supported.
- Added updating the SDT table when mapping or removing a program
- Improved inputs and outputs ports configuration on Settings General page in the UI
- Removed possibility of ports settings issues that could be caused by incorrect API call
- Added the "All" option for NICs for bonded outputs. Needed for feature parity for ZEC with the end-of-life Zixi Feeder.
- Updated OpenSSL library used for DTLS and HTTPS to v3.1.1
- Added bitrate and buffer size in TR-101 stream analysis for HEVC stream
- •Updated ARM Broadcaster install directories to be more descriptive of the actual compiler optimizations for the build – “graviton2” is now “neoverse-n1” and “raspberry” is now “arm64”
- Added detection of more processor models on the Status page, instead of showing "Not Specified"
- Increased maximum supported bitrate for adaptive HLS streaming to \~70mbps&#x20;
- Added "Remote" to host/port/stream parameters label on pull and SRT input types, to avoid confusion between local and remote Stream IDs

### API Updates

- Added new parameter called “priority\_switch\_mask” in failover group API that allows a failover group to remain on the Secondary stream even when the Preferred stream returns.
- Added "tsid" param to the PID mapping API. This parameter will tell the PID mapper which "transport\_stream\_id" it needs to lock on. This will prevent the PID mapper from restarting when there are several PAT packets with different "transport\_stream\_id" if not provided or if set to -1, the PID mapper will use the first "transport\_stream\_id" it detects.
- Added "switch to file" API for server side ad insertion
- Added support for journalctl API to download log messages instead of /var/log which does not exist on Amazon Linux 2023
- Live preroll/midroll switching described above

### Downgrading from V17 to V16

To have installation folder names that represent the compiler optimization for ARM builds instead of brand names, the old folder name “zixi\_broadcaster-graviton2” is now “zixi\_broadcaster-neoverse-n1” and “zixi\_broadcaster-raspberry” is now “zixi\_broadcaster- arm64”.

When you upgrade a Broadcaster from V16 to v17 using the web UI, the new directory will be created and the necessary config files will be copied over to the new directory. The previous directory is not removed. Also, the zixibc service which runs the Broadcaster as a service will be updated to point to the v17 Broadcaster in the new folder.

If you need downgrade back to V16, the original directory will be used again and the zixibc service needs to be updated to point to the v16 Broadcaster in this directory. Also, if you made any changes to the Broadcaster configuration while using v17, the configuration files need to be copied over to the v16 Broadcaster directory. If you made any license changes to the Broadcaster configuration while using v17, the license file needs to be copied over to the v16 Broadcaster directory. The following steps will downgrade your installation from the v17 Broadcaster to the original v16 Broadcaster:

```bash
$ service zixibc stop
$ cd zixi_broadcaster-graviton2
$ cp ../zixi_broadcaster-neoverse-n1/*.xml .
$ cp ../zixi_broadcaster-neoverse-n1/broadcaster.lic .
$ ./installMe.sh
```

or

```bash
$ service zixibc stop
$ cd zixi_broadcaster-raspberry
$ cp ../zixi_broadcaster-arm64/*.xml .
$ cp ../zixi_broadcaster-arm64/broadcaster.lic .
$ ./installMe.sh
```

This change only affects Linux ARM builds of the Broadcaster when updating from V16 to V17; X86 builds are not affected. However, X86 installation names were updated between V15 and V16. If you need to downgrade from V17 to V15 a process similar to that shown above would be used, but with different folder names.

