Da mich in letzter Zeit immer noch Leute anschreiben, bei denen die Installation des Radios nicht ganz funktioniert und da es mittlerweile neue Versionen der von mir vorgestellten Programme gibt, habe ich mich dazu entschlossen, den Guide upzudaten (oder zu updaten?). Da ich dafür aber an verschiedenen Stellen Einzelnes ändern müsste, schreibe ich den Guide komplett neu. Ich werde mich auch diesmal ganz auf OGG beschränken, da es ja jetzt von so gut wie allen Playern unterstützt wird.
Installation von Icecast 2.2
Ladet euch
icecast hier herunter und installiert es in ein Verzeichnis eurer Wahl. Da ich Shoutcast nicht mehr benutze, gehe ich an dieser Stelle auch nicht darauf ein, denke aber, dass das ganze Prozedere ähnlich ablaufen wird.
Nach einer erfolgreichen Installation (die ja wohl jeder hinbekommen wird) ist es erst einmal wichtig, die Configdatei von Icecast zu bearbeiten. Die Standard- Config ist sehr kurz gehalten und umfasst auch nur die wichtigsten Punkte, wer mehr einstellen möchte, kann die Dateien entsprechend umbenennen. Die kurze Datei reicht aber meistens völlig aus und ist genau wie ihr großer Bruder sher gut kommentiert. Ich werde hier mal so eine Standard- Konfigdatei zerlegen. Um schnell und einfach an die Konfigdatei heranzukommen, startet Icecast, allerdings nicht den Server (stoppt ihn gegebenenfalls) und klickt auf Configuration -> Edit Configuration. Es sollte sich der Editor mit der Konfig öffnen.
Code:
<!-- This config file contains a minimal set of configurable parameters,
and mostly just contains the things you need to change. We created
this for those who got scared away from the rather large and heavily
commented icecast.xml.dist file. -->
<icecast>
<limits>
<sources>64</sources>
</limits>
Der Anfang beschreibt das, was ich gerade bezüglich der Größe der Konfigdatei geschrieben habe, in Englisch. Daher ist es auch mit <!-- und --> auskommentiert. Die Einstellungen beginnen ab <icecast> und die erste Rubrik ist <sources>. Tragt hier als Zahl die maximal erlaubte Zahl der Quellen bzw. Streams ein.
Code:
<authentication>
<source-password>hackme</source-password>
<relay-password>hackme</relay-password>
<admin-user>admin</admin-user>
<admin-password>hackme</admin-password>
</authentication>
Dieser Teil beschäftigt sich mit den Passwörtern, die die Quellen und der Admin, wenn er sich im Webinterface einloggt, eingeben muss. Es ist natürlich nicht sinnvoll, überall das gleiche Passwort einzutragen.
<source-password> ist das Passwort, dass die Quellen mitschicken müssen, damit Icecast sie akzeptiert. <admin-user> ist der Username des Admins (in unserem Fall admin, kann bzw. sollte man auch ändern) und <admin-password> sein Passwort. Wenn man seinen Icecastserver als Relay einrichtet, wenn er also die Daten direkt an andere IcecastServer verteilen soll (um Last zu verteilen etc), lässt sich hier dafür ein Kennwort wählen. Bisher habe ich es allerdings nicht gebraucht und kann deshalb auch nichts aus meiner Erfahrung berichten.
Wenn ihr mehrere Streams machen wollt, die ihr mit verschiedenen Passwörtern versehen wollt, ihr z.B. Freunden ermöglichen wollt, eueren Icecast- Server auch zu nutzen, ihnen aber nur eingeschränkte Möglichkeiten geben wollt, könnt ihr auch sogenannte Mount- Sections machen. So eine Section sieht folgendermaßen aus:
Code:
<mount>
<mount-name>/stream.ogg</mount-name>
<password>Passwort</password>
<clients>50</clients>
</mount>
Selbe Geschichte wie oben, nur gilt es eben nur für den spezifizierten Stream.
Code:
<directory>
<yp-url-timeout>15</yp-url-timeout>
<yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
</directory>
Falls mindestens einer euer Streams public sein soll (hier gibt es noch eine ganze Menge zu beachten - am besten den ganzen Thread durchlesen), so könnt ihr hier (bei <yp-url>) die Liste, wo euer Server eingetragen werden soll, ändern. Für die meisten reicht es so, wer allerdings einen root- Server haben sollte und sein Radio bei Shoutcast eintragen lassen will, hier ist die richtige Addresse. ACHTUNG: Ich habe es auch nie probiert und kann daher keine Richtigkeit hierfür übernehmen. Die meisten werden es eh nie brauchen.
Code:
<hostname>eueraccountbeisoetwaswie.dyndns.org</hostname>
Hier könnt ihr die Addresse eures Servers eintragen; sie ist soweit ich weiß nur für das Webinterface wichtig, da diese Addresse in der m3u- Datei eingetragen wird, die sich zuhörwillige User aus dem Interface herunterladen können. Tragt die Addresse OHNE http:// oder andere slashes ein - sie werden automatisch hinzugefügt. Falls ihr eine feste iP- Adresse habt, kann sie hier natürlich auch eingetragen werden.
Code:
<listen-socket>
<port>8000</port>
</listen-socket>
Den Port für alles hier eintragen.
Code:
<fileserve>1</fileserve>
Soll Icecast ein Webinterface bereitstellen? 1 für ja, 0 für nein.
Code:
<paths>
<logdir>./logs</logdir>
<webroot>./web</webroot>
<adminroot>./admin</adminroot>
<alias source="/" dest="/status.xsl"/>
</paths>
<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
</logging>
</icecast>
<paths> gibt die Pfade an, ich empfehle sie so zu lassen, außerdem könnt ihr noch die Logdateien umbenennen, ich empfehle aber, alle Settings, wie sie hier sind, zu belassen.
Damit sind wir schon durch icecast durch. Solltet ihr ins Internet streamen, vergesst nicht, Port 8000 zu forwarden (insofern ihr einen Router habt) und icecast in eurer Firewall alles erlaubt (braucht ihr auch für's Netzwerk). Fertig ist Icecast, ihr könnt es schon starten wenn ihr wollt.
ACHTUNG: Wer öffentlich übers Internet streamen will, sollte sich die anderen Konfigurationsdateien anschauen, dort gibt es mehr Einstellungsmöglichkeiten wie z.B. die maximale Anzahl der Listener (es ist <clients> in <limits>. Was ich im ersten Post bezüglich der Konfig geschrieben habe, stimmt noch.).
Wahl einer QuelleJetzt müsst ich euc für eine Art des Radios entscheiden - entweder ein moderiertes oder eins, das einfach eine Playlist herunterspielt. Beide Methoden haben Vor- und Nachteile.
Vorteile des moderierten Radios:
-Ihr könnt jede Audiodatei als Quelle nehmen
-Ihr könnt das Radio moderieren (auch kommentieren per Mikrofon)
-Der Zuhörer hört genau das, was euer Audioplayer (foobar oder Winamp) ausgibt)
-Ihr könnt die benötigte Bandbreite ziemlich gut abschätzen
Nachteile:
-Das ganze ist relativ rechenintensiv
-Der Encoder encodet stur in der von euch eingestelten Qualität
-Es kann wie bei jeder Umwandlung von lossy zu lossy zu weiterem Qualitätsverlust kommen
Vorteile des Radios, das nur eine Playlist abspielt:
-Es braucht so gut wie keine CPU
-Der Zuhörer bekommt genau die von euch encodeten ogg- files, d.h. kein Qualitätsverlust durch mehrfaches Encoden
-Durch encoder wie den oggenc2 mit aoTuVs Code könnt ihr qualitativ absolut hochwertige Musik streamen
Nachteile:
-Die Musik muss als OGG vorliegen
-Die Lieder sollten untereinander qualitätsmäßig nicht zu stark voneinander abweichen, damit die benötigte Bandbreite nicht zu sehr schwankt
-Die Qualität der Sourcefiles sollte für Streaming übers Internet nicht allzu hoch sein, damit die Dateigröße und damit benötigte Bandbreite nicht so hoch ist
Ihr habt keinen Einfluss auf die gestreamte Musik - sobald der Player spielt, spielt er

Ihr könnt ihn nur noch abschalten.
Jetzt muss jeder selbst wissen, wofür er sich entscheidet.
Moderiertes RadioWer sich für diese Art des Radios entscheidet, braucht 1. einen Player wie [efb]foobar[/efb] oder [efb]winamp[/efb] und das dazugehörige DSP. Es darf allerdings nicht die foobar beta sein, da diese keine 3rd- Party- Plugins unterstützt. Da ich selber Winamp nicht mehr benutze, kann ich nicht sagen, ob man auf irgendetwas aufpassen muss, aber ich glaube, dass dort alles ganz glatt funktioniert.
Das benötigte DSP gibt es
hier sowohl für foobar als auch für Winamp. Einfach für den jeweiligen Player herunterladen und installieren. Wenn ihr das getan habt, den Player starten und das Oddcast Plugin aktivieren. Es erscheint ein neues Fenster - klickt zuerst auf den Knopf "Add Encoder"; es sollte in der Liste ein neuer Eintrag erscheinen. Rechtsklickt darauf, wählt und tragt hier bei den Einstellungen das ein, was ich auch bei Icecast eingetragen habt (Encoder Password = Source Password). Macht die restlichen Einstellungen so, wie ihr wollt bzw. wie ihr sie in eurem Fall für richtig haltet. Übrigens: Eine Qualität von 0 bei OGG entspricht einer durchschnittlichen Bitrate von 64 kbit/s, q1=80, q2=96, q3=112, q4=128, q-1(ja das gibt es auch)=48, q-2=32... Es sei gesagt, dass behauptet wird, dass ogg schon bei 128 kbit/s transparenz erreicht, d.h. für den Menschen wie das Original auf der CD klingt. Viel mehr als q4 ist also nicht nötig.
Der Mountpoint, den ihr eintragen könnt, wird später wichtig sein, ihr braucht ihn euch allerdings nicht zu merken. wichtig ist nur, dass er mit "/" (natürlich ohne Anführungsstriche) beginnt und ihr dann einen Dateinamen mit der Endung ".ogg" (wieder ohne Anführungsstriche) eingebt. Die YP Settings geben an, wie euer Server in der oben genannten Onlineliste präsentiert wird.
Meistens läuft Icecast ja eh auf dem eigenen Rechner, wählt also als Server IP localhost bzw. 127.0.0.1 oder halt die IP des Rechners, auf dem Icecast läuft.
Eigentlich solltet ihr jetzt fertig sein. Startet Icecast, spielt ein Lied in der Playlist an und klickt in oddcast auf "connect", ihr könnt auch einen Haken bei "Auto- Connect" setzen. Dann verbindet Oddcast beim Start zum Icecast- Server.
Es gibt auch die Möglichkeit, mehrere Encoder mit verschiedenen Einstellungen zu nutzen, das wird aber sehr rechenintensiv.
Wenn ihr alles richtig gemacht habt, sollten eure Zuhörer jetzt über "http://EureIP:DerIcecastPort/euermountpoint.ogg" zuhören können. In einem konkreten Beispiel wäre das "http://192.168.0.1:8000/radio.ogg".
Über den Mikrofonknopf in Oddcast könnt ihr sogar das Radio moderieren.
Playlist- RadioHierfür benötigt ihr
ezstream. Ladet es herunter und installiert es ins Verzeichnis eurer Wahl.
Öffnet nach der Installation die Datei ezstream_vorbis.xml und bearbeitet sie. ezstream kann zwar auch die Dateien neu umkodieren, dann kann man allerdings direkt Oddcast nehmen.
Code:
<!-- This example is for a input playlist that must contain
all OggVorbis files. ezstream will perform NO reencoding, and
the destination stream bitrate, channels, etc. will be those
of the input files -->
<ezstream>
<url>http://IcecastIPoderHost:Portfüralles/Mountpoint.ogg</url>
Gebt hier das ein, was für euren Icecastserver zutrifft, z.B.
http://localhost:8000/LANRadio.oggCode:
<sourcepassword>hackme</sourcepassword>
<format>VORBIS</format>
<filename>ZuStreamendeDatei.ext</filename>
<svrinfoname>DeinStream</svrinfoname>
<svrinfourl>http://www.oddsock.org</svrinfourl>
<svrinfogenre>RockNRoll</svrinfogenre>
<svrinfodescription>StreamBeschreibung</svrinfodescription>
<svrinfobitrate>192</svrinfobitrate>
<svrinfoquality>6.0</svrinfoquality>
<svrinfochannels>2</svrinfochannels>
<svrinfosamplerate>44100</svrinfosamplerate>
<svrinfopublic>0</svrinfopublic>
</ezstream>
Den Rest der config mache ich jetzt im Schnelldurchgang.
Sourcepassword: Das, welches auch bei Icecast eingetragen wurde. Wenn sie nicht übereinstimmen, akzeptiert Icecast ezstream als Quelle nicht.
format: Muss hier natürlich VORBIS bleiben.
filename: Die Datei, die gestreamt werden soll. Dazu gleich mehr.
Die svrinfoEinstellungen geben an, was für Daten an den Server geschickt werden. Da sie sich selbst erklären, tue ich das hier nur bei denen, die vielleicht ein wenig Verwirrung stiften.
svrinfobitrate, svrinfoquality, svrinfochannels und svrinfosamplerate senden dem Server Daten über das Material, das gestreamt wird. Diese Daten müssen nicht stimmen, bedenkt jedoch, dass wenn euer Server gelistet werden sollte, die Listener sich ärgern werden wenn ihr zum Beispiel 56 kbit/s angebt und dann 192 kbit/s kommen. Fürs LAN isses aber eigentlich echt egal. Genauso bei den restlichen svrinfo- Einstellungen. Das svrinfopublic gibt an, ob dieser Stream (Icecast kann schließlich mehrere handlen) public sein soll.
Die zu Streamende Datei kann entweder eine einzelne ogg- Datei sein (den Sinn möchte ich allerdings anzweifeln) oder eine Playlist. Ich habe zum Beispiel mit fobar eine Playlist (natürlich nur aus oggs) zusammengestellt und im ezstream- Verzeichnis gespeichert. Ob einfache Listendateien auch funktionieren, weiß ich nicht.
Jetzt gehts los, startet euren Icecast- Server und startet ezstream aus der Kommandozeile per "ezstream -c ezstream_VORBIS.xml", ohne Anführungszeichen natürlich. ezstream wird zum Icecast- Server connecten und seine Playlist streamen, auf die ihr jetzt keinen Einfluss mehr habt. Ihr könnt aber mal probieren, die Playlist zu bearbeiten, ich habs noch nie gemacht.
Das wars auch schon, hatte ganz vergessen dass der Guide unfertig war, bei Verbesserungsvorschlägen oder Fragen einfach im Forum posten oder ne PM schreiben, bei einer kleinen Frage geht auch ICQ. Viel Spaß noch mit eurem eigenen Radio
