Kostenlose Webradio-Website erstellen: Stream & Recht

Sonstiges

Ein Webradio steht und fällt mit zwei Dingen: einem Stream, der zuverlässig läuft, und einem Player, den Hörer auf dem Handy mit einem Tipp starten können. Beides bekommen Sie ohne Budget hin. Dieser Text zeigt Ihnen die nötigen Bausteine, wie Sie den Stream kostenlos aufsetzen und in eine Seite einbetten, welche Fehler dabei am häufigsten auftreten – und was Sie in Deutschland rechtlich beachten müssen, bevor die erste Sendung online geht.

Die drei Bausteine, die jedes Webradio braucht

Bevor Sie eine Seite gestalten, sollten Sie die technische Kette verstehen. Sie besteht aus drei Teilen:

  1. Streaming-Server – nimmt Ihr Audiosignal entgegen und verteilt es an alle Hörer gleichzeitig. Typisch: Icecast, SHOUTcast oder das Komplettpaket AzuraCast.
  2. Encoder – die Software auf Ihrem Studio-PC, die Ton aufnimmt, komprimiert (meist MP3 oder AAC) und an den Server sendet. Kostenlos etwa BUTT (Broadcast Using This Tool), Mixxx oder RadioDJ.
  3. Website mit Player – die öffentliche Seite, auf der Besucher den Stream starten und sehen, was gerade läuft.

Nur der dritte Teil ist „die Website“. Die ersten beiden entscheiden aber darüber, ob der Player überhaupt Ton bekommt. Wer das trennt, spart sich viel Sucherei bei der Fehlersuche.

Streaming-Server: Icecast, SHOUTcast oder AzuraCast

Icecast (von Xiph.org, freie Software unter GNU GPL) ist der Klassiker. Der Server liefert unter einer festen Adresse wie https://stream.ihredomain.de:8000/live einen Dauerstrom aus. Über die Statusseite status-json.xsl können Sie Metadaten wie den aktuellen Titel abfragen.

SHOUTcast DNAS funktioniert ähnlich und ist in der DJ-Szene verbreitet; die Server-Software lässt sich kostenlos herunterladen. Die Statistik liegt hier je nach Version unter /stats oder /7.html.

AzuraCast ist für Einsteiger meist die beste Wahl: eine kostenlose, quelloffene Komplettlösung, die Icecast/SHOUTcast, Encoder-Verwaltung, Musikbibliothek, Sendeplan und eine fertige öffentliche Radio-Seite in einem Paket bündelt. Sie installieren es per Docker auf einem kleinen Server (VPS) mit einem Skript, richten über die Weboberfläche eine „Station“ ein und haben in einer Stunde einen laufenden Sender inklusive Player-Seite.

Der einzige Haken: Server und Domain kosten Geld. Ein günstiger VPS und eine Domain sind Pflicht, wenn der Sender dauerhaft laufen soll. Die Software ist kostenlos, der Betrieb nicht ganz.

Die Website kostenlos aufsetzen

Option A: Alles aus einer Hand mit AzuraCast

Wenn Sie AzuraCast nutzen, ist die öffentliche Player-Seite bereits enthalten. Sie tragen unter „Branding“ Logo, Farben und einen Namen ein und verweisen Ihre Domain darauf. Für viele kleine Sender reicht das komplett aus – kein separater Website-Baukasten nötig.

Option B: Statische Seite plus eingebetteter Player

Für maximale Gestaltungsfreiheit bauen Sie eine eigene Seite und binden nur den Stream ein. Reine HTML-Seiten hosten Anbieter wie Netlify, Cloudflare Pages oder GitHub Pages dauerhaft kostenlos. Der Player ist im Kern nur ein HTML5-Element:

<audio controls preload="none">
  <source src="https://stream.ihredomain.de:8000/live" type="audio/mpeg">
  Ihr Browser unterstützt kein Audio-Streaming.
</audio>

preload="none" verhindert, dass der Browser den Stream schon beim Laden anzapft. Für ein hübscheres Design ersetzen Sie die Standard-Steuerung später durch einen eigenen Play-Button mit etwas JavaScript.

Option C: WordPress

Mit dem selbst gehosteten WordPress.org und einem kostenlosen Radio-Player-Plugin lässt sich der Stream ebenfalls einbinden. Achtung bei der kostenlosen Variante von WordPress.com: Dort sind Plugins in den Gratis-Tarifen gesperrt – Streaming-Plugins funktionieren erst in den kostenpflichtigen Plänen. Wer WordPress ohnehin nutzt, findet in unserem Beitrag WordPress-Website erstellen die Grundlagen zur Installation.

Den Live-Player richtig einbetten

Ein Stream ist eingebunden – die Feinheiten entscheiden aber über das Hörererlebnis:

  • Autoplay ist tabu. Moderne Browser blockieren automatisch startenden Ton. Der Stream darf erst nach einem Klick des Nutzers loslaufen, sonst passiert nichts oder es hagelt Konsolenfehler.
  • „Now Playing“ anzeigen. Den laufenden Titel holen Sie per JavaScript aus der Statusdatei des Servers (status-json.xsl bei Icecast). Aktualisieren Sie den Wert alle 10–15 Sekunden, nicht im Sekundentakt.
  • Format wählen. MP3 läuft praktisch überall, AAC klingt bei niedriger Bitrate besser. Für iOS-Kompatibilität ist ein Standardformat wie MP3 die sichere Bank.

Der laufende Titel lässt sich bei Icecast mit wenigen Zeilen abfragen. Die Statusdatei liefert JSON, aus dem Sie das Feld title des passenden Mount-Points lesen:

async function updateTitle() {
  const res = await fetch("https://stream.ihredomain.de:8000/status-json.xsl");
  const data = await res.json();
  // source ist ein Objekt bei einem Mount, ein Array bei mehreren
  const src = Array.isArray(data.icestats.source)
    ? data.icestats.source[0]
    : data.icestats.source;
  document.querySelector("#now-playing").textContent = src.title ?? "";
}
setInterval(updateTitle, 12000);
updateTitle();

Damit dieser Aufruf im Browser durchgeht, muss der Server den passenden CORS-Header senden (siehe unten). Bei SHOUTcast heißt der Endpunkt anders und liefert ein anderes JSON-Format.

Typische Fehler und wie Sie sie lösen

Der Player bleibt stumm, obwohl der Stream läuft (Mixed Content). Das ist der häufigste Stolperstein: Ihre Seite läuft über https://, der Stream aber über http://. Browser blockieren solche unsicheren Inhalte kommentarlos. Lösung: den Stream ebenfalls per HTTPS ausliefern – bei Icecast über ein TLS-Zertifikat am Mount-Point, oder über einen Reverse-Proxy vor dem Server.

Ton startet nicht von selbst. Kein Fehler, sondern die Autoplay-Richtlinie (siehe oben). Bauen Sie immer einen sichtbaren Play-Button ein.

Der Titel („Now Playing“) lädt nicht. Meist ein CORS-Problem: Der Browser darf die Statusdatei einer anderen Domain nicht auslesen. Lösung: auf dem Streaming-Server den Header Access-Control-Allow-Origin setzen oder die Abfrage über die eigene Domain proxen.

Auf dem iPhone hakt es. Safari ist bei Streams empfindlich. Halten Sie sich an MP3/AAC, vermeiden Sie exotische Container und testen Sie auf einem echten Gerät statt nur im Desktop-Browser.

Rechtliches: GEMA, GVL und Datenschutz

Der Punkt, den Einsteiger am häufigsten übersehen: Wer in Deutschland urheberrechtlich geschützte Musik streamt, braucht Lizenzen. Zuständig sind zwei Verwertungsgesellschaften:

  • GEMA – für die Rechte der Komponisten, Texter und Verleger.
  • GVL – für die Leistungsschutzrechte der ausübenden Künstler und Tonträgerhersteller.

Für Webcasting gibt es eigene Tarife, deren Höhe sich unter anderem nach Hörerzahl und Umsatz richtet. Ohne diese Lizenzen ist der Betrieb eine Urheberrechtsverletzung – unabhängig davon, ob die Website etwas kostet oder nicht.

Dazu kommen die üblichen Website-Pflichten: ein Impressum und eine Datenschutzerklärung sind vorgeschrieben, sobald Sie Kontaktformulare, Kommentare oder einen Newsletter anbieten. Wie Sie das rechtssicher aufsetzen, lesen Sie unter Datenschutzerklärung erstellen.

FAQ

Kann ich ein Webradio komplett kostenlos betreiben? Die Software (Icecast, AzuraCast, Encoder wie BUTT) und statisches Hosting (Netlify, Cloudflare Pages) sind gratis. Für Dauerbetrieb brauchen Sie aber in der Regel einen bezahlten Server und eine Domain – und die Musiklizenzen von GEMA und GVL. „Kostenlos“ gilt also für die Werkzeuge, nicht für den laufenden Betrieb.

Warum spielt mein Stream auf der Seite nicht ab, im VLC-Player aber schon? Fast immer Mixed Content: Die Seite ist HTTPS, der Stream HTTP. Der Media-Player VLC ignoriert das, der Browser blockiert es. Liefern Sie den Stream per HTTPS aus, dann läuft er auch im Browser.

Brauche ich WordPress dafür? Nein. Für einen reinen Player genügt eine statische HTML-Seite mit <audio>-Element. WordPress lohnt sich erst, wenn Sie zusätzlich Blog, Sendeplan oder eine Community pflegen wollen.

→ Mehr zum Thema: Alle Artikel unter Sonstiges