v1.0.0 · macOS · Windows · Linux

Every signal,
one canvas

Ingest NDI, DeckLink, Syphon, Spout, capture devices and screen captures, arrange them on a live canvas, and broadcast the result. Built in Rust on wgpu.

NDIDeckLinkSyphonSpoutScreen capture
PROGRAM
The Multiviewer canvas with several video sources arranged into a grid
Capabilities

Built for live, multi-source video

One application to bring every camera, feed and display together, laid out exactly how the show needs it.

Multi-protocol ingest

NDI, Blackmagic DeckLink, Syphon, Spout, webcams and screen capture, all as first-class sources on the same canvas.

GPU compositing

A wgpu pipeline does YUV to RGB on the GPU with minimal CPU to GPU copies, so the frame rate holds as the grid grows.

Interactive canvas

Drag, resize, snap and zoom sources directly. Zones, borders and labels make each feed identifiable at a glance.

Per-source control

Position, scale, flips, borders and labels are set individually and saved with the project.

Multi-protocol output

Send the composed view out over NDI, DeckLink, Syphon or Spout, or keep it as a clean canvas.

Native everywhere

Real desktop apps for macOS, Windows and Linux, with no browser or plugin in the pipeline.

Compositing

Arrange the show, not just the windows

The canvas is the composition. Place sources anywhere, overlap them, and keep fine control of how each one is rendered.

  • Snap to edges and to other sources
  • Per-source borders and labels
  • Zoom from an overview to a single feed
PGM
Sources arranged on the Multiviewer canvas
Sources and outputs

Mix protocols in a single project

A project can combine a DeckLink SDI input, an NDI camera and a browser on another machine, then output the result back onto the network.

  • NDI, DeckLink, Syphon and Spout
  • Webcams via AVFoundation, DirectShow and MediaFoundation
  • Display and window capture on macOS and Windows
INPUTS
Multiviewer sources and outputs panel

Download Multiviewer

Free to download for macOS, Windows and Linux. Source available on GitLab.