Project · Witnessing

Streamwall

Many livestreams, one mosaic — every feed credited, every source clear. See an event from every angle at once.

When one camera isn't enough — breaking news, demonstrations, community monitoring — Streamwall lets you watch many live sources side by side, with the context kept intact.

It composes multiple livestreams into a single configurable grid, with per-source attribution and independent audio control on every tile. The point isn't to flatten many voices into one broadcast; it's to keep them all visible — compare angles, follow developments across feeds, and always know where each stream came from.

How it works

A specialized browser for video

Under the hood, Streamwall is a specialized web browser built on Electron. It loads each source as a tile, finds the <video> element on the page, and reformats the page so the video fills its frame.

That approach means it works across a huge range of sites without per-site scrapers — if a page plays video in a browser, Streamwall can usually tile it. A ground-up TypeScript v2 is in progress.

Electron TypeScript Node.js
Capabilities

What it does

  • Composes many livestreams into one configurable mosaic grid
  • Per-source attribution — always know where each feed came from
  • Independent audio control on every tile
  • Works across most sites with no custom scrapers (finds the page's video)
  • Remote control via a built-in control server (web / WebSocket)
  • Configurable via a simple TOML file for long-running installations
  • Integrates with Streamdelay for broadcast-delay redaction
  • Free, open source, and cross-platform (Windows, macOS, Linux)
Part of the stack

The engine behind WOKE Network

Streamwall curates and composes the live sources; Streamdelay can add a broadcast delay to redact sensitive content; Anchor is the viewer site at woke.net. Together they're our open witnessing stack.

See WOKE Network →

Free and open source.

Every line is public, auditable, and forkable. Run it, improve it, or build on it.