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

So installieren Sie Blacklistd unter FreeBSD 11.1

So installieren Sie Blacklistd unter FreeBSD 11.1

Einführung Jeder Dienst, der mit dem Internet verbunden ist, ist ein potenzielles Ziel für Brute-Force-Angriffe oder ungerechtfertigten Zugriff. Es gibt Tools wie fail2ba

So installieren Sie Osclass unter FreeBSD 12

So installieren Sie Osclass unter FreeBSD 12

Verwenden Sie ein anderes System? Osclass ist ein Open Source-Projekt, mit dem Sie auf einfache Weise eine klassifizierte Site ohne technisches Wissen erstellen können. Seine Quelle

So installieren Sie Couch CMS 2.0 auf einem FreeBSD 11 FAMP VPS

So installieren Sie Couch CMS 2.0 auf einem FreeBSD 11 FAMP VPS

Verwenden Sie ein anderes System? Couch CMS ist ein einfaches und flexibles, kostenloses und Open-Source-Content-Management-System (CMS), mit dem Webdesigner entwerfen können

So installieren Sie Lychee 3.1 Photo Album auf einem FreeBSD 11 FAMP VPS

So installieren Sie Lychee 3.1 Photo Album auf einem FreeBSD 11 FAMP VPS

Verwenden Sie ein anderes System? Lychee 3.1 Photo Album ist ein einfaches und flexibles, kostenloses Open-Source-Tool zur Fotoverwaltung, das auf einem VPS-Server ausgeführt wird. Es wird installiert

Installieren von Fork CMS unter FreeBSD 12

Installieren von Fork CMS unter FreeBSD 12

Verwenden Sie ein anderes System? Fork ist ein Open-Source-CMS, das in PHP geschrieben wurde. Der Forks-Quellcode wird auf GitHub gehostet. Diese Anleitung zeigt Ihnen, wie Sie Fork CM installieren

Erstellen Sie eine Auslagerungsdatei unter FreeBSD 10

Erstellen Sie eine Auslagerungsdatei unter FreeBSD 10

Vultr FreeBSD-Server sind standardmäßig nicht so konfiguriert, dass sie Swap Space enthalten. Wenn Sie eine Einweg-Cloud-Instanz beabsichtigen, brauchen Sie diese wahrscheinlich nicht

So ändern Sie die Größe einer Festplatte in FreeBSD

So ändern Sie die Größe einer Festplatte in FreeBSD

Das FreeBSD-Betriebssystem verwendet UFS (Unix File System) für sein Root-Partitions-Dateisystem. sonst bekannt als freebsd-ufs Im Falle eines Upgrades

So installieren Sie Matomo Analytics unter FreeBSD 11

So installieren Sie Matomo Analytics unter FreeBSD 11

Verwenden Sie ein anderes System? Matomo (ehemals Piwik) ist eine Open Source-Analyseplattform, eine offene Alternative zu Google Analytics. Matomo Quelle wird gehostet o

So aktivieren Sie TLS 1.3 in Nginx unter FreeBSD 12

So aktivieren Sie TLS 1.3 in Nginx unter FreeBSD 12

Verwenden Sie ein anderes System? TLS 1.3 ist eine Version des TLS-Protokolls (Transport Layer Security), das 2018 als vorgeschlagener Standard in RFC 8446 veröffentlicht wurde

So installieren Sie Backdrop CMS auf einem FreeBSD 11 FAMP VPS

So installieren Sie Backdrop CMS auf einem FreeBSD 11 FAMP VPS

Verwenden Sie ein anderes System? Hintergrund CMS 1.8.0 ist ein einfaches und flexibles, mobilfreundliches, kostenloses und Open Source Content Management System (CMS), das es uns ermöglicht

So installieren Sie ImpressPages CMS 5.0 auf einem FreeBSD 11 FAMP VPS

So installieren Sie ImpressPages CMS 5.0 auf einem FreeBSD 11 FAMP VPS

Verwenden Sie ein anderes System? ImpressPages CMS 5.0 ist ein einfaches und effektives, kostenloses und Open Source, benutzerfreundliches, MVC-basiertes Content Management System (CMS).

Installieren Sie eSpeak unter FreeBSD 12

Installieren Sie eSpeak unter FreeBSD 12

Verwenden Sie ein anderes System? ESpeak kann TTS-Audiodateien (Text-to-Speech) generieren. Diese können aus vielen Gründen nützlich sein, z. B. um Ihr eigenes Turin zu erstellen

So installieren Sie LimeSurvey CE unter FreeBSD 12

So installieren Sie LimeSurvey CE unter FreeBSD 12

Verwenden Sie ein anderes System? LimeSurvey ist eine Open-Source-Umfragesoftware, die in PHP geschrieben wurde. Der LimeSurvey-Quellcode wird auf GitHub gehostet. Diese Anleitung zeigt Ihnen

So installieren Sie Monica unter FreeBSD 12

So installieren Sie Monica unter FreeBSD 12

Verwenden Sie ein anderes System? Monica ist ein Open-Source-System für das persönliche Beziehungsmanagement. Stellen Sie sich das als CRM vor (ein beliebtes Tool, das von Verkaufsteams in th verwendet wird

So installieren Sie Automad CMS unter FreeBSD 12

So installieren Sie Automad CMS unter FreeBSD 12

Verwenden Sie ein anderes System? Automad ist ein Open Source File-basiertes Content Management System (CMS) und eine in PHP geschriebene Template Engine. Der Automad-Quellcode i

Auswählen eines Betriebssystems: CentOS, Ubuntu, Debian, FreeBSD, CoreOS oder Windows Server

Auswählen eines Betriebssystems: CentOS, Ubuntu, Debian, FreeBSD, CoreOS oder Windows Server

Dieser Artikel enthält eine kurze Übersicht über die Server-Betriebssysteme, die als Vorlagen für Vultr angeboten werden. CentOS CentOS ist eine Open-Source-Version von RHEL (Re

So installieren Sie Omeka Classic 2.4 CMS auf einem FreeBSD 11 FAMP VPS

So installieren Sie Omeka Classic 2.4 CMS auf einem FreeBSD 11 FAMP VPS

Verwenden Sie ein anderes System? Omeka Classic 2.4 CMS ist eine kostenlose Open-Source-Plattform für digitales Publizieren und Content Management System (CMS) für den Austausch von Digita

So sichern Sie FreeBSD mit der PF Firewall

So sichern Sie FreeBSD mit der PF Firewall

Dieses Tutorial zeigt Ihnen, wie Sie Ihren FreeBSD-Server mithilfe der OpenBSD PF-Firewall schützen. Wir gehen davon aus, dass Sie eine saubere FreeBSD-Installation bereitgestellt haben. B.

So installieren Sie WonderCMS unter FreeBSD 12

So installieren Sie WonderCMS unter FreeBSD 12

Verwenden Sie ein anderes System? WonderCMS ist ein Open Source, schnelles und kleines Flatfile-CMS, das in PHP geschrieben wurde. WonderCMS-Quellcode wird auf Github gehostet. Dieser Leitfaden wird

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.