Audioübertragung mit Icecast2
1. Installieren Sie Icecast2
2. Bearbeiten Sie die Icecast2-Konfiguration
Öffnen Sie die Datei /etc/icecast2/icecast.xml
als root in einem Editor. Aus Sicherheitsgründen sollten Sie Passwörter in den folgenden <authentication>
Abschnitten einrichten :
<admin-user>admin</admin-user>
<admin-password>hackme</admin-password>
Wenn Sie das geändert haben <source-password>
oder <relay-password>
dies auch auf der Quell- oder Relaisseite tun müssen. Das bedeutet, dass Sie den Standardwert beibehalten oder ihn in der Datei ices2.xml ändern (siehe unten). Dasselbe muss in den Ices- oder Darkice-Konfigurationsdateien durchgeführt werden.
Sie müssen auch den Hostnamen definieren, unter dem Ihr Stream erreichbar ist:
<hostname>localhost</hostname>
Lassen Sie es als localhost (Sie müssen dort keine aufgelöste IP angeben), wenn Sie nur in Ihrem lokalen Netzwerk streamen möchten. Der Standardport zum Abhören ist 8000. Ändern Sie ihn nur bei Bedarf.
3. Bearbeiten Sie die Standardeinstellungen
Öffnen Sie die /etc/default/icecast2
Datei als root in einem Editor. Die letzte Zeile muss in geändert werden
ENABLE=true
Das ist alles für Icecast2. Natürlich gibt es noch viele weitere Einstellungen, mit denen Sie spielen können. In den Konfigurationsdateien finden Sie Erläuterungen zu den Parametern.
4. Starten / Stoppen Sie Icecast
Der Server wird mit den folgenden Befehlen gestartet und gestoppt:
/etc/init.d/icecast2 start
/etc/init.d/icecast2 stop
Während des Betriebs kann der Icecast-Server von jedem Browser aus verwaltet werden, http://localhost:8000/admin/
nachdem Sie Ihre in Schritt 1 definierten Administratoranmeldeinformationen eingegeben haben . Weitere Dokumentation finden Sie auf Icecast.org .
Stream2ip ist ein grafisches Frontend zum schnellen Starten und Stoppen von Streams, bei denen bereits eine grundlegende Einrichtung für Ices2, Ices oder Darkice vorgenommen wurde.
Ices2 zum Streamen von OGG Vorbis-Audio von einer lokalen Soundkarte
Informationen zum Einrichten von pulseaudio, um die Aufnahme von der Soundkarte zu ermöglichen, finden Sie im Hinweis zu Darkice weiter unten.
Erstellen Sie Verzeichnisse für Ices2
mkdir /var/log/ices # in case you need logfiles.
mkdir /etc/ices2 # for putting ices stuff in.
Bearbeiten Sie die Ices2-Konfiguration .xml
Ices2 wird mit einer XML-Datei für die Einstellungen ausgeführt. Ausführliche Beispiele für Konfigurationen finden Sie in /usr/share/doc/ices2/examples/
. Diese Dateien müssen bearbeitet werden, um Ihren Anforderungen zu entsprechen, und können an eine beliebige Stelle kopiert werden, am besten in Ihr Home-Verzeichnis. Abhängig von der Konfigurationsdatei verwendet Ices2 eine Wiedergabeliste im Ogg Vorbis- Format ( ices-playlist.xml
) oder die Ausgabe von Ihrer Soundkarte ( ices-alsa.xml
) als Streaming-Quelle für Icecast2.
In diesem Abschnitt müssen <input>
Sie möglicherweise das Gerät austauschen, wenn Sie Ihr Soundsystem auf PulseAudio eingestellt haben. Bearbeiten Sie dazu die entsprechende Zeile zu:
<param name="device">pulse</param>
Der Name des Streams für den empfangenden Client wird im folgenden Abschnitt definiert.
<mount>/example1.ogg</mount>
Starten Sie das Streaming
Streams von Ihrer Soundkarte werden gestartet, indem Sie zuerst den Icecast2-Server und dann Ices2 mit den folgenden Befehlen ausführen:
/etc/init.d/icecast2 start
ices2 /home/user/somewhere/ices-pulse.xml # or any other name from .xml file
Empfänger einrichten
Auf der Empfängerseite stellt Ihr Radiosender Folgendes ein : <serverIP>:8000/example1.ogg
Wo <serverIP>
ist die IP Ihres Streaming-Servers, gefolgt von dem Port, den Sie in der Datei icecast.xml definiert haben (Standard 8000).
Beenden Sie das Streaming
Streams werden beendet, indem Ices2 beendet und / oder der Icecast2-Server gestoppt wird:
killall ices2
/etc/init.d/icecast2 stop
Ices für die Ausstrahlung von MP3-Wiedergabelisten
Das Senden einer Wiedergabeliste mit MP3-Dateien ist mit Ices2 nicht möglich. Wir müssen IceS installieren , das wir von der Quelle installieren müssen .
Nachdem Sie die Konfigurationsdatei mit Serveradresse, Passwort und Streaming-Eigenschaften eingerichtet haben (ein gut dokumentiertes Beispiel finden Sie in /usr/share/doc/ices/examples
), können Sie MP3-Audiodateien von Wiedergabelisten (z. B. im .m3u-Format) über einen Icecast2-Server streamen.
/etc/init.d/icecast2 start
ices -c <path_to_config_file> -F <path_to_playlist>
Für weitere Optionen lesen Sie die Dokumentation in der recht aufwendigen Manpage von man ices
.
Darkice für Live-Streaming
Wir können die Ausgabe der lokalen Soundkarte als OGG Vorbis oder als MP3-Stream mit Darkice streamen . Um das Streaming der lokalen Soundkarte zu ermöglichen, müssen wir möglicherweise zuerst das Aufnahmegerät für Darkice in pulseaudio definieren. Dies kann mit Pavucontrol erfolgen . In der Aufnahme wählen Sie die Registerkarte Monitor of <your soundcard>
für die "ALSA - Plug-in [darkice]" .
Die Konfigurationsdatei (gut dokumentiertes Beispiel in /usr/share/doc/darkice/examples
) muss an den Icecast-Server und die lokale Soundumgebung angepasst werden:
[general]
duration = 0 # duration in s, 0 forever
bufferSecs = 1 # buffer, in seconds
reconnect = yes # reconnect if disconnected
[input]
device = default # or `pulse' for Pulseaudio
sampleRate = 44100 # sample rate 11025, 22050 or 44100
bitsPerSample = 16 # bits
channel = 2 # 2 = stereo
[icecast2-0]
bitrateMode = vbr # variable bit rate (`cbr' constant, `abr' average)
quality = 1.0 # 1.0 is best quality
format = mp3 # format. Choose `vorbis' for OGG Vorbis
bitrate = 256 # bitrate
server = localhost # or IP
port = 8000 # port for IceCast2 access
password = hackme # source password to the IceCast2 server
mountPoint = mystream.mp3 # mount point on the IceCast2 server .mp3 or .ogg
name = mystream
Nach dem Speichern dieser Konfiguration (z. B. in ~/music/darkice.cfg
) führen wir zuerst den Icecast-Server aus und können dann die pulseaudio-Ausgabe von der lokalen Soundkarte streamen, indem wir Folgendes aufrufen:
/etc/init.d/icecast2 start
darkice -c ~/music/darkice.cfg
Auf dem Receiver stellen wir uns zum http://<localhost>:8000/mystream.mp3
Abhören ein. <localhost>
ist die IP des Icecast Servers.