cd subcaster-server
npm installErstelle eine .env Datei:
cp .env.example .envFülle mindestens diese Werte aus:
PORT=3002
# Dein AzuraCast/Icecast Server
STREAM_SERVER=dein-server.com
STREAM_PORT=8000
AZURACAST_DJ_PASSWORD=dein-passwort
AZURACAST_MOUNT=/live
# Deine Musikbibliothek
VITE_OPENSUBSONIC_URL=https://deine-musik.com
OPENSUBSONIC_USERNAME=user
OPENSUBSONIC_PASSWORD=passwordnpm run devÖffne http://localhost:3002
- Musik laden von deiner Bibliothek
- Play/Pause/Seek
- Volume-Kontrolle
- Läuft serverseitig weiter (auch ohne Browser)
- Mehrere Nutzer können gleichzeitig sprechen
- Jeder kann sein Mikrofon mute/unmute
- Teilnehmerliste in Echtzeit
- Hörst die Decks im Browser
- KEIN Mikrofon-Feedback (hörst dich selbst nicht)
- Niedrige Latenz
- Automatisches Streaming zu Icecast
- Enthält Decks + alle Mikrofone
- Auto-Reconnect bei Verbindungsabbruch
- Browser öffnen:
http://localhost:3002 - DJ Control anfordern: Button klicken
- Tracks laden: Aus Bibliothek auf Decks ziehen
- Abspielen: Play-Button drücken
- Mikrofon aktivieren: Mikrofon-Button klicken
- Browser öffnen:
http://localhost:3002 - Mikrofon aktivieren: Mikrofon-Button klicken
- In Stream sprechen: Los gehts!
- Mute wenn nötig: Mute-Button
Hörer können über AzuraCast/Icecast den Stream empfangen:
http://dein-server.com:8000/live
# Server-Komponenten in server/
server/AudioEngine.js
server/AudioMixer.js
server/MicrophoneServer.js
server/CommandServer.js
server/AudioStreamServer.js
server/AzuraCastOutput.js# Browser-Komponenten in src/
src/serverClient.ts
src/microphoneClient.ts
src/main.tsnpm run devAlle Komponenten loggen ausführlich:
- 🎵 AudioEngine
- 🎤 MicrophoneServer
- 🎛️ AudioMixer
- 🔌 CommandServer
- 🔊 AudioStreamServer
- 📡 AzuraCastOutput
# Port bereits belegt?
lsof -i :3002
kill -9 <PID># .env Werte prüfen
cat .env | grep STREAM
# Server-Logs checken
# Suche nach "AzuraCast" in der Konsole# Browser-Konsole öffnen (F12)
# Mikrofon-Berechtigung erteilen
# WebSocket Connection prüfen# Samplerate in .env anpassen
VITE_STREAM_SAMPLE_RATE=48000- SERVER_README.md - Vollständige API-Dokumentation
- SERVER_IMPLEMENTATION.md - Implementierungs-Details
- README.md - Allgemeine Projekt-Dokumentation
Bei Fragen oder Problemen:
- Logs checken
- Browser Console checken
- Dokumentation lesen
- GitHub Issues erstellen
Happy Streaming! 🚀🎵