🪟 Mosaic

The Mosaic page provides a live, at-a-glance grid of stream previews so you can monitor multiple feeds at once. Previews are low-FPS JPEG snapshots, optimized for quick scanning rather than full playback.
Double-clicking on any stream preview opens a dedicated playback window with full framerate video for that stream.

Mosaic

Open Mosaic

  • Navigate to Mosaic from the left sidebar.
  • Only streams marked as active appear in the grid.

Mosaic pages (tabs)

Mosaic is organized into pages (tabs) so you can group streams by mission, team, or geography.

  • Add - creates a new Mosaic page.
  • Edit - rename the current page and reassign streams using the Available/Assigned lists.
  • Remove - deletes the current page (disabled when only one page exists).

To add streams to the mosaic page, use the transfer list in the edit dialog:
Mosaic

Mosaic pages, assignments, and ordering are stored in your browser's local storage. They are not shared with other users or devices.

Organize streams

  • Reorder within a page: drag a stream card and drop it onto another stream card to reposition it.
  • Move between pages: drag a stream card and drop it onto a different tab.
  • Open a stream: double-click a card to jump to the Player view for that stream.
  • Select a card: click once to highlight; click outside to clear the selection.

Preview behavior

  • Previews refresh automatically.
  • Refresh cadence is adaptive: faster when fewer than 10 streams are shown, slower for larger mosaics.
  • No preview means the server has not produced a snapshot yet.
  • Timeout indicates the stream is waiting for data.

Configuration parameters

Mosaic previews are configured in Server Configuration -> Preview. These values control how the backend captures preview frames for the Mosaic grid (and other preview consumers).

Mosaic

Setting Field Default Description
Preview workers previewWorkers 6 Number of parallel preview capture workers. Increase for more concurrent streams, higher values use more CPU.
Preview framerate previewFramerate 1 Target frames per second for preview snapshots. Higher values update more often but increase load.
Preview width previewWidth 320 Output width of preview images in pixels.
Preview height previewHeight 180 Output height of preview images in pixels.
Capture timeout (ms) previewCaptureTimeoutMs 12000 Maximum time allowed for one preview capture attempt before it is treated as a miss and retried later.
Warm-up grace (ms) previewTargetWarmupGraceMs 15000 Grace period after creating a preview target where misses are tolerated while the stream starts producing frames.
Backoff min (ms) previewBackoffMinMs 1000 Initial delay before retrying after a capture miss. Retry delay increases exponentially on consecutive misses.
Backoff max (ms) previewBackoffMaxMs 30000 Upper limit for retry delay between capture attempts after misses. Must be greater than or equal to Backoff min.

Notes:

  • Values must be zero or positive. Setting a value to 0 uses the built-in default.
  • For best results, keep width/height close to a 16:9 ratio to match the Mosaic card aspect ratio.
  • Changes apply at runtime; the next snapshot cycle will use the new settings.
  • Actual preview cadence depends on CPU load, stream profile/encoding complexity, the number of active streams, and worker availability. Setting a framerate is a target, not a guarantee.

Windows

On Windows, the backend uses external frame-extraction helper processes for preview capture.

  • The backend creates and keeps a helper child process per preview worker.
  • Those worker processes are used to extract preview JPEG frames from stream samples for Mosaic updates.