Skip to content

Application written in Rust that livestreams your screen on the web

Notifications You must be signed in to change notification settings

SaqAsh/RetroStream

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RetroStream - Real-Time Screen Streaming

A high-performance screen streaming application with a retro cyberpunk aesthetic, built with Rust backend and TypeScript frontend.

RetroStream Screenshot

How to Use

  1. Start the backend

    nix-shell
    cargo run
  2. Start the frontend

    nix-shell --run "cd frontend && bun install && bun run dev"
  3. Open in browser

    • Go to http://localhost:3000
    • Your screen will be streamed live
    • Share the URL with others to let them view your screen

Development

Prerequisites

  • Nix package manager (handles all dependencies automatically)
  • Modern web browser

Backend Development

nix-shell
cargo run                    # Run once
cargo watch -x run          # Auto-reload on changes
cargo build --release       # Optimized build

Frontend Development

nix-shell
cd frontend
bun install                  # Install dependencies
bun run dev                  # Development server

Tech Stack

  • Backend: Rust, Tokio, Axum, WebSockets, xcap screen capture
  • Frontend: TypeScript, Vite, Canvas API, WebSockets

TODO!

  • Turn project into rust (wasm compatible) library for users to embed in their own apps.
  • Move Self-Hosting docker files to the examples/ folder.
  • Upload Package using workflow to npm registry.
  • Offload capture frame logic to gpu using wgpu.
  • Fix threads not exiting on shutdown.

About

Application written in Rust that livestreams your screen on the web

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors