Installieren von Icecast unter Linux für Ihr eigenes Streaming Radio
Linux
2024-01-01T14:01:22Z
Schnell-Links
Wollten Sie schon immer Ihren eigenen Radiosender starten, den Sie und Ihre Freunde genießen können? Das kannst du mit Icecast. In diesem Artikel werden wir ein einfaches Online-Streaming-Radio erstellen.
Icecast ist ein Open-Source HTTP / Standard-basierter Live Media Streaming Server, der von der Xiph.org Foundation entwickelt wurde. Er wird für alles verwendet, von kleinen Heimradio- und Jukebox-Projekten bis hin zu großen Internet-Radiosendern für Unternehmen und alles dazwischen. Alles, was Sie zum Start brauchen, ist ein Computer und ein angeschlossenes Mikrofon. Icecast ist für Linux/Unix und Windows verfügbar. Es gibt ähnliche Projekte, wie Shoutcast, Snapcast und AzuraCast. Wir werden hier Icecast verwenden, da es am besten geeignet und am einfachsten für einen DIY-Streaming-Radiosender einzurichten ist.
Die Lizenzanforderungen für den Betrieb eines Internet-Radiosenders variieren von Land zu Land. Wenn du vorhast, urheberrechtlich geschütztes Material zu streamen, musst du die entsprechenden Lizenzen von den Urheberrechtsbehörden einholen und/oder die ausdrückliche Erlaubnis des/der Urheberrechtsinhaber(s) einholen. Bitte informieren Sie sich in den Gesetzen Ihres Landes über die spezifischen Anforderungen. Weitere Informationen finden Sie auf der Wikipedia-Seite zum Thema Internetradio.
Installieren von Icecast
Sie können Icecast mit dem Paketmanager Ihrer Distribution herunterladen. Das ist die Methode, die wir in diesem Artikel verwenden werden.
Wie bei vielen Software-Projekten sollten Sie, wenn Sie die neueste Version von Icecast wollen, den Quellcode direkt von der offiziellen Website herunterladen und bauen oder das öffentliche Git-Repository klonen. Version 2.5 steht kurz vor der Fertigstellung und hat viele neue Funktionen, einschließlich einer kompletten Überarbeitung der Web-Oberfläche, ist aber noch nicht in den Distributionen enthalten.
Für Debian-basierte Distributionen installieren Sie das icecast2-Paket mit apt:
sudo apt install icecast2
Für Redhat-Distributionen verwenden Sie dnf, um das icecast-Paket zu installieren:
sudo dnf install icecast
Erste Konfiguration
Du hast also Icecast installiert. Was nun? Debian-Distributionen führen nach der Installation ein Skript aus, das Ihnen bei der Konfiguration hilft. Drücken Sie im ersten Dialog die linke Pfeiltaste, um "Ja" auszuwählen und drücken Sie dann Enter:
Da wir einen privaten Radiostream einrichten, geben wir bei der nächsten Aufforderung die LAN-IP des Rechners ein:
Ein Quell-Client ist das Programm, mit dem Sie Mediendateien (oder Live-Audio) an den Server streamen. Das Quell-Passwort dient zur Authentifizierung bei Icecast, damit Sie einen Stream starten können. Ich empfehle ein eindeutiges Passwort und nicht das Standardpasswort (das "hackme" lautet). Vielleicht so etwas wie:
Relays sind in größeren Setups nützlich, um die Hörerlast auf mehrere Server zu verteilen. Wir werden hier keine Relais einrichten, also können Sie eingeben, was immer Sie wollen (aber auch hier empfehle ich, die Standardeinstellung zu ändern):
Zum Schluss werden wir nach dem Passwort für den Admin-Benutzer gefragt. Sie verwenden dieses, um auf den Admin-Bereich der Web-Oberfläche von Icecast zuzugreifen. Ändern Sie den Standardwert in etwas Eindeutiges:
Redhat-Distributionen kehren nach der Installation einfach zur Eingabeaufforderung zurück. Keine große Sache, wir werden die Dinge direkt in der Konfigurationsdatei einrichten, die sich unter "/etc/icecast.xml" befindet. Starten Sie Ihren bevorzugten Texteditor und machen Sie sich an die Arbeit:
Die Standardkonfiguration ist für die meisten einfachen Installationen wie die unsere gut durchdacht. Die Icecast-Entwickler empfehlen, so wenig wie möglich zu ändern und die Konfiguration später an die eigenen Bedürfnisse anzupassen.
Ändern Sie zunächst die Passwörter von den Standardeinstellungen:
Als nächstes ändern Sie die bind-address auf die LAN IP-Adresse Ihres Servers:
Speichern Sie die Konfigurationsdatei und starten Sie Icecast neu, damit unsere Änderungen wirksam werden:
Lassen Sie uns überprüfen, ob alles funktioniert:
sudo systemctl status icecast.service
Großartig! Jetzt, wo Icecast läuft, können wir mit unserem Quell-Client beginnen.
Auswahl eines Quell-Clients
Es gibt 3 Hauptkomponenten des Icecast-Streamings: den Source-Client, den Icecast-Server und den Listener-Client. Sie sind alle unabhängig voneinander und können (und tun es oft auch) auf verschiedenen Rechnern arbeiten. Der Source Client spielt Ihre Musikdateien ab oder streamt Live-Audio zu Icecast. Icecast verteilt diesen Stream dann über das HTTP-Protokoll an die Hörer. Das funktioniert in etwa so:
Die Wahl des richtigen Quell-Clients für dein Setup hängt von vielen Faktoren ab. Einige Fragen, die Sie bei Ihrer Entscheidung berücksichtigen sollten, sind:
- Möchte ich vorab aufgenommene Ton-/Musikdateien streamen?
- Möchte ich Live-Audio von Mikrofonen und Mischpulten streamen?
- Möchte ich von einem Desktop/Laptop oder einem mobilen Gerät (oder beidem) senden?
- Gibt es Einschränkungen oder Anforderungen in Bezug auf das Betriebssystem?
Es gibt eine nicht vollständige Liste von Quell-Clients auf der Icecast Apps Seite.
Für dieses Tutorial verwenden wir einen funktionsreichen und dennoch einfach zu bedienenden Quellcode-Client von Daniel Nöthen namens Broadcast Using This Tool (kurz BUTT - fragen Sie mich nicht, ob dieses Akronym beabsichtigt war oder nicht!). Wir werden BUTT benutzen, um von unserem Mikrofon zu Icecast zu streamen. BUTT ist für Linux, macOS und Windows verfügbar. Du kannst es von der offiziellen Download-Seite herunterladen.
Die Konfiguration ist ziemlich einfach. Wählen Sie im Hauptfenster die Schaltfläche "Einstellungen" und klicken Sie dann auf der Registerkarte "Haupt" unter "Servereinstellungen" auf die Schaltfläche "Hinzufügen". Es öffnet sich ein neues Fenster, in dem Sie Ihren Server konfigurieren können.
Wählen Sie einen Namen für die Konfiguration dieses Servers (es werden mehrere Serverkonfigurationen unterstützt) und wählen Sie die Optionsschaltfläche "Icecast". Geben Sie die IP-Adresse und den Port (Standardport ist 8000) Ihres Icecast-Servers sowie Ihr Quellpasswort ein. Fügen Sie unter "Icecast Mountpoint" die Endung .OPUS hinzu (das Hinzufügen einer Endung hilft einigen Listener-Clients zu erkennen, welcher Codec verwendet wird). Lassen Sie den "Icecast User" als Quelle und "Use legacy Icecast protocol" unmarkiert. Klicken Sie auf "Hinzufügen" und dann im übergeordneten Fenster auf "Speichern".
Der Testaufbau hier verwendet Nicht-TLS-Kommunikation auf Port 8000. Icecast unterstützt SSL/TLS-Verschlüsselung, aber die Erstellung von Zertifikaten liegt außerhalb des Rahmens dieses Tutorials. Ich empfehle dringend die Verwendung von TLS, wenn du deinen Stream von außerhalb deines privaten, lokalen Netzwerks zugänglich machen willst!
Okay, reden wir über den Ton! Ganz im Sinne von F/OSS werden wir Opus (ein völlig offener, lizenzfreier, äußerst vielseitiger und weithin unterstützter Audiocodec, ebenfalls von Xiph.org entwickelt) für unseren Stream verwenden.
Klicken Sie unter "Einstellungen" auf die Registerkarte "Audio". Stellen Sie "Samplerate" auf 48000Hz (für Opus erforderlich), vergewissern Sie sich, dass Ihr Mikrofon an das "Primäre Audiogerät" angeschlossen ist und stellen Sie "Streaming Codec" auf Opus ein:
Gehen Sie schließlich zurück zur Registerkarte "Main" und klicken Sie auf "Save":
Von hier aus können Sie das Fenster "Einstellungen" schließen. Wenn Sie bereit sind, klicken Sie auf die Schaltfläche "Play", um Ihren Stream zu starten. Wenn Sie alles richtig konfiguriert haben, werden Sie in diesem Moment den ersten Radiostream Ihres Servers senden!
Super! Loggen Sie sich nun in die Icecast Web UI unter "http://LAN_IP:8000/admin/" ein und geben Sie als Benutzernamen "admin" und Ihr konfiguriertes Icecast Admin Passwort ein:
Wählen Sie "Mountpoint List" auf der Haupt-Admin-Seite:
Kopieren Sie den Hyperlink "M3U":
Diesen Link, ohne die Erweiterung .M3U, werden Sie zum Abhören mit Ihrem Webbrowser verwenden.
Auswählen eines Listener-Clients
Listener-Clients erfordern im Allgemeinen nur sehr wenig Konfiguration. Dank HTML5-Audio können Sie einfach einen Webbrowser auf Ihre neue Stream-URL verweisen. Hier finden Sie eine Liste der von Browsern unterstützten HTML5-Audiocodierungsformate.
Verwenden Sie einen Webbrowser, fügen Sie die oben kopierte Stream-URL in die Adressleiste ein (entfernen Sie auch hier die Erweiterung .M3U) und drücken Sie die Eingabetaste.
Hörst du deinen Stream? Das ist Icecast bei der Arbeit.
Zusätzliche Konfiguration
Icecast hat viele erweiterte Funktionen. Einige von ihnen sind:
- Mehrere gleichzeitige Streams auf einem einzigen Server
- Ein "Fallback"-System, das Hörer programmatisch zwischen Mountpoints verschieben kann
- Relay-Funktionalität, die Ihre Streams auf mehrere Server verteilt
- "URL-Authentifizierung", Authentifizierung von Benutzern gegenüber einem dedizierten Server/Datenbank (v2.5)
- Eingebaute chroot Fähigkeit
- Veröffentlichung Ihres Streams im Icecast YP Verzeichnis
- Shoutcast Kompatibilitätsmodus
Diese und weitere Funktionen sind in der offiziellen Icecast-Dokumentation sehr gut erklärt.
Sie können auch eine Portweiterleitung verwenden, um Ihren Stream von außerhalb Ihres lokalen Netzwerks zu erreichen.
Werbung für deinen Sender
Die Werbung hängt wirklich von der Art des Senders ab, den du erstellst. Wenn es nur zum Spaß ist, reicht es, einem guten Freund davon zu erzählen! Wenn du mehr Aufmerksamkeit willst: Ein Eintrag in das Icecast-Verzeichnis, eine hochwertige Website und eine umfassende Marketingkampagne in den sozialen Medien sind ein sicherer Weg, um online Aufmerksamkeit zu erregen.
Die wichtigste Information, die ich dir geben kann, wenn du deinen ersten Streaming-Radiosender aufbaust, ist: Hab Spaß! Das Ergebnis ist sehr lohnend und voller aufregender Momente, die Sie für immer in Erinnerung behalten werden.