Elderberry – Meeting Script with Audio and Video via getUserMedia – Node.js, React, Mediasoup
🎥 Elderberry – Meeting Script with Audio & Video via getUserMedia (Node.js, React, Mediasoup)
Keywords: WebRTC meeting script, Mediasoup SFU, Node.js video conferencing, React real-time app, screen sharing, self-hosted Zoom alternative, GPL distribution. Sources: :contentReference[oaicite:0]{index=0}
🚀 Genel Bakış
Mürver, prodüksiyona hazır, kendi kendine barındırılan, gerçek zamanlı bir toplantı senaryosudur.
Node.js (sinyalizasyon/arka uç), React (ön uç) ve Mediasoup (SFU medya sunucusu)
Yerel getUserMedia API'sini kullanarak doğrudan tarayıcıdan düşük gecikmeli ses, video ve ekran paylaşımı. Tasarlanmıştır
Üçüncü taraflara güvenmek yerine toplantı yığınlarının sahibi olmak isteyen ekipler, sınıflar, topluluk platformları ve SaaS kurucuları için
hizmetler. :contentReference[oaicite:1]{index=1}
Kullanıcılar tek sayfalık bir React arayüzü üzerinden odalar oluşturabilir veya odalara katılabilir, mikrofonu/kamerayı etkinleştirebilir, ekranlarını paylaşabilir ve sohbet edebilir. Çünkü o
Mediasoup'un SFU modelini kullanır; çok taraflı çağrılar için saf eşler arası WebRTC'den daha ölçeklenebilirdir. :contentReference[oaicite:2]{index=2}
✨ Temel Özellikler
- 📡 Gerçek zamanlı A/V toplantıları – navigator.mediaDevices.getUserMedia() aracılığıyla tarayıcıda ses ve video yakalayın ve odaya aktarın. :contentReference[oaicite:3]{index=3}
- 🖥️ Ekran paylaşımı – demolar, dersler veya uzaktan destek için ekranınızı veya sekmenizi paylaşın. :contentReference[oaicite:4]{index=4}
- 🧠 Mediasoup SFU – ağ WebRTC'den daha bant genişliği açısından daha verimli, çok taraflı aramalar için merkezi medya sunucusu. :contentReference[oaicite:5]{index=5}
- ⚛️ React ön uç – modern SPA kullanıcı arayüzü, oda listesi, katılımcı döşemeleri, sessize alma/sesi açma, kamerayı açma/kapatma. :contentReference[oaicite:6]{index=6}
- 💬 Oda içi sohbet – sesli/görüntülü oturumların yanı sıra yazılı sohbet.
- 🔐 Oda kontrolü – toplantı sahibi/moderatör rolü oturumu kabul edebilir, sessize alabilir veya sonlandırabilir (versiyona bağlı olarak). :contentReference[oaicite:7]{index=7}
- 🌍 Kendi kendine barındırılan / şirket içi – medyanın kontrolünüz altında kalması için kendi VPS'nizde veya bulutunuzda çalıştırın.
- 📱 Duyarlı kullanıcı arayüzü – WebRTC'yi destekleyen masaüstü ve modern mobil tarayıcılarda çalışır.
- 🧪 Geliştirici dostu – kod, kolay genişletme için istemci (React) ve sunucu (Node.js + Mediasoup) olarak bölünmüştür. :contentReference[oaicite:8]{index=8}
⚙️ Teknik Yığın
- Arka uç: Node.js (sinyalleşme için Express/WebSocket) + Mediasoup v3 SFU. :contentReference[oaicite:9]{index=9}
- Ön uç: React SPA (Axios/WebSocket istemcisi, kanca tabanlı bileşenler). :contentReference[oaicite:10]{index=10}
- RTC: getUserMedia, RTCPeerConnection ve Mediasoup aktarımlarını kullanan WebRTC.
- Çalışma zamanı gereksinimleri: Node.js 16+ (veya belgelerde belirtilen sürüm), npm/yarn, WebRTC üretimi için SSL/HTTPS. :contentReference[oaicite:11]{index=11}
- Sunucu: Linux VPS veya Docker tabanlı dağıtım; mediasoup için genel IP gereklidir; STUN/TURN önerilir. :contentReference[oaicite:12]{index=12}
E-E-A-T (Uzmanlık): Bu, Mediasoup resmi örneklerinde (yönlendirici → taşıma → üretici/tüketici) ve sinyalleşme için ortak React+Node ortak metinlerinde gösterilen mimarinin aynısını izler. :contentReference[oaicite:13]{index=13}
🧩 Kurulum Kılavuzu
- 📦 Mürver paketini (istemci + sunucu) indirin / klonlayın. :contentReference[oaicite:14]{index=14}
- 🧪 Arka ucu yükleyin: /server'a gidin → npm install komutunu çalıştırın → .env dosyasını yapılandırın (bağlantı noktaları, genel IP, mediasoup ayarları, varsa TURN).
- ⚛️ Ön ucu yükleyin: /client'e gidin → npm install / thread komutunu çalıştırın → API/WS URL'sini sunucunuza ayarlayın.
- 🛰️ Sunucuyu çalıştır: üretim için npm run start veya pm2 start.
- 🖥️ Build React: npm build'i çalıştırır ve statik yapıyı sunar (Nginx, Vite önizleme veya Node static).
- 🔐 HTTPS'yi etkinleştirin: Birçok tarayıcı ekran paylaşımı için güvenli içerik gerektirdiğinden SSL'yi yapılandırın (örn. Let's Encrypt).
- ✅ Test: iki farklı tarayıcı/cihaz açın, aynı odaya katılın, ses/video/ekran paylaşımını doğrulayın.
İpucu: Üretim için, Nginx ters proxy arkasında Node.js sunucusunu çalıştırın ve VPS boyutunuza göre Mediasoup çalışanı numWorkers ve rtpUdpPortRange'ı ayarlayın.
📦 Teslimatlar
- 🗂️ Tam Elderberry kaynak kodu (Node.js sunucusu + React istemcisi) :contentReference[oaicite:15]{index=15}
- 🧱 Mediasoup yapılandırma dosyaları (yönlendiriciler, aktarımlar)
- 📝 Kurulum / belgeler (v1.0.4 ve v2.1.0 belgeleri) :contentReference[oaicite:16]{index=16}
- 🎨 Toplantı odaları, katılımcılar ve kontroller için kullanıcı arayüzü bileşenleri
- 📄 GPL/kaynak listeleri için bu E-E-A-T HTML açıklaması
📱 Desteklenen Platformlar
- 🖥️ WebRTC + getUserMedia'ya sahip masaüstü tarayıcılar (en yeni Chrome, Edge, Firefox, Safari) – tüm özellikler. :contentReference[oaicite:17]{index=17}
- 📱 Mobil tarayıcılar (Android Chrome / iOS Safari) – A/V çalışır, ekran paylaşımı tarayıcı desteğine bağlıdır.
- ☁️ Mediasoup için UDP/TCP bağlantı noktalarını açığa çıkarabilecek herhangi bir VPS/bulut (DigitalOcean, Hetzner, AWS, GCP).
🧠 Notlar
Lisans: Bu açıklamada GPL tarzı bir yeniden dağıtım varsayılmaktadır (bazı komut dosyası arşivlerinde görüldüğü gibi). Ticari dağıtımlar veya resmi güncellemeler/destek almak için orijinal CodeCanyon/Honeyside listesinden satın alın. :contentReference[oaicite:18]{index=18}
Kişiselleştirme fikirleri: JWT tabanlı oda kimlik doğrulaması ekleyin, akışları sunucu tarafında kaydedin, "ücretli odalar" için Stripe/faturalandırmayı entegre edin veya mevcut SaaS kontrol panellerine yerleştirin.
SEO ipucu: geliştirici trafiğini yakalamak için "kendi kendine barındırılan video toplantısı", "Node.js WebRTC komut dosyası" ve "Mediasoup React başlatıcı" için açılış sayfaları oluşturun.
👨💻 Orijinal Geliştirici Kredisi
Mürver ilk olarak Honeyside tarafından geliştirilip bakımı yapılıyor ve CodeCanyon'da satılıyor. Lütfen yazar kredisini koruyun ve yeniden dağıtırken veya çatallarken orijinal öğeye geri dönün. :contentReference[oaicite:19]{index=19}
Orijinal pazar yeri listesi
🔒 Sorumluluk reddi beyanı
Bu, GPL/kaynak sitelerine yönelik üçüncü taraf, E-E-A-T uyumlu bir açıklamadır. Resmi satış sayfası değildir ve
gelecekteki güncellemeleri veya desteği garanti etmez. Bazı özellikler (kayıt, TURN sunucuları, ölçeklendirme çalışanları) ekstra kurulum gerektirir veya
ücretli altyapı Kritik görev kullanımı için (tele-sağlık, eğitim, kurumsal toplantılar) resmi belgeleri satın alın ve takip edin. :contentReference[oaicite:20]{index=20}
Değerlendirmeler
Henüz değerlendirme yapılmadı.