Das SHOUTcast-System ist die am meisten verwendete Lösung im Netz, wenn es um den Betrieb einer MP3-Radiostation geht. Bekannte Internetradios wie RauteMusik.FM benutzen SHOUTcast als technische Basis für ihre Internet-Radio-Stationen, die SHOUTcast-Webseite listet ca. 19000 Stationen weltweit auf (die vorwiegend kostenlos empfangbar sind).
Vorraussetzungen für eine eigene Station ist ein Rechner mit einer entsprechenden Anbindung an das Internet, die Serversoftware für Mac OS X, die Broadcasting-Tools für Mac OS X und natürlich einen MP3-Ordner. Weiterhin ist die Prozessorleistung des Servers von einiger Bedeutung, wenn mehr als eine SHOUTcast-Instanz gestartet werden muss, ist mindestens ein G4-Rechner erforderlich, in meinem Fall arbeitet ein G3 (B/W) noch ganz gut.
Standardmässig legt die Serversoftware 32 gleichzeitige Benutzer für die Station fest, das bedeutet also für eine Station mit der festgelegten Bitrate von 128 kBit/s einen Maximaldurchsatz von einem halben Megabyte pro Sekunde. Dieser Maximal-Wert lässt sich aber durch die config-Datei des Servers weiter absenken.
Es ist möglich, alle Daten von einem public_html-Ordner zu benutzen, aber dann sind besondere Vorkehrungen bzgl.der Sicherheit zu treffen, denn in den config-Dateien stehen die Admin-Passwörter im Klartext drin. Sicherer ist die Variante, die Server-Programme von einem non_public_html-Ordner auszuführen, z.B. in “Applications” oder im “Home”-Directory. Die Serversoftware besteht aus der Application selbst und einer config-Datei, in die die entsprechenden Vorgaben eingetragen werden.
Wir setzen die wichtigsten Parameter (”required stuff”): MaxUser (siehe oben), Password (muss ausgefüllt werden) und Port-Nummer. Eine Änderung der Port-Nummer ist nur dann notwendig, wenn auf der Server-Rechner schon entsprechende Dienste laufen würden, z.B. läuft unter Mac OS X Server auf diesem Port ebenfalls ein MP3-Streaming-Server (QuickTime Streaming Server).
Diese 3 Einstellungen sind notwendig, um den ersten Teil einer ersten Installation erfolgreich abschliessen zu können, die wichtigeren Daten stehen ohnehin in der Broadcaster-Datei, sc_trans.conf.
Die Broadcaster (oder Transcoder) -Programme und Daten können praktischerweise ebenfalls in den Server-Ordner, der Übersicht wegen. Das könnte dann so aussehen:
![SHOUTcast Mac OSX]()
Die sc_trans.conf-Datei enthält alle Informationen zum eigentlichen Stream, Titel des Streams, Stream-URL, das Genre, die Qualität des Streams, die Reihenfolge der Playlist und -am wichtigsten- die Verweise zur Playlist. Erfahrungsgemäss treten hier die meisten Probleme auf, deswegen gehen wir alle Punkte einzeln ab.
PlylistFile=example.lst
Im ersten Punkt der config-Datei wird gleich die Playlist behandelt, hier wird der relative Pfad angegeben. Wenn sie im selben Ordner liegt, wie sc_trans.conf, muss nichts weiter beachtet werden. Im Beispiel belassen wir es bei “example.lst”. Die Playlist selber funktioniert mit folgender Syntax (absolute Verweise):
/users/me/music/radio/titel_1.mp3
/users/me/music/radio/titel_2.mp3
.
.
.
Hier muss der konrete Pfad zur MP3-Datei rein. Die CONFIG-Datei enthält
einen Hinweis wie man diese automatisch erstellt (”use find /path/ -type f -name “*.mp3? …), sehr empfehlenswert für versierte Kommandozeilen-Artisten, ist aber erstmal nicht überlebensnotwendig.
ServerIP=myserver.com
ServerPort=8000
Zweitens ServerIP und ServerPort: ganz wichtig, dass hier die korrekte Adresse eingetragen
wird, die Port-Nummer bleibt bestehen, wenn in der sc_serv.conf keine Änderung gemacht wurde.
Password_yourpassword
Drittens das Passwort, mit dem der Transcoder mit dem Server kommuniziert, dh. hier muss
dasselbe rein, wie in sc_serv.conf.
StreamTitle=My Gay Son
StreamURL=http://mygayson.com
Genre=genres go here
Viertens die Stream-Info-Daten, am besten so lassen!
Logfile=sc_trans.log
Fünftens die Logfile-Datei, wichtig zur Analyse.
Shuffle=1
Sechstens der Abspielmodus, Wert 1 bedeutet zufällig, Wert 0 bedeutet nicht zufällig, der Repeat-Modus ist immer eingschaltet.
Bitrate=80000
SampleRate=44100
Channels=1
Quality=1
Siebtens die Bit-Rate und Sample-Rate sowie die Kanal-Einstellung, Mono oder Stereo plus die Qualitätseinstellung.
CrossfadeMode=1
CrossfadeLength=8000
Achtens der Crossfade-Modus, sehr praktisch. Dazu die Einstellung für die Länge des Crossfades, hier 8 Sekunden.
UseID3=0
Neuntens die ID3-Tag-Einstellung für die Zusatzinformationen, die im Player erscheinen sollen.
Public=1
Zehntens die Einstellung für das öffentliche SHOUTcast-Verzeichnis auf www.shoucast.com, damit erscheint die eigene Station mit den angegebenen Daten (von 4.) in dem Gesamt-Radioverzeichnis. Die letzten Optionen für “user interaction” lasse ich mal weg, die sind unerheblich für den Betrieb des MP3-Radios. Mit diesen Einstellungen sollte man grob starten können, solange die MP3-Playlist ordentlich abgefragt werden kann. Bei Fehlkonfigurationen gibt es entsprechende Fehlermeldungen, die auf Unzulänglichkeiten hinweisen, deswegen werden wir beide Programme starten und versuchen den Server vom Webbrowser inklusive der eigentlichen Internet-Wiedergabe-Liste (.pls) aus zu erreichen.
Mit dem Befehl ./sc_serv (ausgeführt im selben Verzeichnis wie sc_serv) sollte im Terminal folgendes erscheinen:
[Macintosh:~/sites/my_sound] shell% ./sc_serv
*******************************
** SHOUTcast Distributed Network Audio Server
** Copyright (C) 1998-2004 Nullsoft, Inc. All Rights Reserved.
** Use “sc_serv filename.ini” to specify an ini file.
*******************************
Event log:
<07/24/07@15:48:17> [SHOUTcast] DNAS/MacOS_X v1.9.8 (Feb 28 2007) starting up…
<07/24/07@15:48:18> [main] pid: 14313
<07/24/07@15:48:18> [main] loaded config from sc_serv.conf
<07/24/07@15:48:18> [main] initializing (usermax:32 portbase:8000)…
<07/24/07@15:48:18> [main] No ban file found (sc_serv.ban)
<07/24/07@15:48:18> [main] No rip file found (sc_serv.rip)
<07/24/07@15:48:18> [main] opening source socket
<07/24/07@15:48:18> [main] source thread starting
<07/24/07@15:48:18> [source] listening for connection on port 8001
<07/24/07@15:48:18> [main] opening client socket
<07/24/07@15:48:18> [main] Client Stream thread [0] starting
<07/24/07@15:48:18> [main] client main thread starting
Damit ist der SHOUTcast-Server gestartet, sendet allerdings noch nicht. Das erledigt die
Transcoder-Datei sc_trans_macosx, die wir mit dem Aufruf ./sc_trans_macosx starten.
[Macintosh:~/sites/my_sound] shell% ./sc_trans_macosx
*******************************
** TRANScast Distributed Network Audio Content Provider
** Copyright (C) 2000 Nullsoft, Inc. All Rights Reserved.
** Use “sc_trans filename.conf” to specify a config file.
*******************************
<07/24/07@15:49:15> [TRANSCast] DNAS/posix v0.400-LAME (03/04/03) starting up…
<07/24/07@15:49:15> [MAIN] PID: 13244
<07/24/07@15:49:15> [MAIN] Loaded config from sc_trans.conf
<07/24/07@15:49:15> [MAIN] Loading playlist (my_sound.lst)
<07/24/07@15:49:15> [MAIN] Found (16) entries in playlist
<07/24/07@15:49:15> [MAIN] Playlist decoder thread starting
<07/24/07@15:49:15> [MAIN] Streaming thread starting
<07/24/07@15:49:15> [STREAM] Creating stream socket
<07/24/07@15:49:15> [STREAM] Connected to host server
<07/24/07@15:49:15> [DECODE] Opened Demarkus Lewis – Comin Back For Love.mp3
<07/24/07@15:49:15> [CONFIG] WARNING: No InputSamplerate defined, assuming 44100!
<07/24/07@15:49:15> [STREAM] Host server gave success (OK2)
<07/24/07@15:49:15> [STREAM] Stream to 212.211.39.100 established
<07/24/07@15:49:15> [STREAM] Sending stream information
Damit ist die Broadcast-Datei gestartet und wir können über das Webinterface (Beispiel: RauteMusik.FM Club) auf den Server zugreifen und über den Link “Listen” die vom Server-erzeugte .pls-Datei laden, die den dafür vorgesehen Player startet, iTunes bietet sich an.
![sc_serv]()
iTunes zeigt alle die in der sc_trans.conf gemachten Stream-Info-Daten an (siehe Viertens).
![SHOUTcast iTunes]()
Das wärs, den Link auf die .pls-Datei für die Weitergabe und Verlinkung benutzen und schon ist der Anfang eines weltweit operierenden Medienkonzerns gemacht.
Tutorial (c) by Swen Hellmich