Radio-Streaming auf FreeBSD 10 mit IceCast und Ices

Im folgenden Tutorial wird erläutert, wie Sie einen IceCast-Radio-Streaming-Server einrichten und Audiodateien (Musik oder Podcasts) auf der FreeBSD-Plattform abspielen. In diesem Lernprogramm wird davon ausgegangen, dass Sie FreeBSD 10.0 oder höher ausführen und als Root-Benutzer angemeldet sind. Es wurde auch davon ausgegangen, dass Sie einen Texteditor zum Bearbeiten von Konfigurationsdateien haben.

Bevor wir beginnen, ist es wichtig, die drei Teile eines Audio-Streaming-Servers zu verstehen. Erstens haben wir die Server-Software selbst, IceCast. IceCast fungiert als zentraler Hub, an dem Audio-Streams eingehen und gesendet werden. Der IceCast-Dienst nimmt Audiostreams von Quellclients auf. Quellclients sind Programme, die Audiodateien oder andere Audioquellen wie Mikrofone lesen. In unserem Beispiel ist der Quellclient Ices und liefert einen Audiostream an den IceCast-Server. Die dritte Komponente ist ein Listening-Client. Audiostreams werden vom IceCast-Server an Hörer gesendet, die dann das Audio hören. In der Regel ist ein Listening-Client eine Desktop-Anwendung, z. B. ein Webbrowser, der VLC-Multimedia-Player oder WinAMP. Optisch sieht das Arrangement folgendermaßen aus:

 Source client (Ices) --> IceCast server --> Listening client (browser)

Um einen IceCast-Streaming-Server unter FreeBSD einzurichten, installieren wir zunächst die Serversoftware selbst. Dies kann durch Ausführen des folgenden Befehls erfolgen.

 pkg install icecast2

Anschließend öffnen wir die /etc/rc.confDatei und aktivieren den IceCast-Hintergrunddienst. Dazu wird der folgende Text an das Ende der /etc/rc.confDatei angehängt.

 icecast_enable="YES"

Unser nächster Schritt ist die Konfiguration des IceCast-Dienstes. Das IceCast-Paket wird mit einer Beispielkonfigurationsdatei geliefert, die wir ändern können. Diese Beispieldatei befindet sich im /usr/local/etcVerzeichnis. Wir werden eine Kopie dieser Beispieldatei erstellen, bevor wir sie bearbeiten.

 cd /usr/local/etc
 cp icecast.xml.sample icecast.xml

Wir möchten nun einige Schlüsselfelder der icecast.xmlDatei bearbeiten . Der größte Teil der Datei kann mit den Standardeinstellungen belassen werden, aber wir sollten die Anmeldeinformationen ändern. Wir können dies tun, indem wir den Authentifizierungsabschnitt (ungefähr in Zeile 30) besuchen und das Quellkennwort und das Relay-Kennwort in ein geeignetes ändern . Mit diesen Passwörtern können wir Daten von einem Quellclient auf den IceCast-Server streamen. Wir sollten auch die Variablen admin-user und admin-password in etwas ändern, das für unser System einzigartig ist. Diese beiden Anmeldeinformationen schützen die webbasierte Oberfläche des IceCast-Servers. Dann sollten wir in Zeile 150 die Variablen mount-name , username und ändernPasswort . Diese drei Variablen schützen den Mount-Punkt des IceCast-Servers. Schließlich sollte am Ende der icecast.xmlDatei ein auskommentierter Sicherheitsabschnitt angezeigt werden. Wir sollten die öffnenden <- und schließenden -> Symbole um den Sicherheitsabsatz entfernen . icecast.xmlSpeichern Sie die Datei, sobald sie geändert wurde.

Sobald die Konfigurationsdatei bearbeitet wurde, möchten wir die Protokollierung aktivieren. Führen Sie dazu die folgenden Befehle aus.

 mkdir /var/log/icecast
 chown nobody:nogroup /var/log/icecast

Schließlich starten wir den IceCast-Server. Dadurch wartet der Server auf Eingaben und eingehende Clientverbindungen.

 service icecast2 start

Der IceCast-Server ist betriebsbereit, daher müssen wir ihm jetzt etwas zum Spielen bereitstellen. Unser nächster Schritt ist die Installation des Ices-Quellclients. FreeBSD bietet derzeit kein Binärpaket für Ices an, daher müssen wir es aus Ports erstellen. Dies kann durch Ausführen der folgenden Befehle erfolgen.

 portsnap fetch
 portsnap extract
 cd /usr/ports/audio/ices
 make install
 make clean

Der Ices-Quellclient benötigt ein Benutzerkonto und eine Protokollierung. Führen Sie diese Befehle aus, um einen Benutzer für die Ices-Software zu erstellen und ein Kennwort für das Konto festzulegen.

 pw groupadd ice
 pw useradd ices -g ice -m
 passwd ices

Nachdem der Benutzer erstellt wurde, können wir jetzt die Protokollierung für Ices aktivieren.

 mkdir /var/log/ices
 chown ices:ice /var/log/ices

