Streaming-Radio mit SHOUTcast
1.
Einrichten eines SHOUTcast Servers
Installieren der Dateien
Den SHOUTcast Server finden Sie im Paket media-sound/SHOUTcast-server-bin.
Sie können ihn mit folgendem Kommando installieren:
Befehlsauflistung 1.1: SHOUTcast installieren |
# emerge shoutcast-server-bin
|
Der SHOUTcast Server wird nun installiert. Der nächste Schritt ist die
Konfiguration Ihres neuen SHOUTcast Servers.
Konfiguration des SHOUTcast Servers
Nachdem der SHOUTcast Server nun installiert ist, muss er konfiguriert werden.
Die Konfigurationsdatei finden Sie in /etc/shoutcast/sc_serv.conf.
Lassen Sie uns mit der Konfiguration beginnen. Stellen Sie sicher, dass Sie
root sind und öffnen Sie die Konfigurationsdatei mit Ihrem Lieblingseditor.
Ich werde für dieses Beispiel vi benutzen:
Befehlsauflistung 1.2: Öffnen der Konfigurationsdatei |
# emerge shoutcast-trans-bin
# vi /etc/shoutcast/sc_serv.conf
|
Das wird die Konfigurationsdatei des SHOUTcast Servers anzeigen. Hier sehen
Sie die Konfigurationsdatei und die verschiedenen Optionen, die Sie setzen
können. Lassen Sie uns nun ansehen, wie Sie die einzelnen Optionen verwenden
können.
Notwendige Optionen
Befehlsauflistung 1.3: Setzen des Benutzer-Limits |
MaxUser=10
|
Hier wird die maximale Anzahl an Benutzern festgelegt. Wie in der Überschrift
bereits angedeutet, ist es unklug, 100 Benutzer bei einem Upload von
256 kbps einzustellen (das ist die Anzahl, die ich gesetzt habe, da mein
Upload dem entspricht). Wenn Sie den SHOUTcast Server verwenden, um ein LAN
zu versorgen, können Sie diesen Wert vermutlich VIEL höher einstellen (auf
die erwähnten 100 ohne Probleme). Bitte denken Sie daran, die von Ihnen
verwendete Bandbreite nicht zu verschwenden. Bandbreite ist ein sehr
kostenintensiver Posten für ISPs und Einige werden Ihren Account abschalten,
Ihnen hohe Beträge in Rechnung stellen, oder beides.
Befehlsauflistung 1.4: Festlegen des Passworts |
Password=ein_hart_zu_knackendes_passwort
|
Dies ist die Stelle an der Sie das Passwort festlegen. Das Passwort selbst ist
in Klartext. Aus Sicherheitsgründen empfehle ich DRINGEND, keine Passworte zu
verwenden, die benutzt werden um kritische Systemkomponenten oder andere
sensitive Informationen schützen. Lassen Sie das Kennwort so zufällig wie
möglich aussehen, mit einer Kombination aus Ziffern und Buchstaben. Dieses
Passwort wird von SHOUTcast Trans (oder einem anderen Inhaltslieferanten)
verwendet, um sich mit dem Server zu verbinden und Stream-Inhalte zur Verfügung
zu stellen.
Befehlsauflistung 1.5: Einstellen des Ports |
PortBase=8000
|
Dieser Wert bestimmt, welchen Port Benutzer verwenden werden, um sich mit Ihrem
SHOUTcast Server zu verbinden. Die Standardeinstellung ist 8000, weil diese
Einstellung von den meisten Programmen die fähig sind, mit mp3-Servern
umzugehen, verwendet wird (Audacious, winamp etc.). Wie gesagt, wenn Sie einen
Port kleiner als 1024 nutzen wollen, müssen Sie root sein. Wie auch immer,
ich rate dringend davon ab, einen Port kleiner als 1024 für Ihren SHOUTCAST
Server zu verwenden.
Befehlsauflistung 1.6: Protokollierung einstellen |
LogFile=/var/log/SHOUTcast.log
|
Hier stellen Sie den Ort für Ihre SHOUTcast Server Log-Datei ein. Das Ebuild
hat es auf /dev/null gesetzt, daher müssen Sie es ändern um eine Log-Datei zu
erhalten. Ich habe es auf die übliche Örtlichkeit, /var/log/ eingestellt. Sie
können den Ort aber frei wählen.
Befehlsauflistung 1.7: Echtzeit-Statistik einschalten |
RealTime=0
|
Mit dieser Einstellung werden Informationen über das gerade abgespielte Lied
mit einem Abstand von einer Sekunde auf stdout ausgegeben. Diese Einstellung
wird vom Ebuild ausgeschaltet, um den SHOUTcast Daemon so leise wie eben
möglich laufen zu lassen. Setzen Sie diese Einstellung auf 1, wenn Sie diese
Informationen jede Sekunde haben möchten. Wie auch immer, ich empfehle Ihnen,
hierfür die Statusseite zu verwenden.
Befehlsauflistung 1.8: Echtzeit-Protokollierung einschalten |
ScreenLog=0
|
Diese Einstellung ist durch das Ebuild standardmäßig ausgeschaltet, damit der
Daemon so leise wie eben möglich läuft. Diese Einstellung wird jedes Ereignis
(Verbindungsaufnahmen und -abbrüche etc.) auf stdout ausgegeben. Da die
Protokolldatei dasselbe tut, empfehle ich, diese zu verwenden.
Befehlsauflistung 1.9: Setzen der letzten, angezeigten Liednummer |
ShowLastSongs=10
|
Wie es der Titel schon verrät, stellt dieser Wert ein, wie viele der zuletzt
gespielten Lieder von /played.html angezeigt werden. Wenn Sie hier einen
größeren Wert als 20 wählen, sollten Sie etwas mehr Kaffee in Erwägung ziehen.
Befehlsauflistung 1.10: Einstellen des Protokollierung von Dateisystem-Modifikationen |
|
Diese Einstellung schaltet das Protokollieren von Verzeichnis-Modifikationen
durch das DNAS (Distributed Network Audio Server), oder kurz SHOUTcast, ein
oder aus. Empfohlen wird diese Einstellung für alle, die eine Protokollierung
mit der maximal möglichen Sicherheit haben möchten. Heim- oder
Gelegenheitsnutzer werden dies sicher nicht benötigen.
Befehlsauflistung 1.11: Protokollierung von HTTP-Anfragen einschalten |
|
Dies gibt an, ob Zugriffe auf den HTTP Server, den SHOUTcast zur Verfügung
stellt, protokolliert werden sollen oder nicht. Auch hier ist dies wieder
für diejenigen zu empfehlen, die eine höchstmöglich sichere Protokollierung
wünschen, nicht aber für den Heim- und Gelegenheitsnutzer.
Befehlsauflistung 1.12: W3C-Protokollierung einschalten |
W3CEnable=Yes
W3CLog=/dev/null
|
Die erste Option schaltet die W3C-Protokollierung ein. Dieser Typ
Protokollierung kann sehr einfach mittels der empfohlenen, aufgelisteten
Programme analysiert werden. Dies ist empfehlenswert für Alle, die eine
möglichst genaue Statistik haben möchten. Die zweite Option gibt an, wo das
W3C-Protokoll gespeichert werden soll. Das Ebuild setzt dies auf /dev/null.
Netzwerk-Konfiguration
Befehlsauflistung 1.13: Einstellen der Quell-IP |
SrcIP=ANY
|
Die SrcIP Variable gibt an, von welcher IP der zu sendende Inhalt kommt. Dies
kann ein anderer Server sein (relaying), localhost (üblich) oder irgendeine
andere IP, die von Ihrer Schnittstelle zur Verfügung gestellt wird. Setzt man
dies auf localhost, verhindert man, dass irgendein anderer Server Ihren Server
als Sendequelle verwendet. Standardeinstellung ist ANY und führt dazu, dass
Ihr Server jede IP als Quelle verwendet. Aus Sicherheitsgründen ist es besser,
dies auf eine spezielle IP einzustellen.
Befehlsauflistung 1.14: Einstellen der Ziel-IP |
DestIP=ANY
|
Dies bestimmt, mit welcher IP Ihrer Schnittstelle sich Benutzer verbinden
können. Dies kann localhost sein (wenn Sie unsozial sind und nur zu sich
selbst senden wollen), eine private IP (192.168.0.101 um es einem lokalen
Netzwerk zur Verfügung zu stellen) oder Ihre externe IP (zum Beispiel
209.204.249.201 um an ein WAN zu senden, jedoch nicht an ein LAN). In den
meisten Fällen können Sie Ihre Sendung erreichen, indem Sie 127.0.0.1 anstelle
des hier aufgeführten verwenden. ANY veranlasst Ihren SHOUTcast Server, sich
auf allen verfügbaren IP-Adressen zur Verfügung zu stellen.
Befehlsauflistung 1.15: Einstellen des proxy/yp.SHOUTcast.com Ports |
Yport=80
|
Diese Einstellung hat 2 Funktionen. Die erste ist der Port, mit dem man sich
zu yp.SHOUTcast.com verbindet. yp.SHOUTcast.com ist die Seite von nullsoft für
öffentliche Server, damit Benutzer wissen, wo Sie Sendungen zuhören können.
Benutzer können auf dieser Seite nach Ihrem Server suchen. Die zweite ist die
Verwendung für Web-Proxies. Stellen Sie dies auf den Port ein, den Sie für
Proxy-Verbindungen verwenden wollen und stellen Sie DestIP auf Ihren Proxy
zum Senden ein.
Befehlsauflistung 1.16: Konfigurieren von rückwärtigem DNS |
NameLookups=0
|
Mit dieser Option geben Sie an, ob Sie reverse DNS-Auflösung von Clients
ausführen wollen oder nicht. Dies würde eine IP Adresse nehmen und den Versuch
starten den passenden Hostnamen herauszufinden. Verwenden Sie diese
Einstellung für Protokollierungszwecke, um einen detaillierteren Bericht zu
erhalten.
Befehlsauflistung 1.17: Relaying einrichten |
|
Hiermit stellen Sie ein, dass Ihr Server als Relay Server arbeiten soll.
Relay Servers werden häufig verwendet, um eine Verbindung mit niedriger
Bandbreite zu verwenden, die nur zu einem Client senden kann und die eigene,
hohe Bandbreite für Verbindungen zu mehreren Clients zu benutzen. RelayPort
gibt den Port und die IP-Adresse des SHOUTcast Servers an, für den Sie als
Relay fungieren möchten. Kommentieren Sie dies aus, wenn Sie nicht planen,
Ihren Server als Relay zu verwenden.
Server Konfiguration
Befehlsauflistung 1.18: Setzen des Admin-Kennworts |
|
Beim Setzen dieses Kennworts wird ein Sender (broadcaster) und ein
Administrator erzeugt (mit Sender ist hier die Person gemeint, die die
Musikstücke zum Senden auswählt und so das Programm bestimmt). Der Sender kann
sich mit einem Kennwort anmelden und Verbindungen beobachten. Wenn die Person
auf dem Server administrieren, Benutzer rausschmeißen oder bannen will, muss
sie das Admin-Kennwort haben. Diese Option bietet spezifischere Rollen auf dem
Server. Dies wird empfohlen, wenn der Sender und der Administrator nicht
dieselbe Person sind.
Befehlsauflistung 1.19: Einstellen des automatischen Verbindungsabbruchs für Benutzer |
AutoDumpUsers=0
|
Dies bestimmt, ob Benutzer aus dem System geworfen werden, wenn die Sendung
aus irgendeinem Grund abreißt. Dies ist auf 0 eingestellt, so dass Clients
entweder selbst einen Timeout erhalten oder weiter versuchen, die Sendung
zu puffern. Verwenden Sie dies, wenn Sie kurze Unterbrechungen erwarten.
Befehlsauflistung 1.20: Einstellen des Quell-Timeouts |
AutoDumpSourceTime=30
|
Hier wird angegeben, wann der SHOUTcast Server aufgeben soll, auf eine Quelle
(meist ein Relay Server) für den zu versendenden Inhalt zu warten. Alles
zwischen 30 und 60 sollte ein vernünftiger Wert hierfür sein.
Befehlsauflistung 1.21: Einstellen des Inhalts-Verzeichnis |
ContentDir=/opt/SHOUTcast/content/
|
Das ContentDir gibt an, wo abrufbarer Inhalt abgelegt werdensoll. Zum Beispiel
wenn Sie eine Ansage an Mitarbeiter versenden wollen, könnten Sie dieses
Verzeichnis für diesen Zweck verwenden. Das SHOUTcast Ebuild setzt dies für Sie
auf /opt/SHOUTcast/content. Um es zu verwenden, legen Sie ein MP3
in das Inhalts-Verzeichnis und öffnen Sie mit Ihrem Browser diese URL:
http://example.com:[port]/content/mp3name.pls. Der SHOUTcast Server wird
automatisch eine streaming media kompatible Abspielliste für das MP3 erstellen
und es auf Verlangen versenden. Verwenden Sie dies als eine Alternative zu
SHOUTcast Trans als Quelle für zu versendende Medien.
Befehlsauflistung 1.22: Einstellen einer Intro-Datei |
|
Dies erlaubt es Ihnen, eine Intro-Datei zu konfigurieren. Jedes Mal, wenn sich
ein Benutzer mit dem Server verbindet, wird er diese Datei hören. Wie gesagt
muss die Bitrate der Sendung und die des Intro-Lieds übereinstimmen,
andernfalls wird es nicht funktionieren. Sie können allerdings Dateien wie z.B.
intro128.mp3 und intro64.mp3 hinterlegen. Benutzer, die sich mit 128 kbit/s
verbinden werden dann die Datei intro128.mp3 hören und Benutzer mit 64 kbit/s
entsprechend die Datei intro64.mp3.
Befehlsauflistung 1.23: Einstellen einer Backup-Datei |
|
Es ist hier ähnlich wie oben, allerdings wird sie gespielt wenn die Sendequelle
endet und nicht wenn die Benutzer die Verbindung beenden. Dies wird nur dann
funktionieren, wenn AutoDumpusersauf 0 gesetzt ist.
Befehlsauflistung 1.24: Einstellen des Titel-Formats |
TitleFormat=Chris Gentoo Beats: %s
|
Dies setzt einen festen Titel für Ihren SHOUTcast Server. Verwenden Sie dies
wenn Ihre Sendequelle vom Namen Ihres SHOUTcast Servers. Dies funktioniert
NICHT für Relay Server.
Befehlsauflistung 1.25: Einstellen des URL-Formats |
|
Hier ist es identisch zum Titel-Format, außer dass die oben aufgeführte URL
anstelle der URL der Sendequelle verwendet wird.
Befehlsauflistung 1.26: Einstellen des öffentlichen Status der Sendequelle |
PublicServer=default
|
Hier geben Sie an, ob oder ob Sie nicht wünschen, dass Ihr Server als
öffentlicher Server aufgeführt wird, auch wenn Ihr Relay Server/Quelle Plug-In
als solches aufgeführt ist.
Befehlsauflistung 1.27: Relaying erlauben |
AllowRelay=Yes
|
AllowRelay bestimmt, ob es anderen Servern erlaubt ist, Ihren Inhalt zu
verwenden. Wenn Sie nicht glauben, dass Sie Relay zulassen wollen, setzen
Sie dies auf No.
Befehlsauflistung 1.28: Relays erlauben, die Quelle öffentlich anzuzeigen |
AllowPublicRelay=Yes
|
AllowPublicRelay gibt an, ob Sie im SHOUTcastpublic-Verzeichnis des Servers, den
Sie als Relay verwenden und der bereits aufgeführt wird, gelistet werden wollen
oder nicht. Beachten Sie bitte, dass PublicServer diese Einstellung außer Kraft
setzen kann.
Befehlsauflistung 1.29: MetaInterval einstellen |
MetaInterval=32768
|
Lassen Sie dies bitte wie es ist.
Zugriffs-Konfiguration
Befehlsauflistung 1.30: Setzen einer maximalen Hörlänge |
|
Ich wüsste nicht, warum Sie dies brauchen sollten. Grundsätzlich beenden Sie
die Verbindung von Benutzern, die zu lange verbunden sind. Das Einzige, was
ich mir vorstellen könnte ist, nur in der Verbindung wartende Benutzer oder
Benutzer, von denen Sie denken, dass sie was anderes tun sollten als Ihrer
Sendung zuzuhören, trennen zu können. Der Wert wird in Minuten angegeben.
Befehlsauflistung 1.31: Einstellen der Bann-Datei |
|
Dies ist der Dateiname für die Liste an Clients, die von Ihrem Server verbannt
sind. Die Standardeinstellung ist sc_serv.ban aber Sie können für diese
Einstellung jeden Namen verwenden, den Sie möchten.
Befehlsauflistung 1.32: Einstellen der Rip-Liste |
|
So grimmig wie sich das anhört (RIP steht für Rest in peace, im deutschen
"Ruhe in Frieden"), so heißt es hier "Reserved IP". Verwenden Sie diese
Einstellung für Freunde oder andere Menschen, die Sie für wichtiger erachten,
als andere Benutzer. Wenn Sie bereits an die maximale Anzahl an Benutzern
senden und eines Ihrer Rip-Mitglieder versucht, sich mit dem Server zu
verbinden, wird die am längsten verbundene Person vom Server geschmissen, um
die Verbindung zu ermöglichen.
Befehlsauflistung 1.33: Einstellen, dass sich nur RIP-Benutzer verbinden können |
|
Hiermit erlauben Sie nur RIP-Mitgliedern, sich mit Ihrem SHOUTcast Server zu
verbinden. Sie können dies entweder für private Radiosendungen verwenden oder
um nur bestimmten Relays zu erlauben, auf Ihre Sendungen zuzugreifen.
Massen-Konfiguration
Befehlsauflistung 1.34: Eindeutige Variablen setzen |
|
Es wäre sicherlich sehr ärgerlich, wenn man all die Protokoll-, Bann- usw.
Dateien auf etwas einheitliches setzen müsste, wenn man mehrere SHOUTcast
Server betreibt. Anstelle dessen können Sie Unique auf etwas setzen und $
wird dann durch das ersetzt, worauf Unique gesetzt wurde. Zum Beispiel,
wenn in einer Datei Unique=Jazz gesetzt wurde und eine andere Unique=Rock,
dann würde Log=/var/log/$.log zu /var/log/Jazz.log in der einen
Konfigurationsdatei und zu /var/log/Rock.log in der Anderen. Dies ist viel
einfacher, wenn man viele SHOUTcast Server mit gleichen Konfigurationen
betreiben will.
Befehlsauflistung 1.35: Einstellen von gemeinsamen Konfigurationsvariablen |
|
Wenn Sie mehrere SHOUTcast Server betreiben und gleiche Konfigurationsvariablen
verwenden möchten, ohne diese in jeder Konfigurationsdatei setzen zu müssen,
können Sie Include auf eine Datei einstellen, die Einstellungen enthält, die
in allen Konfigurationen gleich sind.
Optimierungs-Konfiguration
Befehlsauflistung 1.36: Einstellen der Anzahl verwendeter CPUs |
|
Auf Mehrprozessorsystemen können Sie diese Einstellung verwenden, um den
SHOUTcast Server zu zwingen, genau die in CpuCount angegebene Anzahl an
Prozessoren zu verwenden. Der Standard hier ist, einen Thread pro Prozessor und
entsprechende "Zuhörer" (listeners) über alle Threads zu verwenden. Wenn Sie
dies niedriger als die tatsächliche Anzahl Prozessoren Ihres Systems setzen,
bleiben entsprechend viele Prozessoren für ander Aufgaben übrig.
Befehlsauflistung 1.37: Einstellen von Datenübertragungslücken |
|
Der SHOUTcast Server wird den Sleep-Wert verwenden, um Lücken zwischen einzelnen
Datensendungen zu bestimmen. Desto höher der Wert, desto länger die Lücke. Um so
niedriger der Wert, umso kürzer die Lücke und umso höher die CPU-Belastung, die
der SHOUTcast Server verursacht. Auf langsameren Systemen möchten Sie eventuell
diesen Wert niedriger wählen, damit die Daten regelmäßiger an Ihre Benutzer
gesendet werden. Am besten lässt man diesen Wert wie er ist.
Befehlsauflistung 1.38: Einstellen der XML-Ausgabe |
|
Wahrscheinlich werden Sie sich über diese Einstellungen keine Gedanken machen
müssen, solange Sie keinen eigenen XML-Parser verwenden wollen, um eigene
Statistiken für Ihren Server zu erzeugen. Wenn der XML-Parser keine Leerzeichen
und Zeilenumbrüche in XML verarbeiten kann, setzen Sie dies auf Yes und es
sollte alles funktionieren.
Abschluss der Konfiguration
Ihr SHOUTcast Server sollte nun konfiguriert sein. Für Firmen, die SHOUTcast
verwenden empfehle ich, W3C-Protokollierung einzuschalten, da es einfach
eingelesen und für die Erstellung benutzerdefinierte Statistiken verwendet
werden kann. Sie sollten zudem das AdministratorPassword setzen. Sie möchten
eventuell auch einige der Massen-Konfigurations-Optionen verwenden, wenn Sie
mehrere SHOUTcast Server erstellen.
Nach den Konfigurationseinstellungen werden wir nun daran gehen, den SHOUTcast
zum Laufen zu bekommen. Wir werden mit einfachem Senden auf Anforderung beginnen
und uns dann später SHOUTcast Trans zuwenden (da es etwas komplizierter ist).
2.
Mit dem SHOUTcast Server loslegen
Einrichten von Senden auf Anforderung (on demand streaming)
Senden auf Anforderung erstellt automatisch, wie im Konfigurations-Kapitel
gezeigt, Abspiellisten für MP3 Dateien im Inhalts-Verzeichnis. Das SHOUTcast
Server Ebuild setzt dieses Verzeichnis auf /opt/SHOUTcast/content für alle Ihre
MP3s auf Abruf. Lassen Sie uns damit beginnen, eine einfache MP3-Datei auf Abruf
zu erstellen.
Zunächst benötigen wir ein MP3 irgendwo her und packen es in das Inhalts-
Verzeichnis. Wir werden diese Datei sample.mp3 aus einem /MP3 Verzeichnis
nehmen, das ich erstellt habe.
Befehlsauflistung 2.1: Kopieren eines MP3 in das Inhalts-Verzeichnis |
# cp sample.mp3 /opt/SHOUTcast/content/
# cd /opt/SHOUTcast/content/
# ls
sample.mp3
|
OK, jetzt ist die Datei kopiert. Nun müssen wir den SHOUTcast Server starten,
damit auf die Datei zugegriffen werden kann.
Befehlsauflistung 2.2: Starten des SHOUTcast Servers |
# /etc/init.d/shoutcast start
* Starting Shoutcast Server...
*******************************************************************************
** SHOUTcast Distributed Network Audio Server
** Copyright (C) 1998-2004 Nullsoft, Inc. All Rights Reserved.
** Use "sc_serv filename.ini" to specify an ini file.
*******************************************************************************
[ ok ]
|
Das kleine Banner ist hier dazu da, sicherzustellen, dass nichts abgestürzt ist
(z.B. das Sie wissen, dass Ihr Server wirklich gestartet ist). Ihr SHOUTcast
Server ist nun gestartet. Aufgrund der Natur von Inhalten auf Abruf (on demand
content), werden Sie NUR mit einem Browser darauf zugreifen können. MPlayer
oder was auch immer sind nicht in der Lage es so abzuspielen, wie es ist. Ich
verwende kmplayer um es direkt aus meinem Browser heraus abzuspielen. Sie
können das Ergebnis im nächsten Bild sehen.
Abbildung 2.1: On Demand Content |
 |
