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 asIMG2
. IfIMG2
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