A lightweight OTT Streaming Platform.
This project is a lightweight OTT (Over-the-Top) streaming platform that enables individual users to:
- 🔐 Sign up and create a personal streaming channel
- 📡 Go live directly from their browser using WebRTC (via MediaMTX)
- 👀 Allow viewers to watch the stream in real-time through a browser after submitting their:
- First Name
- Last Name
- 📈 Access viewer statistics (available to the channel owner)
- 📝 See a real-time transcript of the ongoing stream
- Backend: Node.js
- Frontend: React
- Database: PostgreSQL
- Media Server: MediaMTX (formerly rtsp-simple-server)
- Account creation and login for streamers
- Real-time browser-based streaming via WebRTC
- Viewer access via form-based submission
- Viewer analytics and session logs
- Live transcription of ongoing streams
root/
├── backend/
│ └── src/
├── frontend/
│ └── src/
├── docker-compose.yml
├── mediaMTX/
│ └── mediamtx.exe
└── README.md
install MediaMTX for your OS.
Run mediaMTX -> mediamtx.exe
to start the media server.
From the root folder:
docker-compose up -d
This will start:
- Node.js backend server
- PostgreSQL database
cd frontendjm
npm install
npm run dev
Open your browser and visit: http://localhost:5173
The platform uses integrated transcription services to capture and display real-time subtitles during the live stream, accessible to the streamer within their dashboard.