A macOS livestreaming studio in one app. It replaces an OBS + StreamYard + Loopback/Audio Hijack setup: capture, scenes, audio mixing, local recording, multistreaming, and unified chat.
- Scenes and layouts: cameras, displays, windows, images, and chat overlays. Drag, resize, snap, crop, round corners, and add shadows. Switch scenes with ⌘1–9 using a cut or fade.
- Audio mixer: any mic or interface plus system audio, with per-input gain, sync delay, high-pass, noise gate, 10-band EQ, and a master limiter.
- Music: a built-in player for your own songs, such as ones you download from Suno in a Suno window inside Parallax. It has shuffle, per-song volume, loudness matching, and music that ducks while you talk. Songs are audio only and never show on screen.
- Local recording: H.264/HEVC up to 4K, crash-safe, independent of the stream.
- Multistreaming: upload one stream, and the server relays it to each platform (Twitch and YouTube today).
- Unified chat: read platform chat and reply from the app.
Mac (Parallax app) Server (parallax-server)
┌──────────────────────────────┐ 1 upload ┌────────────────────────────┐ ┌─ Twitch
│ capture → compose → encode │ ───────────▶ │ ingest → relay (no re-enc) │ ───────▶ ├─ YouTube
│ local recording (full qual.) │ SRT │ │ └─ …
│ scenes, mixer, chat │ ◀─────────── │ platform sign-in + chat │ ◀── platform chat APIs
└──────────────────────────────┘ REST + WS └────────────────────────────┘
The Mac composes and encodes the program once and sends it to the server over SRT. The server (MediaMTX + ffmpeg) relays it to every platform without re-encoding, so home upload bandwidth doesn't scale with the number of destinations. It also holds platform sign-ins and brings chat back to the app. Recording happens locally at full quality, so upload trouble never affects it.
More in Architecture and the client↔server protocol.
| What | Status | |
|---|---|---|
client/ |
macOS app (Swift, SwiftUI, AVFoundation, ScreenCaptureKit, Core Image/Metal) | Capture, scenes, mixer, recording, Go Live, chat |
server/ |
Relay (Rust, MediaMTX, ffmpeg) | Twitch, YouTube; more platforms next |
Build and open the app:
client/scripts/build-app.sh debug --openRun the tests:
client/scripts/test.shRequires macOS 15+ and either Xcode or the Command Line Tools (the scripts handle the CLT-only quirks, see client/scripts/env.sh).
Parallax runs parallax-server for you on your Mac while the app is open (Settings › Server › This Mac, the default). build-app.sh bundles it if Rust is installed.
- Install the tools it uses for video:
brew install mediamtx ffmpeg. - Set up each platform you want to stream to. Each guide walks through the one-time account and app registration steps, then where to enter the IDs in Settings › Server:
- In Settings › Server, connect your accounts.
To run the server on another machine instead (e.g. one with more upload bandwidth), see server setup and pick Another machine in Settings › Server.
