Zixi Product Updates
Release Notes: Zixi Broadcaster Version 17
33 min
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 v 17 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 v 17 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 v 17 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 v 17 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 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 v 17 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 v 17 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 agentz is now included in the broadcaster installer v 17 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 v 17 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 optimized cpu for push input flows 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 v 17 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 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 system requirements linux/macos docid 9co9oiek1of1mmgvstgnb 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 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 $ service zixibc stop $ cd zixi broadcaster graviton2 $ cp /zixi broadcaster neoverse n1/ xml $ cp /zixi broadcaster neoverse n1/broadcaster lic $ /installme sh or $ 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