Skip to content

ScopeCreep-zip/SpiritStream

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SpiritStream

Multi-destination streaming application that allows you to stream to multiple platforms simultaneously at different bitrates.

Features

  • Stream to YouTube, Twitch, Kick, Facebook, and custom RTMP servers
  • Multiple output groups with independent encoding settings
  • Hardware encoder support (NVENC, QuickSync, AMF, VideoToolbox)
  • Profile management with encrypted stream keys
  • Real-time stream statistics
  • Cross-platform: macOS, Windows, Linux

Documentation

Comprehensive technical documentation is available in the docs/ directory.

Quick Links

Document Description
Getting Started Installation and first run guide
System Overview Architecture and component diagrams
FFmpeg Integration Relay architecture and process management
State Management Zustand stores and data flow
Services Layer Rust backend services
Glossary Technical terms and definitions

Reading Paths

Quick Start

One-Command Setup

Run the setup script to install all prerequisites automatically:

macOS / Linux:

git clone https://github.com/ScopeCreep-zip/SpiritStream.git
cd spiritstream
./setup.sh

Windows (PowerShell):

git clone https://github.com/ScopeCreep-zip/SpiritStream.git
cd spiritstream
.\setup.ps1

The setup script installs: Rust, FFmpeg, platform build tools, and npm dependencies.

After setup completes, restart your terminal and run:

npm run dev    # Development mode
npm run build  # Production build

Download Pre-built Binaries

Download the latest release from Releases:

Platform File
macOS SpiritStream_x.x.x_aarch64.dmg
Windows SpiritStream_x.x.x_x64-setup.exe
Linux SpiritStream_x.x.x_amd64.AppImage or .deb

Note: FFmpeg must be installed separately:

  • macOS: brew install ffmpeg
  • Windows: winget install ffmpeg
  • Linux: sudo apt install ffmpeg

Manual Build from Source

Prerequisites

Requirement Installation
Node.js 18+ nodejs.org
Rust 1.70+ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
FFmpeg See above
Platform tools Tauri Prerequisites

Build Steps

git clone https://github.com/ScopeCreep-zip/SpiritStream.git
cd spiritstream
npm install
npm run build

Build output: src-tauri/target/release/bundle/

Usage

  1. Create a Profile: Set up your incoming RTMP URL and configure output groups
  2. Add Stream Targets: Add your streaming platforms with server URLs and stream keys
  3. Configure Encoding: Choose video encoder, resolution, bitrate, and audio settings
  4. Start Streaming: Click "Start Stream" to begin broadcasting to all targets

Development

npm run dev          # Start development server with hot reload
npm run build        # Production build
npm run build:debug  # Debug build with symbols
npm run typecheck    # Check TypeScript types
npm run check        # Check Rust code

License

ISC License - See LICENSE for details.

About

Tauri 2 app utilizing ffmpeg to encode in different bitrates to multiple services

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •