Short answers with pointers into the full docs. See the documentation index for everything.
A GStreamer media pipeline engine with a visual, web-based GUI. It builds, runs, and manages real-time media pipelines; the node-based editor is the interface for designing and controlling them. See the root README.
Strom is standalone, but Open Live (with Open Live Studio) uses Strom as a media backend over its REST/WebSocket APIs. See OPEN_LIVE_SETUP.md.
Both. The same egui frontend compiles to native and to WASM; the backend can run the native GUI or serve the web UI. See DEVELOPMENT.md.
The one-liner installer or Docker. See the root README Quick Start.
See DOCKER.md for the full reference, or OPEN_LIVE_SETUP.md for a guided, opinionated setup.
No, but it's highly preferred for production. Without one, video encoding falls back to software (x264 etc.), which works for small flows but doesn't scale. See DOCKER_GPU_SETUP.md.
Yes — ready-to-run host setup scripts live in
scripts/setup/, each with its own README:
nvidia/ (driver + container toolkit),
decklink/ (Blackmagic SDI/HDMI),
ndi/ (NewTek NDI SDK + plugin), and
ntp/ (chrony for clock sync). They are also bundled
inside the Docker images at /app/scripts/setup/, so you don't have to clone the repo —
see OPEN_LIVE_SETUP.md for how to extract them.
Strom is unauthenticated by default. Set a session login and an API key before exposing it to any untrusted network. See AUTHENTICATION.md.
Yes — PostgreSQL is supported for production. See POSTGRESQL.md.
Built-in TLS (STROM_TLS_CERT / STROM_TLS_KEY) with hot-reload, or terminate TLS at a
reverse proxy. See the root README HTTPS/TLS section.
Use the Vision Mixer block — broadcast-style preview/program switching with transitions, DSK, fade-to-black, PiP, and multiview. See VISION_MIXER_OPERATOR_GUIDE.md.
The Compositor is Strom's first-generation video compositor (WIP, known limitations). The Vision Mixer is the more developed switcher and the recommended path — it's what Open Live uses. See VISION_MIXER_OPERATOR_GUIDE.md (the old compositor's writeup is in archive/COMPOSITOR_EDITOR.md).
Yes, via CEF in the strom-full image. See HTML_RENDER.md.
H.264/H.265/AV1/VP9 with automatic hardware acceleration (NVENC, QSV, VA-API, AMF, software fallback). The Video Encoder block picks the best available encoder; its properties in the in-app inspector are the authoritative list.
Strom speaks the Model Context Protocol over HTTP (/api/mcp) and stdio. See MCP.md.
Align them with PTP/NTP clocks and normalize_segment. See
STREAM_SYNCHRONIZATION.md.
This was a known issue, now resolved: keep each whipserversrc in its own pipeline and set
drop-on-latency=true on live RTP inputs. Background in
archive/WHIP_ICE_DISCONNECT_INVESTIGATION.md.
Handled in our strom-full image via a mallinfo LD_PRELOAD shim. If you hit it on your own
gstcefsrc build, see archive/CEF_SIGILL_CRASH.md.
See DEBUGGING_SEGFAULTS_WSL2.md (applies beyond WSL2).
See DEVELOPMENT.md, then CONTRIBUTING.md.