Einige Nutzer haben Audacious so eingerichtet, dass es ihre Audio Mime-Typen zu
verarbeiten, so dass ihr Browser Audacious starten kann, um enthaltenen Stream
abzuspielen. Nun da Sie in der Lage sind, mit Inhalten auf Abruf zu arbeiten,
werden wir daran arbeiten, SHOUTcast Trans zu verwenden um einen echten
Radio-Server (streaming radio) zu erstellen.
3.
SHOUTcast Trans konfigurieren
SHOUTcast Trans Einführung
SHOUTcast Trans steht für SHOUTcast Trans(coder), da es fähig ist, MP3s in
geringere oder höhere Bandbreiten zu transformieren. SHOUTcast Trans arbeitet
durch Senden von MP3s aus einer Abspielliste, die in der Konfigurationsdatei
eingetragen ist. Wir werden mit der Konfiguration von SHOUTcast Trans
beginnen, so dass wir eine echte Radiostation haben. Wir öffnen zuerst einmal
die Konfigurationsdatei von SHOUTcast Trans, die hier zu finden ist:
/etc/shoutcast/sc_trans.conf.
Befehlsauflistung 3.1: Öffnen der SHOUTcast Trans Konfigurationsdatei |
# vi /etc/shoutcast/sc_trans.conf
|
Nun da wie die Konfigurationsdatei von SHOUTcast Trans geöffnet haben, werden
wir beginnen, die Sendequelle (streaming source) einzurichten.
Konfiguration von SHOUTcast Trans
Befehlsauflistung 3.2: Einrichten der Abspielliste |
PlaylistFile=/opt/SHOUTcast/playlists/playlist.lst
|
Diese Einstellung sagt SHOUTcast, wo sie Ihren zu sendenden Inhalt findet.
Sie erwartet eine existierende Datei, also lassen Sie uns fortfahren und
eine Abspielliste erstellen. Ich werde relativ schnell eine aus meinem bereits
zuvor erwähnten /Mp3 Verzeichnis erstellen.
Befehlsauflistung 3.3: Erstellen der Abspielliste |
# find /Mp3 -type f -name "*.mp3" > /opt/SHOUTcast/playlists/playlist.lst
|
Nun, da die Abspielliste erstellt wurde, tragen wir diese in der
Konfigurationsdatei ein und SHOUTcast Trans weiß nun, wo es die zu sendenden
Dateien findet.
Befehlsauflistung 3.4: Einstellen von Server IP und Port |
Serverip=127.0.0.1
ServerPort=8000
|
Diese Einstellung entscheidet, wohin die Inhalte gesendet werden. In dieser
Anleitung wird es die IP und der Porz des SHOUTcast Severs sein, den Sie zuvor
eingerichtet haben (DestIP und PortBase).
Befehlsauflistung 3.5: Setzen des SHOUTcast Server Kennworts |
Password=password_you_setup_in_sc_serv.conf
|
Dies ist dasselbe Kennwort, dass Sie während der SHOUTcast Server Konfiguration
verwendet haben.
Befehlsauflistung 3.6: Einstellen Ihrer Sendungs-Informationen |
StreamTitle=Chris Gentoo Beats
StreamURL=http://www.gentoo.org
Genre=JPOP Electronica And More!
|
Dies stellt den Titel Ihrere Sendung (z.B. Radio One), die URL (z.B.
http://www.radio-one.com) und das Genre (z.B. Electronica Trance Tribal)
ein.
Befehlsauflistung 3.7: Einstellen der Protokolldatei |
LogFile=/var/log/sc_Trans.log
|
Dies zeigt auf die Protokolldatei für SHOUTcast Trans. Alle Protokollierungen
gehen dort hinein.
Befehlsauflistung 3.8: Einstellen des Mischens |
Shuffle=1
|
Entscheiden Sie, ob oder ob Sie nicht wünschen, dass Lieder zufällig von Ihrer
Abspielliste gespielt werden sollen. Die meisten Benutzer werden dies auf 1
setzen. Wenn Sie Liedbestellungen annehmen wollen, setzen Sie dies auf 0. Ich
werde später erklären, wie das einzurichten ist.
Befehlsauflistung 3.9: Einrichten des Streams |
Bitrate=128000
SampleRate=44100
Channels=2
Quality=1
|
Mit Bitrate stellen Sie die Bitrate für Ihre Sendung ein. Sie kann von 8000
(8 kBit/s) bis 128000 (128 kBit/s) reichen. Samplerate setzt die Abtastrate
der Sendung. Sie kann alle Werte von 11025 (11025 kHz) bis 44100 (44100 kHz)
annehmen. Channels setzt die Anzahl der Kanäle, auf denen Ihre Sendung
ausgestrahlt wird. Dies kann entweder 1 (mono) oder 2 (stereo) sein. Quality
setzt die Sendungsqualität. Diese ist trotzdem auch von der
Bitrate/Samplerate/Channels beeinflusst. Damit behandeln Sie die Komprimierung
der Sendung. 1 gibt Ihnen die beste Qualität, 10 ergibt die beste
Geschwindigkeit. Bedenken Sie die Bandbreite Ihrer Verbindung, wenn Sie diese
Werte einstellen. Verwenden Sie diese Richtlinien, um die Werte zu bestimmen,
mit denen Ihre MP3s gesendet werden sollen.
Befehlsauflistung 3.10: Einstellen des Überblendens |
CrossfadeMode=1
CrossfadeLength=8000
|
Dies stellt die Überblendung (crossfading) von Liedern ein. Setzen sie dies auf
0, schalten Sie Überblendung aus. Setzen Sie es auf 1, wird Lied 1 ausgeblendet
und Lied 2 eingeblendet. Setzen Sie es auf 2, wird Lied 1 eingeblendet und
Lied 2 ausgeblendet. Length gibt an, wie lange die Überblendung in ms dauert.
Befehlsauflistung 3.11: Verwendung von ID3 einstellen |
UseID3=1
|
Dies entscheidet, ob Sie den ID3-Tag für Informationen über Ihr MP3 nutzen
wollen oder nicht.
Befehlsauflistung 3.12: Einstellen des Öffentlich-Status |
Public=0
|
Diese Einstellung legt fest, ob Sendungen öffentlich aufgelistet werden, wenn
Sie relaying zu einem Server verwenden. Bedenken Sie, dass Sie dies in
sc_serv.conf übersteuern können.
Befehlsauflistung 3.13: Einstellen der Interaktionsmöglichkeiten für Benutzer |
AIM=AIMHandle
ICQ=
IRC=SHOUTcast
|
Hier können Sie Informationen angeben, wie man Sie (der DJ) erreichen kann.
Sie können AIM oder ICQ-Kanäle für Liederwünsche oder alles Mögliche
einrichten. Sie können auch Ihren eigenen IRC-Channel einrichten, so dass Sie
mit mehreren Benutzern gleichzeitig kommunizieren können.
Abschluß der SHOUTcast Trans Konfiguration
Ihr SHOUTcast Trans ist nun fertig eingerichtet um Sendungen an Ihren SHOUTcast
Server zu schicken. Nun beginnen wir, unsere eigenen MP3s zu senden.
4.
Loslegen mit SHOUTcast Trans
SHOUTcast Trans starten
Da ich meistens SHOUTcast Trans mit SHOUTcast Server zusammen verwende, tendiere
ich dazu, SHOUTcast Trans zu starten, welches dann SHOUTcast für Sie startet
(wesentlich einfacher). Daher fahren wir mit dem Starten von SHOUTcast Trans
fort.
Befehlsauflistung 4.1: Starten von Shoutcast Trans und Shoutcast Server |
# /etc/init.d/shoutcast_trans start
* Starting Shoutcast Server...
*******************************************************************************
** SHOUTcast Distributed Network Audio Server
** Copyright (C) 1998-2004 Nullsoft, Inc. All Rights Reserved.
** Use "sc_serv filename.ini" to specify an ini file.
*******************************************************************************
[ ok ]
* Starting Shoutcast Trans... [ ok ]
|
Die SHOUTcast Trans Sendung anhören
Nun, nachdem SHOUTcast Trans gestartet wurde, wollen wir der Sendungn zuhören.
Ich verwende MPlayer in diesem Beispiel, um die Sendung abzuspielen.
Befehlsauflistung 4.2: Ihren Stream hören |
# mplayer -cache 1024 http://127.0.0.1:8000/
...
Playing http://127.0.0.1:8000/.
Connecting to server 127.0.0.1[127.0.0.1]:8000 ...
Name : Chris Gentoo Beats
Genre : JPOP Electronica And More!
Website: http://www.gentoo.org
Public : no
Bitrate: 128kbit/s
Cache size set to 1024 KBytes
Connected to server: 127.0.0.1
Cache fill: 9.38% (98304 bytes) Audio file detected.
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
MP3lib: init layer2 and 3 finished, tables done
mpg123: Can't rewind stream by 156 bits!
AUDIO: 44100 Hz, 2 ch, 16 bit (0x10), ratio: 16000->176400 (128.0 kbit)
Selected audio codec: [mp3] afm:mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
Checking audio filter chain for 44100Hz/2ch/16bit -> 44100Hz/2ch/16bit...
AF_pre: af format: 2 bps, 2 ch, 44100 hz, little endian signed int
AF_pre: 44100Hz 2ch Signed 16-bit (Little-Endian)
AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian) (2 bps)
Building audio filter chain for 44100Hz/2ch/16bit -> 44100Hz/2ch/16bit...
Video: no video
Starting playback...
|
Das war jetzt vielleicht etwas kurz. Den -cache Schalter habe ich eingefügt,
um meine um einiges höheren Buffer-Einstellungen zu übersteuern. Und voila!
Sie hören nun die Sendung! Im nächsten Kapitel zeige ich Ihnen, wie Sie noch
etwas mehr mit Ihrem SHOUTcast Server anfangen können.
5.
Fortgeschrittene Nutzung von SHOUTcast
Kommerzielle Verwendung
Firmen können SHOUTcast auf mehrere Arten verwenden:
-
Verwenden Sie Sendungen auf Abruf (on demand streaming), um interessantere,
tägliche Ankündigungen zu tätigen.
-
Machen Sie öffentliche Bekanntmachungen verfügbar, wenn Sie passieren,
lassen Sie Ihre Kunden auf den Punkt wissen, was abgeht. Danach archivieren
Sie diese Inhalte als Sendung auf Abruf für späteren Zugriff.
-
Machen Sie Interviews als Sendung und archivieren Sie sie dann für den
Zugriff auf Abruf.
Es gibt natürlich noch mehr Möglichkeiten, SHOUTcast Server im Geschäft anstelle
von langweiligem, altmodischen Text!
Mit SHOUTcast als DJ arbeiten
SHOUTcast Server ist einer der beliebtesten Server für beide, unerfahrene DJs
und alte Hasen. Für die, die gerade damit anfangen, gibt es ein paar Wege,
das Erlebnis für die Hörer Ihres SHOUTcast Servers zu verbessern. Ein Intro-Lied
ist ein Schlüssel dazu. Es gibt den Hörern einen Eindruck von Ihrer Station.
Stellen Sie sicher, dass Sie eines verwenden. Melden Sie ihren Server bei
yp.SHOUTcast.com (beschrieben im Abschnitt SHOUTcast Server Konfiguration), so
dass jeder weiß, wo Sie zu finden sind. Eine der einzigartigen Fähigkeiten ist,
dass Wünsche angenommen werden können. Um Wünsche umsetzen zu können, müssen
Sie zuerst das Mischen in der sc_Trans.conf abschalten. Halten Sie, ich würde
sagen etwa 10, Lieder bereit um anfangen zu können. Dann fangen Sie mit dem
Wünschen von Liedern in der Mitte an. Wenn jemand ein Lied wünscht, fügen Sie
es am Ende der Abspielliste an. Dann können Sie dieses Skript verwenden, um
zu steueren was SHOUTcast Trans mit Ihrer Abspielliste macht:
Befehlsauflistung 5.1: djcontrol |
case "$1" in
"reload")
kill -s USR1 `cat /var/run/SHOUTcast_Trans.pid`
;;
"next")
kill -s WINCH `cat /var/run/SHOUTcast_Trans.pid`
;;
*)
echo "Invalid command"
;;
esac
|
Wenn Sie das Lied zur Abspielliste hinzugefügt haben, müssen Sie SHOUTcast Trans
mitteilen, dass Ihre Abspielliste um das gewünschte Lied geändert wurde.
Befehlsauflistung 5.2: Erneutes Laden der Abspielliste |
# djcontrol reload
|
Sie sollten jetzt Ihre Hörer wissen lassen, nach welchem Lied der Wunsch
gespielt wird. Oder Sie können die restlichen Lieder wie folgt überspringen:
Befehlsauflistung 5.3: Überspringen von Einträgen in der Abspielliste |
# djcontrol next
|
Seien Sie bitte vorsichtig und überspringen Sie nicht zuviele Einträge,
da es keine Möglichkeit gibt, auf den vorherigen Eintrag zurückzugehen.
Wenn Sie den gewünschten Eintrag erreichen, startet das gewünschte Lied.
Ich würde warten, bis ich etwa 5 Wünsche habe, bevor ich mit dem Abspielen
der Lieder anfange. Auf diese Art müssen Sie nicht den ganzen Weg zum
Anfang zurückgehen. Wenn Sie keine weiteren Wünsche mehr bekommen und
denken, Ihre Wunschstunde ist vorbei, kopierenSie einfach Ihre nächste
Abspielliste über die Wunsch-Abspielliste und laden Sie sie erneut.
Wenn das aktuelle Lied vorbei ist, fängt die neue Abspielliste an.
Schlusswort
Damit sind wir am Ende der Anleitung zu SHOUTcast Server und SHOUTcast Trans.
Ich hoffe Sie konnten von den hier gegebenen Informationen profitieren und
bitte schreiben Sie mir EMails mit Kommentaren und Vorschlägen für diese Seite!
Viel Vergnügen mit Ihrem SHOUTcast Server!
Die Inhalte dieses Dokuments sind unter der Creative Commons -
Namensnennung / Weitergabe Lizenz lizenziert.
|