Umstieg auf Icecast und Mairlist Home Server

Hallo Community
Erstmal einen schönen guten Abend, ich möchte auf Icecast und Mairlist Home Studio umstellen. Ich nutze im Moment noch den Shoutcast2 mit einer modifizierten SC Trans2, dies auf einem Windows Server 2012 Root.

Nun zu meiner Bitte ich bin leider was den Icecast betrift ein blutiger Anfänger deswegen suche ich jemanden der mir eine Icecast.xml erstellen kann oder eine gute als Vorlage zukommen lassen kann. Als Automation soll dann natürlich der Mairlist Home Server eingesetzt werden. Auf der Seite von Icecast habe ich mich schon versucht über den Icecast schlau gemacht aber leider ohne Ergebniss (mein Englisch ist nicht das beste).

Also über eine Tatkräftige Hilfe wäre ich sehr dankbar.

Gruß
Michael

Hallo
Also habe mir die Nacht mal um die Ohren gehauen und mich mit dem Icecast befasst. Eine Config hab ich auch mal hinbekommen nur die Sache mit den Ports ist mir noch nicht ganz klar. Vieleich könnte mir einer einen Tip geben oder sich die Config mal anschauen vieleicht habe ich ja einen Fehler oder falschen Gedankengang.

Gruß
Michael

[code]
Radio Night Dream
icecast 2.4.1

100
2
102400
30
15
10
1
65536

<authentication>
    <source-password>HabIch</source-password>
    <relay-password>HabIch</relay-password>
    <admin-user>HabIch</admin-user>
    <admin-password>HabIch</admin-password>
</authentication>

<hostname>Radio Night Dream</hostname>

<directory>
<yp-url-timeout>15</yp-url-timeout>
<yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
</directory>

<listen-socket>
<port>8000</port>
<shoutcast-mount>/live</shoutcast-mount>
</listen-socket>

<listen-socket>
<port>8001</port>
<shoutcast-mount>/automation</shoutcast-mount>
</listen-socket>

<mount>
    <mount-name>/live</mount-name>
    <stream-name>Radio Night Dream</stream-name>
    <stream-description>Der Rhyhtmus bestimmt den Herzschlag</stream-description>   
    <mp3-metadata-interval>73728</mp3-metadata-interval>
</mount>

<fileserve>1</fileserve>
<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>
<playlistlog>playlist.log</playlistlog>
      <loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
</logging>

[/code]

Der Icecast-Server braucht genau einen Port. In deiner Config steht: 8000. Wenn der schon von etwas anders belegt ist, zum Beispiel von eine Shoutcast-Server, der auf demselben Port auf der Maschine läuft, dann nimmst du halt einen anderen. 9000 oder so. Firewall aufmachen nicht vergessen!

Ansonsten scheint es sich ja mehr oder weniger um die Standardkonfiguration zu handeln. Wüsste keinen Grund, warum die nicht laufen soll. Wenn es irgendwo hakt, solltest du mal beschreiben, wo genau, ob eine Fehlermeldung kommt oder was weiß ich.

Zunächst mal: ich bin kein icacast Experte (genauer: ich habe leider noch nie einen icacast Server aufgesetzt). Aber mir sind in der Konfiguration einige Kleinigkeiten aufgefallen:

[ol][li]das “hostname” Tag kommt doppelt vor
[list]
[li]einmal in Zeile 2[/li]
[li]zum zweiten mal unter dem “authentication”-Block[/li]
[/list][/li]
[li]2 Sockets mit unterschiedlichen Mounts definiert, aber nur 1 Mount
[list]
[li]Der Socket mit Port 8000 verweist auf den Mount /live - definiert (ok)[/li]
[li]Der Socket mit Port 8001 verweist auf den Mount /automation - nicht definiert (!ok)[/li]
[/list][/li][/ol]

Das war jetzt nur ein kurzer Test gegen das XML - keine Ahnung, ob der Icecast-Server das so nimmt, oder ob man (wenigstens) die beiden Punkte noch korrigieren muß - aber vielleicht hilft’s ja was.

LG

McCavity

Der Hostname muss ein echter Host sein, also entweder die Domain unter der der Server erreichbar ist, das was Du in Deinem DNS Record eingetragen hast oder die IP des Servers.

Wie das mit den Ports funktioniert, steht in der Doku eigentlich ziemlich gut beschrieben.
http://icecast.org/docs/icecast-2.4.1/config-file.html#ports

Du kannst mehrere Ports haben, musst Du aber nicht.

Ich frage mich, warum es so kompliziert sein muss?

Die Icecast-Server, die ich bisher eingerichtet habe (jeweils unter Ubuntu bzw. Debian), mussten minimal konfiguriert werden. Eigentlich nur die Passwörter geändert. Und ggf. das Stream-Limit hochgesetzt, wenn ich mehr als zwei Streams gleichzeitig brauchte.

Eine gesonderte Konfiguration der Mountpoints oder gar zusätzliche Ports sind im einfachsten Fall nicht notwendig.

Vielen Dank für Eure Antworten
Dies bringt mich schon etwas weiter, ich möchte im Prinzip den Icecast zusammen mit dem MairList Home Server betreiben. Also Icecast zum streamen klar und den Mairlist als Automation und den Stream Monitor als sogenanter Transcoder denke doch das das so hinhaut. Das wenn ein Moderator sendet der Stream Monitor die Automation ausblendet und den Moderator einblendet. Beim Shoutcast funktionierte das über den Port 8015/live. Der Port für die Hörer war da dann der 8000/live.

Da der Mairlist Home Server mit dem Icecast besser funktioniert möchte ich auf den Icecast umstellen. Ich geh davon aus das da auch ein Hörer Port und einen Moderator Port benötigt wird. Dieser dann vom Stream Monitor überwacht wird.

Kann aber auch sein das ich den Icecast etwas falsch verstehe, habe da nicht so die Erfahrung.

Gruß
Michael

Bei Icecast gibt es nur einen Port. Source (Moderator) und Hörer verwenden denselben Port. Der Icecast-Server kann eigenständig erkennen, ob sich da gerade ein Source oder ein Hörer verbindet.

Lass den Icecast einfach mit der Standardkonfiguration (aber Passwörter geändert) laufen, ändere ggf. noch den Port auf 9000 (wenn 8000 bereits durch Shoutcast belegt ist), verbinde dich als Moderator mit dem Source-Passwort und einem Mountpoint deiner Wahl (zum Beispiel /mod), und greife den Stream dann im Stream-Monitor mit http://:9000/mod ab. Fertig.

Ich muss meine Aussage von Oben noch mal korrigieren. Ich hatte geschrieben, dass ggf. der Port einfach überschrieben wird.
Das ist nachweislich falsch, ich hatte an der Stelle die Doku nicht richtig gelesen. Icecast kann prallel auf mehreren Ports lauschen, auch wenn das, wie Torben schon richtig beschrieben hat, nicht zwingend erforderlich ist.

Der Listen Socket kann mehrere Ports und auch IPv4 oder IPv6 Adressen binden. Dies ist aber nicht in Abhängigkeit zu den Mountpoints zu sehen! Auf allen ports sind grundsätzlich alle Mountpoints verfügbar, sowohl zum einspeisen als auch zum abhören durch einen Player.

Ich stricke auch gerade an einer Umstellung auf Icecast und dachte mir, ich muss unbedingt für unsere Moderatoren irgendwie Shoutcast kompatibel bleiben. Das habe ich inzwischens als absoluten Schwachsinn verworfen. Jeder vernünftige Encoder kann auch Icecast, den Shoutcast Zopf werde ich also endgültig abschneiden.
Icecast kann da doch deutlich mehr und es ist und bleibt Open Source.

So langsam frage ich mich woher Icecast den Ruf hat instabil und kompliziert zu sein, das kann ich inzwischen gar nicht mehr nachvollziehen.

Hallo Shorty

