Skip to content

01saurabhshukla/Streamora

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WebRTC SFU with Mediasoup

A real-time multi-party video conferencing application built with Node.js, Mediasoup, and Vanilla JS.

Features

  • Multi-party Support: SFU architecture allows many participants in a single room.
  • RTP Capabilities: Automatic negotiation of codecs (VP8/Opus).
  • Simulcast: (Partial support in config) for adapting to bandwidth.
  • Responsive UI: Clean grid layout for video tiles.

Architecture

  • Backend: Node.js + Express + Socket.IO + Mediasoup (C++ Worker).
  • Frontend: Vanilla JS (bundled with Vite).

Prerequisites

  • Node.js v16+
  • Python 3 (for compiling Mediasoup worker)
  • gcc/g++ (build tools)

Installation

  1. Clone the repository
  2. Install Dependencies
    npm install
  3. Generate SSL Certificates (Required for WebRTC)
    mkdir certs
    openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout certs/key.pem -out certs/cert.pem
    Note: Defaults are configured in server/config.js

Running the App

Run both server and client:

npm run dev

Deployment Guide

VPS (Ubuntu)

  1. Install Node.js, Python3, Build Essentials.
  2. Clone repo.
  3. Update server/config.js:
    • Set domain to your domain/IP.
    • Set mediasoup.webRtcTransport.listenIps[0].announcedIp to your Public IP.
  4. Run npm install.
  5. Run npm run server (or use PM2).
  6. Build frontend: npm run build -> Serve dist/ folder via Nginx or Express.

Firewall

Open UDP ports defined in server/config.js (10000-10100).

Documentation

See code comments in server/server.js and client/client.js for detailed flow.

About

Streamora is a remote podcast and video recording platform for creators. It offers high-quality local recordings, separate audio/video tracks, and seamless collaboration, enabling professional content creation from anywhere with crystal-clear results, every time.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors