For the complete documentation index, see llms.txt. This page is also available as Markdown.

Release Notes - Multiview for NDI

2026.8.29.2

NDI Version: 6.3.2

New Features

  • Persistent NDI sources: sources remain connected and decoding even when no viewports are subscribed. Useful for using Multiview as a rudimentary switcher

  • Source picker for viewports, audio meters, and audio monitoring has been rebuilt.

  • New expression variables. Expressions can now access viewport-friendly names and the machine portion of canonical NDI source names:

    • $viewer.name$

    • $viewer0.name$

    • $viewer0.viewport5.name$

    • $viewer0.viewport5.source.machinename$

    • $viewer0.audiometer.<code>.source.machinename$

    • $associated.name$

    • $associated.source.machinename$

  • Live Preview displays a prominent warning when a viewport source is projected full-screen

  • (Chrome/Edge only) Web UI in Live Preview mode supports copy-paste into KVM-enabled sources (from browser to source only)

2026.8.19.1

NDI Version: 6.3.2

New Features

  • KVM Click Actions can be enabled and disabled

  • New KVM Click Actions

    • Focus viewport

    • Unfocus viewport

    • Load PTZ preset

    • Save PTZ preset

  • Standalone Live Preview pages per multiview

  • PTZ controls on dedicated viewer pages

  • (Untested) container/reverse-proxy aware mode

Bug Fixes

  • Fixed some issues with live preview becoming laggy over time

2026.8.18.4

NDI Version: 6.3.2

New Features

  • SSL/TLS support, with self-signed and external certificate support

  • First-run setup wizard

  • User accounts, role-based access control, and API keys

    • Viewer, Operator, and Admin are the new roles

  • Configurable data directory (include an absolute path in portable.txt in the Multiview directory), Windows and Linux only

  • Configuration export and import

  • Active audio monitoring tally flag - see which viewport is being monitored by the multiview output

  • KVM click actions for captions and images

  • Web live preview volume can be increased to 250%

  • Web live preview encoder settings now persisted

  • Default settings for captions, tally flags, audio meters are now persisted with a multiview

  • Expressions can now refer to the current multiview via the $viewer.*$ alias - for example, $viewer.viewport1.source$ returns the source assigned to the 2nd viewport (viewport with index 1) on the current multiview.

Bug Fixes

  • Scrolling via KVM in Live Preview mode was not passing the mousewheel to the multiview instance

  • Viewports locked out of KVM still received mouse move events

  • Hardened some NDI receiver lifecycle events

  • Mismatches in aspect ratio between viewer and source caused pointer offset issues in KVM mode

2026.8.5.1

NDI Version: 6.3.2

New Features

  • Watchdog timers for no frames received can be set to disabled, warn-only, or warn-with-restart. After N seconds without frames, Multiview can tear down the receiver and restart it. Useful for IGMP issue debugging.

  • Watchdog timeouts per source can be reset.

  • Set a new blitter, hybridc, as the default/fastest.

  • New expressions for captions:

    • $associated.timecode$: Displays the NDI timecode of the source assigned to a viewport that is grouped with this caption.

    • $associated.timestamp$: Displays the NDI timestamp of the source assigned to a viewport that is grouped with this caption.

    • $viewerX.viewportY.timecode$ and $viewerX.viewportY.timestamp$ equivalents available.

  • Audio meters can now be set to monitor their grouped viewport.

  • Disable rendering if WebRTC is off, NDI output is off, and no other multiviews are subscribed to a multiview output.

  • New preview, program, and tally flag images shipped in the box.

  • Watchdog can now show a "tally" on a viewport.

  • New dedicated "Receivers" tab.

  • API documentation now appears in an iframe on the configuration page.

  • Export of layout templates.

  • Import of layout templates.

Bug Fixes

  • Fix: Double-keystoke and double-click when a single keystroke/click is sent via KVM.

  • Fix: Multiviews not actively outputting NDI will still run a render loop that subscribes to a proper cadence based on the selected frame rate.

  • Fix: presets with blank or omitted sources sometimes failed to clear existing viewport assignments.

  • Behavior fix: operation/API requests are now processed in order.

  • Various fixes to improve stability.

Behavior Changes

  • Viewer templates now carry resolution and frame rate information.

  • Command line flag --disablewatchdogrebuild does nothing now.

2026.7.21

NDI Version: 6.3.2

New features

  • Added direct Multiview sources, allowing one local multiview to be displayed inside another without a round-trip to/from NDI.

  • Added right-click context menus throughout the web editor.

  • Added rectangles with conditional fill, visibility, and opacity rules.

  • Added configurable borders for captions.

  • Added $associated.*$ expressions for elements linked to viewports or audio meters.

  • Added volatile expression variables for high-frequency updates.

  • Added per-viewer controls for advertising KVM and PTZ support over NDI.

  • Added a dimmed full-scale display mode for audio meters.

  • Editor and template improvements

  • Improved copy-and-paste support in the layout editor.

  • Improved multi-element selection, grouping, duplication, resizing, and layer ordering.

  • Improved visual previews for layout templates.

  • Target-resolution support for templates and improved layout scaling.

  • Save the current multiview as a template.

  • Template package import and export.

  • Improved editor organization, styling, and usability.

Bug Fixes

  • Fixed the editor preview not redrawing correctly when switching between Layouts and Main.

  • Persistent user variables are now retained across restarts.

  • Fixed several minor web-editor styling and interaction issues.

2026.7.8

NDI Version: 6.3.2

New Features

  • macOS release (Apple Silicon only)

  • macOS NDI|HX encode support using Apple Video Toolbox (H.264 and H.265 hardware encode support)

  • New launcher for macOS and Windows

  • Audio meters can either display in gradient or solid colors

  • Selection of audio channels to pass through when monitoring an audio source on a multiview output

  • Selection of audio channels to pass through when monitoring a multiview in the web browser

  • Preview and program borders stack when active

Bug Fixes

  • Audio meter autosizing now enforces equal width meter bars

  • Various web editor bug fixes and changes of layout

2026.7.3.1

NDI Version: 6.3.2.

New Features

  • WebRTC/in-browser live preview, KVM, and PTZ control.

  • Custom user variables for UMD expressions.

  • New Windows launcher for Multiview for NDI.

    • Starts and supervises the Multiview engine.

    • Provides quick access to the web UI.

    • Includes a console/log viewer and tray behavior.

  • Major web editor update.

    • Added layout template editing directly in the web UI.

    • Added drag-and-drop reordering for layout items.

    • Added click-through editing for overlapping items.

    • Added group select, copy, paste, snap-to-grid, align, bump, and shave tools.

    • Added RGBA color editing.

    • Added visual tally flag editing.

    • Added friendly names for multiview outputs.

    • Added explicit linking of viewports to other layout elements.

  • Added layout template management.

    • Layout templates can now be created, updated, and deleted through the UI/API.

    • Template changes are persisted and become available for future layout changes.

    • Reserved template codes such as __blank__ and FAILSAFE are protected.

  • Added conditional caption styles.

    • Captions can now change text, expression, fill color, stroke color, visibility, or opacity based on expression/tally conditions.

    • Conditions are evaluated in order; the first matching rule is applied.

  • Added more flexible visual layout elements.

    • Viewports, captions, images, and audio meters now support z-index ordering.

    • Layout elements can be hidden or shown.

    • Layout elements support opacity/translucency.

    • Viewports support source cropping.

    • Captions support improved width/height and auto-size behavior.

    • Audio meters have improved styling and can track a source or viewport.

  • Added improved NDI tally support.

    • Tally state is now available for viewport expressions.

    • The API/UI can expose preview/program tally state for sources and outputs.

    • Optional tally behavior is available when a source is already present on a multiview.

  • Added NDI configuration editor in the web UI.

    • Local adapters, discovery/network settings, groups, transport, multicast, and codec-related settings can be reviewed and saved from the UI.

  • Added browser preview support using WebRTC.

    • Web previews can receive video/audio from a selected viewer.

    • Browser input/control events can be sent back to the viewer for preview/control workflows.

  • Added additional NDI|HX encoder support.

    • AMD AMF support.

    • Intel QSV support.

    • macOS NDI|HX support using Apple VideoToolbox.

    • Improved out-of-process encoder handling for HX outputs.

    • Added support for more than one frame between keyframes and improved keyframe-request monitoring.

  • Added new and expanded HTTP API routes.

    • /layouts

    • /layouts/{code}

    • /viewer/{viewer}/layout/content

    • /viewer/{viewer}/audiomonitor

    • /ndi/configuration

    • /externalio/...

    • /webrtc/preview/...

    • /heartbeat

    • Swagger/OpenAPI documentation has been expanded.

Behavior Changes

  • Multiview now uses the hybrid blitter/scaler path by default when the fastest renderer is selected.

  • Audio monitoring now uses GET/POST /viewer/{viewer}/audiomonitor.

    • Supported modes are None, Source, and Viewport.

    • Viewport mode follows the source assigned to the selected viewport.

    • Audio monitoring is passthrough-only in this release.

  • Viewer/output indexes are now handled more consistently as zero-based API/editor references.

  • Multiview slots are resolved from saved viewer files and can have gaps between indexes.

  • NDI|HX sender work has moved further out-of-process for better isolation.

Performance Improvements

  • Improved rendering performance with hybrid scaling/blitting paths.

  • Added cached hybrid rendering mode.

  • Added SIMD-related alpha blit options.

  • Improved source rendering fast paths for common resolutions.

  • Reduced unnecessary caption re-rendering.

  • Improved alpha blending and alpha-aware rendering paths.

  • Added NDI 6.3 sender/receiver advertiser support.

Bug Fixes

  • Fixed startup crashes and receiver-disposal lock contention.

  • Fixed source assignment lag in the web UI.

  • Fixed NDI output status not always updating.

  • Fixed full-width sources rendering at the wrong position.

  • Fixed corruption when resizing an output using an HX sender.

  • Fixed issues with sources that share the same name.

  • Fixed alpha preview and source-alpha rendering issues.

  • Fixed FPS changes leaving stale background content.

  • Fixed editor mouse-up behavior that could immediately deselect items.

  • Fixed linked viewport copy/paste behavior.

  • Improved audio monitor state persistence and recovery.

Deprecated Features

  • Legacy audio monitor listen routes are replaced by /viewer/{viewer}/audiomonitor.

Removed Features

  • Removed unused/older graphics paths as part of the renderer/editor cleanup.

2025.11.4.2

New Features

  • Official MacOS release.

  • Source finding is improved. The source list will now update when sources go offline or come online - zombie sources should now disappear.

  • Bilinear filtering (pgpt) blitter and scaler selected by default instead of nearest neighbor.

  • Frame timing details added to the Performance tab of the web UI to help troubleshoot source timing issues.

  • NDI|HX Output support.

    • Windows: NVIDIA NVENC for hardware accelerated h.264 and h.265, along with OpenH264 for software-based h.264.

    • Linux: OpenH264 for software-based h.264.

    • MacOS: Unavailable for now.

  • Performance boosts for alpha blending on MacOS/Linux ARM.

  • Improvements to frame blitting across multiple multiview outputs to reduce latency.

Bug Fixes

  • Bilinear filtering supports interlaced sources.

  • Sources with a number sign/hashtag (#) character were not being set properly from the web browser controller. (Direct API calls were not impacted)

Temporarily Removed Features

  • Discovery endpoints removed. This is due to a bug where rapidly creating and destroying NDI receivers can crash Multiview. Discovery to be re-added at a later date.

Deprecated Features

  • None at this time

Removed Features

  • Removed older, inefficient scaling and blit methods.

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