Vielen Dank für Deine Anteilnahme zum Thema Icecast. Ich hab Ihn leider noch nicht zum laufen gebracht irgendwas mach ich verkehrt. Eins ist aber mal gesagt Icecast ist wirklich die bessere Entscheidung und ich werde den auch zum laufen bekommen “hoff Ich” vieleicht könnte man ja sich zusammentun und die gesammelten Informationen austauschen.

Gruß
Michael

Welche Fehlermeldung bekommst Du denn?
Hast du den Server Probehalber mal als root gestartet?
Womit willst Du eigentlich einspeisen, mAirList?

EDIT:
Ich habe mir die Config noch mal angesehen. Du hast 2 Shoutcast Mounts definiert, das geht nicht, es kann nur einer definiert werden.
Brauchst Du unbedingt Shoutcast Sources, ich bin mir ziemlich sicher, dass inzwischen alle Encoder Icecast direkt unterstützen.
Ich habe mal etwas in Deiner Config aufgeräumt, aber nicht getestet. Ausserdem bin ich nicht ganz sicher, was Du eigentlich genau machen möchtest.

<icecast>
    <limits>
    <clients>100</clients>
    <sources>2</sources>
    <queue-size>102400</queue-size>
    <client-timeout>30</client-timeout>
    <header-timeout>15</header-timeout>
    <source-timeout>10</source-timeout>
    <burst-on-connect>1</burst-on-connect>
    <burst-size>65536</burst-size>
	</limits>
 
    <authentication>
        <source-password>HabIch</source-password>
        <relay-password>HabIch</relay-password>
        <admin-user>HabIch</admin-user>
        <admin-password>HabIch</admin-password>
    </authentication>
	
	 <hostname>stream.radionightdream.de</hostname>
 
    <directory>
    <yp-url-timeout>15</yp-url-timeout>
    <yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
	 </directory>
 
    <listen-socket>
	 <port>8000</port>
   </listen-socket>

	
	 <mount>
        <mount-name>/live</mount-name>
        <stream-name>Radio Night Dream</stream-name>
        <stream-description>Der Rhyhtmus bestimmt den Herzschlag</stream-description>   
    </mount>
	
     <mount>
        <mount-name>/automation</mount-name>
        <stream-name>Radio Night Dream Automation</stream-name>
        <stream-description>Der Rhyhtmus bestimmt den Herzschlag</stream-description>
        <public>0</public>
    </mount>

 
    <fileserve>1</fileserve>
    <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>
    <playlistlog>playlist.log</playlistlog>
          <loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
    </logging>
</icecast>

Wow Shorty
Vielen Dank echt super von Dir werde die gleich mal testen. Natürlich brauch ich keinen Shoutcast mehr will den ja wech haben.
Als Automation dient der Mairlist Home Server, die Moderatoren connecten mit Mairlist Home Studio.

Gruß
Michael

Ich hab das oben noch mal geändert und Shoutcast komplett entfernt.

Guten morgen Shorty und Torben
Ich habe es nun endlich geschaft den Icecast zum laufen zu bekommen vielen Dank nochmals dafür auch das mit den Mountpoint funktioniert.

Hauptpoint: (für die Hörer)
http://stream.radionightdream.de:9000/live
Dieser ist auch auf dem Server im Mairlist Home Server Als Encoder eingetragen.

Dann habe ich im Mairlist Home Server unter Stream-Monitor folgendes eingetragen.
http://stream.radionightdream.de:9000/moderator
Darüber verbindet sich der Moderator

Wie gesagt dieses funktioniert auch sehr gut, nun vermisse ich aber die schönen Überblendungen zwischen der Automation und den Moderator. Diese sind sehr abprubt und hört sich nicht sehr gut an, gibt es dies bezüglich vieleicht eine sanftere Lösung.

Beim Shoutcast wird dieses ja über den Transcoder gelöst der diese eingestellte Pufferzeit nutzt, und somit den AutoDJ langsam ausblendet, und den Moderator einblendet.

Vieleicht findet man hier auch eine Lösung oder muss man dafür noch etwas am Mairlist Home Server einstellen.

Gruß
Michael