Release Notes - Multiview for NDI

2025.8.29.1

NDI Version updated to 6.2.1.

New Features

  • NDI library updated to NDI 6.2.1.

  • Added --disablewatchdogrebuild as a command line flag. This will disable Multiview's built-in reconnection logic if it does not receive any video frames from a source for more than 10 seconds.

  • Added KVM click actions to viewports. You can trigger HTTP GET requests, Discovery updates, and viewport assignments when a source is clicked via KVM.

  • Added a new Discovery tab to the Multiview for NDI web UI.

  • Added the following HTTP API routes.

    • /viewer/{viewer}/unfocus: Deselects the current focused viewport on a viewer.

    • /discovery : Return all known Discovery information for the Discovery Service Multiview is connected to.

    • /discovery/connection: Returns the IP address of the Discovery Service Multiview is connected to.

    • /discovery/receivers: Retrieves a list of receivers registered with Discovery Service.

    • /discovery/assign/{receiverUuid}/source/{sourceName}: Assigns a source to a given received via its receiver UUID.

    • /viewer/{viewer}/output/{output}/ptz/savepreset/{preset}: Requests the NDI receiver assigned to viewport at index {output} to save the current PTZ position as a preset.

    • /viewer/{viewer}/output/{output}/ptz/loadpreset/{preset}: Requests the NDI receiver assigned to viewport at index {output} to recall the PTZ position at preset {preset}.

  • Added expressions to captions for Discovery receiver monitoring.

    • $discovery.{receiverName}.audio-channels$

    • $discovery.{receiverName}.audio-codec$

    • $discovery.{receiverName}.audio-present$

    • $discovery.{receiverName}.audio-receive-mode$

    • $discovery.{receiverName}.audio-sample-rate$

    • $discovery.{receiverName}.connection-state$

    • $discovery.{receiverName}.source-name$

    • $discovery.{receiverName}.source-url$

    • $discovery.{receiverName}.video-codec$

    • $discovery.{receiverName}.video-color-primaries$

    • $discovery.{receiverName}.video-frame-rate$

    • $discovery.{receiverName}.video-frame-type$

    • $discovery.{receiverName}.video-has-alpha$

    • $discovery.{receiverName}.video-matrix-coefficients$

    • $discovery.{receiverName}.video-present$

    • $discovery.{receiverName}.video-receive-mode$

    • $discovery.{receiverName}.video-resolution$

    • $discovery.{receiverName}.video-transfer-function$

Behavor Changes

  • Multiview's web UI will now connect to the Full Bandwidth version of a source instead of the proxy feed by default.

Bug Fixes

  • Fixed a bug with blank captions that had no vertical padding and were empty (i.e. a height/width of 0) that would crash Multiview.

  • Fixed a bug where the web UI would get out of sync with the source watchdog status.

  • Fixed an issue where a black flicker would be present if reconnecting to a source.

  • Fixed issues with audio monitoring sometimes not working properly on a viewer.

Known Issues

  • Using KVM and PTZ together on the same viewer may cause loss of control over PTZ sources. We are investigating the root cause. We suggest not using KVM and PTZ on the same viewer (i.e. one viewer for camera control, another for KVM).

2025.8.5.1

New Features

  • NDI library updated to NDI 6.2.

  • Selectable PTZ lockout for sources on PGM - prevents accidental PTZ inputs if the selected viewport's source has a program tally active.

  • Added "immersive" and "explicit" KVM modes. In immersive mode, you can move the mouse between viewports without clicking them to activate. In explicit mode, you must click a viewport to select it before it can be controlled via KVM or PTZ.

  • Selecting a source in the source browser on the web UI defaults to full bandwidth mode.

  • Search for sources in the web UI.

  • Multiview for NDI receivers will appear in NDI Discovery if using a Discovery Service.

Bug Fixes

  • Fix a crash when reconnecting to a source where the watchdog timer times out (impacts 2025.7 releases running NDI 6.2).

  • At startup, when not running in portable mode, if the data directory did not exist (i.e. $HOME/.config did not exist), Multiview would use a relative path for data storage, which led to images not being able to be saved/loaded properly.

2025.6.20.1

New Features

  • Pass-through KVM - control multiple computers using Screen Capture/Screen Capture HX from one multiview instance.

  • NDI tally flags (PNG & border) per multiview and per viewport (breakaway mode).

2025.6.16.1

New Features

  • Audio meters can be added and be tied to a specific viewport on a multiview.

    • Bars can be auto-sized or set to a fixed width.

    • MV will display all channels it can within the space allocated to the audio meters.

    • Padding can be applied to the meters.

  • Captions can now contain multi-line content and wrap content properly.

  • Captions can have width/height applied.

  • Captions can have text alignment set (only impacts fixed-size captions).

Bugfixes

  • Interlaced sources did not draw properly. Multiview will now apply a simple bob filter (scandouble) on any interlaced sources.

2025.5.31.1

  • macOS build available

  • Linux & Windows x86-64:

    • Improved performance of alpha blending PNGs

    • Improved performance of linear filtering

    • Improved performance of nearest-neighbor scaling

  • Auto-complete for expressions on captions

  • Web editor now has copy-paste of viewports, captions, and images

    • Copy-paste provides "intelligent" renaming of element codes. For example, an image copied with code IMG1 will be pasted as IMG2. If IMG2 already exists, IMG3 will be used (or whatever the next logical image might be)

  • Web editor can attempt to scale viewports and captions if the multiview resolution is changed (e.g. from 1920x1080 to 3840x2160).

  • SignalR/Websockets replaced with Server-Sent Events (SSE)

  • Bug fixes:

    • Sources that do not match the same aspect ratio as the viewport now render with letterbox/pillarbox inside the viewport bounds

    • Loading PNGs has a safety fallback path if Multiview cannot allocate a contiguous memory block (fatal crash when loading some PNGs)

    • Web editor would render images at an incorrect scale/resolution

2025.4.29.1

  • Custom fonts for captions/UMD. Add TTFs to the Multiview executable directory and restart MV.

  • Custom text color for captions/UMD

  • Fixed a bug that Michael Lange found - possible crash when Multiview re-initializes all viewers with captions

  • Set frame rate per multiview output - default to 60

  • Set resolution per multiview output - default to 1920x1080

  • Linux ARM64 support

  • Alpha decode & display of alpha channel if the source is sending alpha

  • Linear filtering for scaling sources implemented, hidden behind a command line flag, use –blitmode=linearlut to use linear filtering. (Much slower than nearest neighbor)

  • PNG images with alpha - can be uploaded & displayed on the canvas now

  • Hide & show images via HTTP API calls

Last updated