Show-Replay
Catch-up-Radio für dein Webradio: Sendungen automatisch aufzeichnen, in einer Mediathek anbieten, Hörer scrollen zurück und hören rein.
Show-Replay nimmt deine Live-Sendungen mit und stellt sie auf der Webseite als On-Demand-Player bereit. Mit Sendungs-Cover, Titel, Beschreibung und Player. Ideal für Sender deren Hörer auch außerhalb der Live-Zeit etwas hören wollen.
Neu in Version 2.0: Wer DGNCast als Stream-Server nutzt, kann jetzt im Setting auf "DGNCast-Recording" umschalten. Die Aufnahme läuft dann direkt am Stream-Server, robust und ohne Abbrüche durch PHP-Hosting-Timeouts. Für SHOUTcast- und Icecast-Kunden bleibt der bewaehrte lokale ffmpeg-Modus.
Zwei Aufnahme-Modi (Dual-Mode)
DGNCast-Recording (empfohlen, neu in 2.0)
Wenn du DGNCast als Stream-Server nutzt, ist das die richtige Wahl:
- Robust, kein Hosting-Timeout. Die Aufnahme läuft am Stream-Server selbst, das CMS gibt nur den Start- und Stop-Befehl. PHP-FPM-Killer und nginx-Timeouts können die Aufnahme nicht mehr abreissen.
- Kein Admin-Passwort, keine ffmpeg-Installation. Im Plugin reichen drei Felder: Panel-Domain, SID und API-Key. Den Key erzeugst du im DGNCast-Panel unter Stream → Zugang → API-Keys.
- Auto-Stop nach Sendezeit-Ende falls das CMS mal nicht durchkommt (Sicherheitsnetz auf Stream-Server-Seite).
- Voraussetzung: DGNCast-Panel auf Version 0.6.0 oder neuer.
Lokal ffmpeg (Legacy)
Für SHOUTcast- und Icecast-Kunden bleibt der klassische Modus aktiv:
- Plugin startet einen lokalen ffmpeg-Prozess, der vom Stream zurückhoert und MP3 schreibt
- Detacht via setsid + nohup damit nginx den Worker nicht killt (Fix aus 1.0.15)
- Braucht ffmpeg auf dem Webspace installiert + Stream-URL erreichbar
- Anfälliger als der DGNCast-Modus, vor allem auf strikt konfigurierten Hosting-Setups
Installation und Aktivierung
Admin → Plugins → Tab Marketplace → "Show-Replay" finden (lila PRO-Badge) → Lizenz-Schlüssel eingeben → "Plugin laden" → in der Plugin-Liste "Aktivieren".
Setup DGNCast-Modus (in 5 Minuten)
Schritt 1: Im DGNCast-Panel den API-Key erzeugen
Im Panel den Stream öffnen, Tab Zugang, Bereich API-Keys, "Key erzeugen". Der volle Key wird nur einmal angezeigt — gleich kopieren. Format: stsk_live_....
Schritt 2: Im CMS unter Show-Replay den Modus umstellen
Sidebar → Show-Replay, oben im Settings-Bereich "DGNCast-Recording" auswählen. Es klappt eine kleine Konfig-Box auf mit drei Feldern:
- Panel-Domain: z.B.
broadcast.mein-radio.de(ohnehttps://) - SID: die Stream-ID, in der Regel
1(oder2falls Mehrstream) - API-Key: der gerade kopierte Schlüssel
Schritt 3: Auto-Recording einschalten
Im selben Settings-Bereich den Schalter "Auto-Recording aktiv" einschalten. Speichern.
Schritt 4: Pro Sendung im DJ-Bereich entscheiden
Jeder DJ kann pro Sendung selbst entscheiden ob aufgenommen wird. Im DJ-Bereich pro Sendung der Schalter "Sendung aufnehmen". Ist er aus, wird die Sendung nicht aufgenommen.
Ab jetzt prüft das CMS jede Minute den Sendeplan. Sobald eine Sendung startet und der DJ die Aufnahme erlaubt hat, geht der Befehl an DGNCast und die Aufnahme läuft an. Beim Sendungsende stoppt das CMS die Aufnahme, holt die fertige MP3 ab und legt sie in die Mediathek.
Was passiert technisch im Hintergrund
- Cron-Hook
show-replay-auto-recordtickt jede Minute, prüft die aktuelle Sendung und den DJ-Toggle - Sendung startet →
POST /api/streams/<sid>/recording/startmit der Restdauer der Sendung - DGNCast nimmt auf (MP3-passthrough, Stream-Bitrate, kein Re-Encode)
- Sendung endet →
POST /api/streams/<sid>/recording/stop. Falls das CMS mal nicht durchkommt, stoppt DGNCast nach Wanduhr-Sicherheitsnetz selbst. - Cron-Hook
show-replay-dgn-pulltickt ebenfalls jede Minute und prüft die Remote-Status der laufenden Aufnahmen. Sobaldready→GET .../downloadin die lokale Mediathek - Danach
DELETEauf der DGNCast-Seite, der Stream-Server-Speicher bleibt sauber
Frontend-Player
Sobald mindestens eine Aufnahme in der Mediathek liegt, erscheint auf der Startseite (Position konfigurierbar oben, mittig oder unten) der Replay-Bereich mit den letzten 12 Sendungen. Pro Sendung Titel, Datum, Dauer, Hörer-Counter und Player.
Membership-Pro-Integration
Wenn du das Membership-Pro-Plugin nutzt, kannst du das Archiv (alte Aufnahmen ab X Tagen) nur für Member sichtbar machen. Aktuelle Sendungen bleiben öffentlich. Konfiguration im Membership-Pro-Gate "Show-Replays Archiv" mit Cutoff-Tagen.
Aufbewahrung und Speicherplatz
Default: 14 Tage Aufbewahrung. Älter wird automatisch vom täglichen Cleanup-Cron gelöscht. Anpassbar zwischen 1 und 365 Tagen. Bei 128 kbit/s sind 2 Stunden ca. 115 MB — rechne das auf deine Sendezeit pro Tag mal Aufbewahrungs-Tage hoch um den Speicherbedarf zu schätzen.
Häufige Fragen
Funktioniert das auch ohne DGNCast?
Ja, der Modus "Lokal ffmpeg" läuft mit jedem Stream-Server der eine erreichbare Audio-URL liefert (SHOUTcast, Icecast, AzuraCast). Voraussetzung: ffmpeg muss auf deinem Webspace installiert sein und der PHP-Prozess darf shell_exec nutzen.
Muss ich die Aufnahmen manuell starten?
Nein. Mit dem Schalter "Auto-Recording aktiv" läuft alles automatisch nach dem Sendeplan. Manuelles Start/Stop bleibt zusätzlich möglich (Knopf im Show-Replay-Admin-Bereich).
Was passiert wenn der DJ kurz ausgekickt wird?
Die Aufnahme läuft weiter, dadurch bleibt eine kleine Stille-Luecke in der MP3 falls der Server keinen Source-Stream bekommt. Besser eine Luecke als ein Abbruch — die Aufnahme stoppt erst zur geplanten Sendezeit.
Kann ich Replays auch herunterladen lassen?
Nein, der Player streamt nur. Wer Podcast-Downloads will: nimm separat das Premium-Plugin "Podcast-Hub" wenn das im Marketplace liegt, oder schreib uns.
Was wenn DGNCast-Panel auf 0.5.x bleibt?
Der DGNCast-Modus braucht 0.6.0+. Im Modus-Switch siehst du dann den Hinweis. Lass den Modus dann auf "Lokal ffmpeg" bis du DGNCast aktualisiert hast.
Voraussetzungen
RadioCMS Community Edition ab 1.6.0 (empfohlen 2.2.x). Lizenz pro Sender-Domain. Für DGNCast-Modus: DGNCast-Panel 0.6.0+. Für Lokal-ffmpeg-Modus: ffmpeg auf dem Webspace und Stream-URL erreichbar.