Skip to content
bddickenPublic

About

No description, website, or topics provided.

Resources

Stars

58 stars

Watchers

0 watching

Forks

Latest commit

 

History

102 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Parallax

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.

Parallax: scenes, a screen + camera layout, the inspector, audio mixer, and chat

Features

  • 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.

How it works

 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.

Status

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

Quick start

Build and open the app:

client/scripts/build-app.sh debug --open

Run the tests:

client/scripts/test.sh

Requires macOS 15+ and either Xcode or the Command Line Tools (the scripts handle the CLT-only quirks, see client/scripts/env.sh).

Streaming setup

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.

  1. Install the tools it uses for video: brew install mediamtx ffmpeg.
  2. 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:
  3. 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.

About

No description, website, or topics provided.

Resources

Stars

58 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages