Description
Elderberry – Meeting Script with Audio/Video via getUserMedia (Node.js • React • mediasoup)
Elderberry is a production-ready real-time meeting script that uses the browser’s getUserMedia
API with a mediasoup SFU, a Node.js signaling/server layer, and a modern React front end. Launch secure, low-latency audio/video rooms, screen sharing, and chat on your own infrastructure—ideal for SaaS founders, remote teams, classrooms, telehealth, and community platforms. Distributed by wpshop.net under the GPL license with lifetime free updates and limited email support.
🚀 Feature Highlights
- 🎥 WebRTC A/V with getUserMedia – Native browser capture for camera, mic, and screenshare.
- 🛰️ mediasoup SFU – Scalable selective forwarding for multi-party calls with adaptive simulcast/SVC.
- ⚡ Low Latency Signaling – Node.js + WebSocket signaling for fast join/leave, mute, and device changes.
- 🖥️ Screen Sharing + Window Pickers – Present tabs, windows, or full screen with optional audio.
- 🔊 Noise Controls – Input gain, echo cancellation, auto-gain, and noise suppression toggles.
- 💬 In-Room Chat & Reactions – Text chat, emoji reactions, raise hand, and basic moderation.
- 🔐 Security & Roles – Room locks, host pins, waiting rooms, and per-role media permissions.
- 📱 Responsive React UI – Grid/speaker views, device pickers, dark mode, and PWA support.
- 📊 Metrics & Logging – WebRTC stats, server health endpoints, and room/session logs.
- 🌍 TURN/ICE Ready – Works with your STUN/TURN for NAT traversal and global reliability.
- ♻️ Lifetime Free Updates – Ongoing improvements from wpshop.net under GPL.
📖 Detailed Overview
Elderberry pairs a React client with a Node.js/TypeScript backend and mediasoup to deliver reliable, multi-party conferencing. Clients obtain media streams via navigator.mediaDevices.getUserMedia()
and getDisplayMedia()
, negotiate transport, and publish to the SFU; peers subscribe to optimal layers (simulcast/SVC) based on their bandwidth and viewport, keeping CPU/network usage efficient as rooms scale.
Admins can configure ICE servers (STUN/TURN), bitrate caps, codec preferences (Opus, VP8/VP9/AV1* where available, H.264), and room policies. The UI offers speaker/grid views, device pickers, moderation (mute others, remove participant, lock room), and chat with reactions. Hooks are provided to connect your auth (JWT/OAuth), billing, or room reservations.
📊 Elderberry vs Generic WebRTC Starters
Capability | Elderberry | Generic Starters |
---|---|---|
SFU with simulcast/SVC | ✅ mediasoup with adaptive layers | ❌ Often mesh or no layering |
Production Signaling | ✅ Node.js WS + room state | ❌ Minimal demo signaling |
Security & Roles | ✅ Host pins, locks, waiting room | ❌ Rare or DIY |
Screen Share + Controls | ✅ Built-in with audio and toggles | ⚠️ Basic or missing |
Observability | ✅ WebRTC stats + server metrics | ❌ Little to none |
Theming & PWA | ✅ Responsive React, dark mode, PWA | ❌ Unstyled demos |
License & Updates | ✅ GPL + lifetime updates | ❌ Proprietary or no updates |
⚙️ Installation Guide
- Requirements – Ubuntu/Debian server (or Docker), Node.js 18+, npm/pnpm, and (recommended) a TURN server (coturn). Open TCP 80/443 and the mediasoup UDP/TCP ranges you configure.
- Download the Elderberry package from wpshop.net and unzip it.
- Server Setup
cp .env.example .env # set APP_URL, JWT_SECRET, STUN/TURN, mediasoup ports/codecs/bitrate npm install npm run build
- Run Backend
npm run start # or: pm2 start dist/server.js --name elderberry
- Configure Reverse Proxy (HTTPS) – Point Nginx/Traefik to the Node server; enable HTTP/2 and WebSocket upgrade headers; install TLS certs (Let’s Encrypt).
- Client (React)
cd client cp .env.example .env # set VITE_API_URL / WS URL npm install npm run build # outputs /dist for static hosting
Serve the built client via your CDN or the Node server’s static handler.
- TURN/ICE – Provision coturn and add credentials to both
.env
files. Test connectivity from constrained networks. - Auth & Rooms – Enable JWT or plug in OAuth; configure room policies: max participants, lock on start, host required, recording hook*.
- Test – Join with 3–10 peers, toggle simulcast, screenshare, mute/unmute, and verify stats; scale test with multiple regions if using clusters.
- Go Live – Run under PM2/systemd, enable log rotation, set up backups and monitoring (Prometheus/Grafana or similar).
📜 Licensing Information
Elderberry is distributed by wpshop.net under the GPL (General Public License). Your purchase includes:
- ✅ Lifetime Free Updates – Performance, compatibility, and feature updates at no extra cost.
- ✅ Limited Email Support – Help with installation and basic configuration.
- ✅ Open, Auditable Source – Customize signaling, UI, or SFU policies freely.
❓ FAQs
Q1: How many participants can a room support?
With mediasoup SFU and simulcast, dozens of participants are typical on a single node; real capacity depends on codecs, bitrates, and server size.
Q2: Does it work behind strict NATs?
Yes—configure STUN/TURN (coturn). TURN relaying ensures connectivity where direct P2P paths fail.
Q3: Which codecs are supported?
Opus for audio; VP8/VP9/H.264 for video (AV1 where supported). You can set codec priority in the server config.
Q4: Can I integrate my authentication system?
Yes. Elderberry exposes hooks/JWT middleware so you can plug in your user service or OAuth provider.
Q5: Is recording available?
Server-side recording can be enabled via mediasoup pipeline hooks or external recorders; sample integration points are included.
Q6: Do I need a separate signaling server?
No. The included Node.js service handles signaling; you can scale horizontally behind a load balancer.
🌟 Why Choose Elderberry?
Elderberry gives you full control over video infrastructure—no per-minute vendor fees, no lock-in. With a modern React UI, a hardened Node.js signaling layer, and a high-performance mediasoup SFU, you ship crisp, scalable meetings that you can brand, extend, and host anywhere—backed by GPL freedom and lifetime updates.
⚡ Launch Your Own Meeting Platform Today!
Own your stack, cut costs, and deliver premium real-time experiences. Download Elderberry now and deploy a secure, scalable audio/video platform in hours—not weeks.
Reviews
There are no reviews yet.