Von nun an sollten wir keinen Root-Benutzerzugriff mehr benötigen und können als Eisbenutzer arbeiten . Als nächstes müssen wir zwei Verzeichnisse erstellen. Ein Verzeichnis musicenthält die Audiodateien, die wir streamen werden. Das zweite Verzeichnis confenthält unsere Konfigurationsdateien.

 su ices
 cd /home/ices
 mkdir music conf
 cp /usr/local/share/ices/ices-playlist.xml conf/configuration.xml

Wir haben jetzt eine Beispielkonfigurationsdatei. Es ist Zeit, die conf/configuration.xmlDatei an unsere Umgebung anzupassen. Die einzigen Teile der Datei, die wir ändern müssen, befinden sich in Zeile 60. Hier müssen wir das Kennwort und den Mount- Speicherort angeben, die wir in der icecast.xmlDatei festgelegt haben. Wenn wir beispielsweise unseren Mount-Namen in der icecast.xmlDatei auf "setzen" setzen /radio.ogg, sollten wir configuration.xmlden Mount- Parameter unserer Datei in "ebenfalls" ändern /radio.ogg. Unser Passwortfeld in configuration.xmlsollte mit dem Quellpasswort übereinstimmen, das wir in der icecast.xmlDatei erstellt haben. Sobald unsere configuration.xmlDatei bearbeitet wurde, müssen wir unsere Änderungen speichern.

Wenn die Konfigurationsdatei vorhanden ist, sollte der nächste Schritt darin bestehen, Audiodateien, die wir streamen möchten, in das musicVerzeichnis zu kopieren . Die Audiodateien sollten alle im .oggFormat vorliegen, da IceCast keine .mp3Dateien mit den Standardeinstellungen verarbeitet. Sobald sich alle Audiodateien, die wir streamen möchten, im musicVerzeichnis befinden, müssen wir eine Wiedergabeliste erstellen. Eine Wiedergabeliste ist eine reine Textdatei mit einer Liste der Musik, die wir streamen möchten. Mit den folgenden Befehlen können wir einfach eine Wiedergabeliste erstellen.

 cd /home/ices/conf
 ls -d ../music/*.ogg > playlist.txt

Die Audiodateien werden in der Reihenfolge abgespielt, in der sie in der playlist.txtDatei angezeigt werden. Die Datei kann in einem beliebigen Texteditor bearbeitet werden, um die Reihenfolge des Audio-Streamings anzupassen.

Alles, was wir tun müssen, um mit dem Streaming unserer Audiodateien zu beginnen, ist diesen Befehl auszuführen.

 ices configuration.xml

Randnotiz: Oft möchten wir den Ices-Quellclient ausführen und uns dann abmelden und etwas anderes tun. In diesem Fall möchte ich Ices innerhalb einer Bildschirmsitzung ausführen . Hier ist ein Beispiel, wie Eis mit Bildschirm ausgeführt wird.

 screen
 cd /home/ices/conf
 ices configuration.xml

Drücken Sie dann Strg + A und tippen Sie auf die Taste D. Dadurch wird die Bildschirmsitzung getrennt und wir können uns abmelden, während Ices im Hintergrund Audio wiedergibt. Später können wir Ices stoppen, indem wir uns anmelden und ausführen:

 screen -r
 killall ices
 exit

Wir können jetzt über einen Webbrowser eine Verbindung zu unserem Server über Port 8000 herstellen, um unseren Audiostream anzuhören. Die URL sieht so aus http://myservername:8000. Diese Adresse kann öffentlich zugänglich gemacht werden, wenn Sie anderen erlauben möchten, den Stream anzuhören.

Ich habe bereits erwähnt, dass IceCast .oggDateien wiedergibt und nicht .mp3. Dies ist unter FreeBSD ziemlich einfach zu überwinden. Als Root-Benutzer können wir ein Konvertierungstool namens sox installieren , das unsere .mp3Dateien in .oggDateien konvertiert . Angenommen, alle unsere .mp3Dateien befinden sich im /home/ices/musicVerzeichnis, können wir sox installieren und eine Konvertierung wie folgt durchführen:

 pkg install sox
 cd /home/ices/music
 for i in *.mp3; do sox ./"$i" ./"$i".ogg; done

Wir können dann unsere Wiedergabeliste aktualisieren mit:

 cd ../conf
 ls -d ../music/*.ogg > playlist.txt

Bitte beachten Sie, dass Audio-Streaming bandbreitenintensiv sein kann. Ein oder zwei Clients, die unseren Radiosender hören, benötigen nicht viel Bandbreite, aber 50 oder mehr Clients können einen Server über seine zugewiesene monatliche Bandbreite schieben. Es ist eine gute Idee, die Bandbreitenbeschränkung auf dem Streaming-Server zu aktivieren, um unerwartete finanzielle Kosten zu vermeiden.



Leave a Comment

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist

ReactOS: Ist das die Zukunft von Windows?

ReactOS: Ist das die Zukunft von Windows?

ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.