stream-concern
A high-performance, low-latency engine for live streaming and recording — every frame and sample moving through a native, hardware-accelerated pipeline.
stream-concern is a live streaming and recording app for macOS, Windows and Linux. One engine, written in Rust, drives a native app on each platform: SwiftUI on the Mac, WinUI 3 on Windows, GTK 4 on Linux. Every frame and sample moves through a hardware-accelerated pipeline, from zero-copy capture to the platform's own encoders, with the user interface never in its way. Stream, record and cast at once and the machine stays with the game.
- Cross-platform. One engine and one feature set on all three desktops, not a port that trails on two of them.
- Native UI. Each app is built with its platform's own toolkit, so it looks, scrolls and takes shortcuts like the rest of your desktop, and opens in a moment.
- Performance. Hardware encoders, pre-allocated frame buffers and no work on the UI thread: low latency you do not have to configure.
Features, not plugins
Everything here ships in the app. In other streaming apps each one is a plugin to find, install and keep working after every update, or it does not exist at all.
- Automated scene switchingRotate through your scenes on a timer, in order or at random, come back to a main scene in between, or pop scenes up over it. Each scene's cameras and media start a moment early, so a switch never shows one warming up.Elsewhere: Advanced Scene Switcher.
- Multi-track audio mixerFaders in dB, solo, pan law, monitoring, sync offset, filters with broadcast-standard defaults and EBU R128 loudness, with every input routed to any of six recording tracks.Elsewhere: a loudness-meter plugin.
macOS
macOS screenshot not taken yetThe Mixer panel with the fixture's Desktop audio and Microphone strips and Master, and the EBU R128 loudness meter showing a reading on the program bus.Windows
Windows screenshot not taken yetThe Mixer panel with the fixture's Desktop audio and Microphone strips and Master, and the EBU R128 loudness meter showing a reading on the program bus.Linux
Linux screenshot not taken yetThe Mixer panel with the fixture's Desktop audio and Microphone strips and Master, and the EBU R128 loudness meter showing a reading on the program bus. - VST3, CLAP and Audio Unit pluginsScan the plugins already on your machine and put VST3 and Audio Unit plugins on a strip's chain; each one is checked in its own helper process, so a broken plugin cannot take the app down.Elsewhere: VST 2 only, or a bridge plugin.
macOS
macOS screenshot not taken yetA strip's filter and plugin chain open with one plugin effect inserted and enabled (on macOS an Audio Unit that ships with the system).Windows
Not in the Windows app yet: needs a VST3 plugin installed on the capture machineLinux
Not in the Linux app yet: needs a VST3 plugin installed on the capture machine - Hotkeys and MIDIChoose your own shortcuts, including global ones that work while a game is in front, and map MIDI pads and faders with Learn.Elsewhere: a MIDI plugin.
macOS
macOS screenshot not taken yetSettings ▸ Hotkeys with at least one keyboard binding row and one MIDI binding row (a pad or fader mapped with Learn).Windows
Windows screenshot not taken yetSettings ▸ Hotkeys with at least one keyboard binding row and one MIDI binding row (a pad or fader mapped with Learn).Linux
Linux screenshot not taken yetSettings ▸ Hotkeys with at least one keyboard binding row and one MIDI binding row (a pad or fader mapped with Learn). - Stream to multiple placesStream to as many services as you like and record at the same time, each output with its own settings; outputs with the same settings share one encoder. 78 services know their own limits.Elsewhere: a multi-output plugin.
macOS
macOS screenshot not taken yetThe Outputs column with two stream outputs (fake keys, idle), one recording and the Stream all control; nothing live, no stream key on screen.Windows
Windows screenshot not taken yetThe Outputs column with two stream outputs (fake keys, idle), one recording and the Stream all control; nothing live, no stream key on screen.Linux
Linux screenshot not taken yetThe Outputs column with two stream outputs (fake keys, idle), one recording and the Stream all control; nothing live, no stream key on screen. - RTMP ingest with UPnPReceive a feed from a phone, a second PC or another encoder straight into a scene. The built-in RTMP / RTMPS server opens its port through your router with UPnP and hands you the public URL and stream key to paste into the sender.Elsewhere: an external media server.
- News tickerA news-channel crawl: up to four scrolling lanes under a badge, a headline or a clock, with items read from a text file you can edit while you are live.Elsewhere: a browser widget or a ticker plugin.
macOS
macOS screenshot not taken yetA news crawl layer running across the canvas (badge and at least one scrolling lane) with its properties open in the inspector.Windows
Windows screenshot not taken yetA news crawl layer running across the canvas (badge and at least one scrolling lane) with its properties open in the inspector.Linux
Linux screenshot not taken yetA news crawl layer running across the canvas (badge and at least one scrolling lane) with its properties open in the inspector. - Alert simulatorFire test follows, subscriptions, donations and raids into your alert box without going live.Elsewhere: the alert service's own dashboard.
macOS
macOS screenshot not taken yetThe alert simulator open with a test alert fired, the alert showing on the canvas over the Chat overlay; nothing live.Windows
Windows screenshot not taken yetThe alert simulator open with a test alert fired, the alert showing on the canvas over the Chat overlay; nothing live.Linux
Linux screenshot not taken yetThe alert simulator open with a test alert fired, the alert showing on the canvas over the Chat overlay; nothing live. - Syphon / Spout / NDI / PipeWireMove video in and out of the app over the interchange your platform speaks, with no re-encode.Elsewhere: DistroAV, Spout and Syphon plugins.
- Stream Deck and OBS-compatible websocketThe app's own Stream Deck plugin, and an OBS-compatible websocket server (obs-websocket 5) so other controllers drive it too.Elsewhere: the maker's plugin.
macOS
macOS screenshot not taken yetSettings ▸ Remote control with the server on, its link and pairing code shown; no real token on screen.Windows
Windows screenshot not taken yetSettings ▸ Remote control with the server on, its link and pairing code shown; no real token on screen.Linux
Linux screenshot not taken yetSettings ▸ Remote control with the server on, its link and pairing code shown; no real token on screen. - MCP server for AI agentsLet an AI agent run the show through the Model Context Protocol: switch scenes, start outputs and read the app's state, with tool groups you choose and a confirmation before anything goes live.Elsewhere: nothing comparable.
macOS
macOS screenshot not taken yetSettings ▸ MCP with the MCP server on, its address and the tool groups shown; no token on screen.Windows
Windows screenshot not taken yetSettings ▸ MCP with the MCP server on, its address and the tool groups shown; no token on screen.Linux
Linux screenshot not taken yetSettings ▸ MCP with the MCP server on, its address and the tool groups shown; no token on screen.
Video
- Every kind of sourceScreens, regions and windows, cameras and capture cards, media files, images, text and a test pattern.
- Game captureCapture one game window on Windows or macOS with zero-copy textures (HDR on Windows), the game's own audio on its own strip, and a layer that relinks itself when the game restarts. No code is injected into the game.
- Linked layersShow one layer in several scenes and edit it once.
- Automated scene switchingno plugin neededRotate through your scenes on a timer, in order or at random, come back to a main scene in between, or pop scenes up over it. Each scene's cameras and media start a moment early, so a switch never shows one warming up.
- Studio modePrepare a scene in Preview while Program stays on air, then publish it with its transition; or let chosen scenes publish themselves.
- TransitionsCut, crossfade, fade through black, slide, push, wipe, zoom, or Appear/Disappear, which moves only the layers that differ; any scene can have its own.
- Replay bufferKeep the last seconds in memory and save them, or play them on stream, from a hotkey, a MIDI pad, a Stream Deck key or an OBS-compatible websocket controller.
- Virtual cameraSend your program to video-call and other apps as a camera: a camera extension on macOS, on Windows 11, and through v4l2loopback on Linux.
Audio
- Multi-track audio mixerno plugin neededFaders in dB, solo, pan law, monitoring, sync offset, filters with broadcast-standard defaults and EBU R128 loudness, with every input routed to any of six recording tracks.
- VST3, CLAP and Audio Unit pluginsno plugin neededScan the plugins already on your machine and put VST3 and Audio Unit plugins on a strip's chain; each one is checked in its own helper process, so a broken plugin cannot take the app down.
- RecordingMP4, MOV or MKV in H.264, HEVC or ProRes, with up to six audio tracks, split files and file names from a template; record the program, the portrait layout or one input alone.
- Hotkeys and MIDIno plugin neededChoose your own shortcuts, including global ones that work while a game is in front, and map MIDI pads and faders with Learn.
Streaming
- Stream to multiple placesno plugin neededStream to as many services as you like and record at the same time, each output with its own settings; outputs with the same settings share one encoder. 78 services know their own limits.
- Low-latency streaming & recordingA native, hardware-accelerated pipeline (NVENC / AMF / Quick Sync / VideoToolbox / VA-API) built to keep latency low and never drop frames.
- Dynamic bitrate and reconnectA stream follows what your upload can carry and comes back on its own after a dropped connection.
- RTMP ingest with UPnPno plugin neededReceive a feed from a phone, a second PC or another encoder straight into a scene. The built-in RTMP / RTMPS server opens its port through your router with UPnP and hands you the public URL and stream key to paste into the sender.
- Web overlaysChat, alerts and widgets as browser layers on macOS, Windows and Linux, with presets, page audio on the mixer, and recovery when a page crashes or loses its connection.
- News tickerno plugin neededA news-channel crawl: up to four scrolling lanes under a badge, a headline or a clock, with items read from a text file you can edit while you are live.
- Alert simulatorno plugin neededFire test follows, subscriptions, donations and raids into your alert box without going live.
Platforms & integrations
- Native on every platformA SwiftUI app on macOS, WinUI 3 on Windows and GTK 4 on Linux, all on one shared engine.
- Set-up wizardA first-launch wizard gets your canvas, microphone and first output ready.
- Syphon / Spout / NDI / PipeWireno plugin neededMove video in and out of the app over the interchange your platform speaks, with no re-encode.
- Stream Deck and OBS-compatible websocketno plugin neededThe app's own Stream Deck plugin, and an OBS-compatible websocket server (obs-websocket 5) so other controllers drive it too.
- MCP server for AI agentsno plugin neededLet an AI agent run the show through the Model Context Protocol: switch scenes, start outputs and read the app's state, with tool groups you choose and a confirmation before anything goes live.
- Portable collectionsExport your scenes and their images as one file and open them on another computer; keys and secrets are never included.
Sign up for the alpha and








