Soundserver
How to setup a soundserver for mp3 using icecast and liveice
Grundsätzliches
Das System besteht aus 2 Komponenten: Einem sogenannten Feeder, der einen Audiostream zu einem Server schickt. Dieser Server hat ausreichend Netzwerkbandbreite, um einige Hörer mit dem Audiostrom zu versorgen. Natürlich können beide Prozesse auf dem selben Rechner laufen. Für potentielle Hörer wird eine playlist erzeugt, die dem Player sagt, wie auf die Ressource zugegriffen wird.Hier kommt zum Einsatz:
||/ Name Version Description +++-=================================-=================================-================================================================================== ii liveice 1.0-1.1 Live audio streaming application ii icecast-server 1.3.12-5 MPEG Layer III Streaming Server ii xmms 1.2.10-2 Versatile X audio player that looks like Winamp
Der feeder
Als Feeder stellte sich liveice als nützlich heraus. Der Prozess benötigt eine Konfigurationsdatei, die unter anderen Angaben zum Serverr enthält, dem die Audiodaten geliefert werden sollen. Die liveice.cfg benötigt nur wenige Anpassungen. In der Beispieldatei wird der Server auf Port 8001 angesprochen, der Sound mit 32KBit und mono geschickt. Die Playlist, auf die in der Konfigurationsdatei verwiesen wird ist die Playlist des Feeders! Hier werden Zeile für Zeile die einzelnen mp3-Dateien aufgeführt./export/mp3/served_chilled_2_disc_1/broadway_project__directions.mp3 /export/mp3/various/served_chilled_2_disc_1/mandalay__beautiful.mp3 /export/mp3/various/served_chilled_2_disc_1/nitin_sawhney__the_immigrant.mp3 /export/mp3/various/served_chilled_2_disc_1/afterlife__falling.mp3 /export/mp3/various/served_chilled_2_disc_1/mono__life_in_mono.mp3
Streaming Server
Der Streaming Server nimmt den Audiostream vom Feeder und liefert ihn an die anfragenden Clients. In der Konfigurationsdatei shout.conf wird der Port angegeben, auf dem der Feeder erwartet wird. Zusätzlich wird der Port angegeben, auf dem der Server die Hörer versorgt. Die playlist.pls enthält alle Kontakt- und Infodaten für den Player[playlist] numberofentries=1 File1=http://hyaden.dyndns.org:8001 Title1=(#1 - 663/26833) Micha's Party Chill - my own mix! Length1=-1
Start und Stop
Soll das System automatisch laufen genügt ein Aufruf in /etc/init.d in der richtigen Reihenfolge: Erst der Streaming Server, dann der Feeder. Will man sich die Möglichkeit zur händischen Steuerung nicht verbauen kommt screen zum Einsatz, um später auf den Feeder zugreifen zu können. Hierzu wird die Datei /etc/init.d/liveice leicht angepasst
start() {
# Start daemons.
echo -n $"Starting liveice: "
cd /etc/icecast
start-stop-daemon --start --user renner --quiet --pidfile /var/run/liveice.pid --exec /usr/bin/screen -- -dmS liveice -h 500 /usr/bin/liveice
#/usr/bin/screen -dmS liveice -h 500 "/usr/bin/liveice"
RETVAL=$?
echo
[ $RETVAL -eq 0 ]
return $RETVAL
}