10. Streaming & Player
Wie du deinen Stream-Server anbindest, Now-Playing-Daten holst, welche Server-Typen unterstĂĽtzt sind und wie der Player auf deiner Seite funktioniert.
Was ist ein Stream-Server?
Dein Webradio braucht zwei Dinge:
- RadioCMS (das CMS) - die Webseite mit Sendeplan, News, Hörer-Konten
- Stream-Server - der eigentliche Audio-Verteiler, der dein Mikrofon-Signal an Hörer schickt
Beide laufen normalerweise auf getrennten Servern. RadioCMS holt sich die Audio-URL und Now-Playing-Daten vom Stream-Server, eingebettet im Player-Widget.
UnterstĂĽtzte Stream-Server
| Server | Anbindung | Now-Playing-Quelle |
|---|---|---|
| Icecast2 | Standard, weit verbreitet | /status.xsl oder /status-json.xsl |
| SHOUTcast v1 | Klassiker, kleinere Sender | /7.html |
| SHOUTcast v2 | Aktuell, mehrere Streams | /statistics?sid=N oder /stats?sid=N |
| AzuraCast | Komplett-Lösung mit Web-UI | /api/nowplaying |
| DGNCast | Eigene Lösung, DACH-Markt | /api/status |
Stream-URL eintragen
Unter Einstellungen → Stream:
- Stream-URL: die Direkt-URL zu deinem Audio-Stream, ohne Endpfad. Beispiel:
https://stream.dein-radio.de:8000für Icecast2,http://stream.dein-radio.de:8000/streamfür SHOUTcast. - Stream-Server-Typ aus der Liste wählen
- Stream-Format: MP3, AAC, Opus
- Bitrate: 128, 192, 320 kbit/s (fĂĽr Anzeige im Player)
- Mehrere Qualitäten: optional zusätzliche Streams für niedrige Bandbreite
Die Now-Playing-URL wird normalerweise automatisch aus Server-Typ und Stream-URL abgeleitet. Wenn deine Server-Konfiguration abweicht, kannst du sie manuell ĂĽberschreiben.
Now-Playing-Daten
Das, was gerade läuft, holt RadioCMS aus deinem Stream-Server. Die Daten enthalten:
- Aktueller Song-Titel und KĂĽnstler
- Album-Titel (falls vom Server geliefert)
- Cover-Bild (falls vom Server geliefert oder via API geholt)
- Aktuelle Hörer-Zahl
- Stream-Status (online / offline)
Die Daten werden alle 10-30 Sekunden aktualisiert (einstellbar unter Einstellungen → Stream → Update-Intervall). Zu kurz = belastet deinen Server, zu lang = Hörer sehen veraltete Track-Infos.
Eigene Now-Playing-Quelle
Wenn dein Stream-Server eine eigene API hat (z.B. für AutoDJ-Systeme), kannst du unter Einstellungen → Stream → Eigene Quelle einen JSON-Endpoint angeben. RadioCMS holt sich dann die Daten in deinem Format.
Erwartetes JSON-Format:
{
"title": "Songtitel",
"artist": "KĂĽnstlername",
"album": "Albumtitel",
"cover_url": "https://...",
"listeners": 47,
"status": "online"
}
Streaming-Server-Manager (Plugin)
Das Free-Plugin Streaming-Server-Manager erweitert die Anbindung um:
- Live-Status-Anzeige im Dashboard (online/offline pro Stream)
- Mehrere Streams gleichzeitig pflegen (Main-Stream, Low-Bitrate-Mobile-Stream, AutoDJ-Stream)
- Auto-Kick bei DJ-Wechsel (alter DJ wird automatisch vom Server getrennt wenn neuer Slot startet - vermeidet "Doppel-Sendungen")
- Statistik-Sammlung (Hörer-Verlauf pro Tag)
- Live-Test-Funktion mit Klick-Diagnose ("warum kommt kein Audio?")
Das Plugin ist Free und fĂĽr ernsthafte Sender stark empfohlen.
Player-Widget
Das Player-Widget ist der Audio-Player auf deiner Seite. Standardmäßig fest oben rechts (Sticky-Position), aber auch im Hero-Bereich oder im Footer einbettbar.
Funktionen:
- Play / Pause
- Lautstärke-Regler
- Aktueller Songtitel und KĂĽnstler
- Aktuelle Sendung und DJ-Foto
- Stream-Qualitäts-Wahl (sofern mehrere)
- "Bei uns mit hören"-Teilen-Knopf für Social-Media
- Auto-Resume nach Browser-Pause
Player-Optik anpassen
Unter Design → Player stellst du ein:
- Größe: kompakt, normal, groß
- Position: Sticky-oben-rechts, Sticky-unten, Inline
- Farben: nutzt die Theme-Farben oder Custom-Farben
- Animation: pulse / wave / off während der Wiedergabe
- Album-Cover ein-/ausblenden
Mobile-Verhalten
Auf Smartphones zeigt der Player automatisch in der Browser-Status-Leiste den Songtitel und ein Pause-Knopf, sodass Hörer auch ohne aktiven Tab kontrollieren können. Das nennt sich Media-Session-API und ist eingebaut.
Mehrkanal-Streaming
Wenn dein Sender mehrere parallele Streams hat (z.B. Hauptkanal, Chillout-Kanal, Comedy-Kanal), kannst du unter Einstellungen → Stream → Kanäle alle Kanäle pflegen. Im Frontend bekommen Hörer dann eine Kanal-Wahl im Player.
Jeder Kanal hat eigene Now-Playing-Daten und einen eigenen Sendeplan. Das Backend wird damit komplexer, lohnt sich aber für größere Sender mit mehreren Programm-Linien.
Häufige Stream-Probleme
| Symptom | Lösung |
|---|---|
| "Stream offline" obwohl der Server läuft | Stream-URL falsch (Port vergessen, falscher Pfad). Im Browser direkt aufrufen und prüfen ob du Audio bekommst. |
| Now-Playing zeigt veraltete Daten | Server-Update-Intervall zu lang. Auf 10 Sekunden runtersetzen. |
| Hörer-Zahl ist immer 0 | Server liefert die Zahl nicht in der Standard-API. Eigene Now-Playing-Quelle einrichten. |
| Player-Lade-Symbol dreht endlos | Browser blockiert Mixed-Content (HTTPS-Seite, HTTP-Stream). Stream auf HTTPS umstellen oder via Reverse-Proxy einbinden. |
| "HTTP 0" Fehler im Status | Stream-URL hat https:// aber der Server läuft auf http:// Port. Streaming-Server-Manager nutzt automatisch http-Fallback. |
Weiter mit Kapitel 11. Sicherheit & Backup.