This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

ICECAST STREAMINGSERVER installieren und konfigurieren
#1
ICECAST STREAMINGSERVER

Installieren und konfigurieren

Die original Projektseite ist folgende:    https://icecast.org
Wie immer gilt, Software NUR hier downloaden. Aktuell ist (10.2021) die Version 2.4.4 in 32 BIT!

Die Installation ist einfach. Hier die Beschreibung unter Windows:

INSTALLATION:

Software downlaoden, und Icecast_WIN32_2.4.4.exe starten.

Lizenz Zustimmen,
Komponentenauswahl auf "Icecast" belassen
Zielordner auch beibelassen- es wird in den 32Bit Programm Pfad von Windows installiert.
Startmenü Eintrag Erstellug zulassen

- und das war es schon.
Aber nun will Icecast konfiguriert werden.


KONFIGURATION:

Dazu öffnen wir das Icecast Projekt Verzeichnis unter C:\Programme(x86)\Icecast.

Es gibt nur einen einzige Datei zu konfigurieren: icecast.XML
Diese öffnen wir in Notepad++ oder einem andern XML Editor.

Prinzipell steht eigentlich alles drin was ihr braucht, aber ich bin sicher es dauert bis die Konfiguration spielt.
Daher biete ich euch eine MusterKunfiguration in einer kompletten icecast.xml mit Erklärung an.
Kopiert euch die in eine neue XML Datei die ihr mit Notepad++ erstellt habt. Speichert die als XML Datei ab.
Nun erscheint sie schön farblich dargestellt, was Fehler beim edit vermeiden hilft.

Code:
<!-- Dokumentation: http://icecast.org/docs/ -->

<!-- Serverweite Settings -->
<icecast>
    <!-- location and admin sind sichtbar im Webinterface eurer Server info Seite des icecast web interface -->
    <!-- Angaben von Kontaktdaten zur Anzeige auf dem Webinterface. Für Funktion ohne Belang  -->
    <location>Dark side of the Moon</location>
    <!-- Angaben von Kontaktdaten zur Anzeige auf dem Webinterface. Für Funktion ohne Belang  -->
    <admin>Darkvarder@Imperium.all</admin>
    <!-- Die IP oder ULR eures Icecast Severs -->
    <hostname>10.38.10.20</hostname>


    <limits>
        <!-- Anzahl der maximalen Zuhörer die sich einloggen dürfen. Dient Bandbreiten und Lizenzbeschränkungen -->
        <clients>100</clients>
        <!-- Anzahl der Streams die ihr einrichten wollt -->
        <sources>4</sources>
        <!-- Anzahl der Streams + 1 für den Eingang von MIXXX -->
        <threadpool>5</threadpool>
        <!-- Puffergröße -->
        <queue-size>524288</queue-size>
        <!-- Timeouts für den Abbruch hängender Verbindungen -->
        <client-timeout>30</client-timeout>
        <header-timeout>15</header-timeout>
        <source-timeout>10</source-timeout>
        <!-- If enabled, this will provide a burst of data when a client
             first connects, thereby significantly reducing the startup
             time for listeners that do substantial buffering. However,
             it also significantly increases latency between the source
             client and listening client.  For low-latency setups, you
             might want to disable this. von 1 auf 0 gesetzt -->
        <burst-on-connect>0</burst-on-connect>
        <!-- same as burst-on-connect, but this allows for being more
             specific on how much to burst. Most people won't need to
             change from the default 64k. Applies to all mountpoints  -->
        <burst-size>8024</burst-size>
    </limits>

    <authentication>
        <!-- Sources log in with username 'source' also das Passwort das man in Mixxx eingeben muss damit man sich zum hochstreamen authentifiziert -->
        <source-password>SpielsnochmalSam</source-password>
        <!-- Relays log in username 'relay' -->
        <relay-password>SpielsnochmalRelay</relay-password>
        <!-- Admin Account zum Zugang der Administrations WEB Konsole-->
        <admin-user>Darkvarder</admin-user>
        <admin-password>Die_Macht_sei_mit_dir</admin-password>
        <!-- Und ausserdem sei die Schauheit mit dir dieses Passwort auszutauschen -->
    </authentication>

    <!-- set the mountpoint for a shoutcast source to use, the default if not
         specified is /stream but you can change it here if an alternative is
         wanted or an extension is required
    <shoutcast-mount>/live.nsv</shoutcast-mount>
    -->
    
    <http-headers>
        <header name="X-Robots-Tag" value="noindex, noarchive" />
    </http-headers>
    

    <!-- Mountpoints: You may have multiple <listener> elements -->
    <!-- Mountpoints: Für jeden Stream den wir wollen konfigurieren wir hier den Zugang -->
    <listen-socket>
        <!-- der Port unter dem Zuhörer sich verbinden. Dieser muss in der Firwall jeweils für Zugang von Aussen freigegeben sein -->
        <port>10000</port>
        <!-- die IP eurers Icecast Servers -->
        <bind-address>10.38.10.20</bind-address>
        <!-- der Name des Streams der den Zuhöreren angezeigt wird, und im Landmenü eingestellt wird -->
        <shoutcast-mount>/stream</shoutcast-mount>
        <master-server-port>10000</master-server-port>
        <master-update-interval>60</master-update-interval>
        <!-- Passwort mit dem man sich vom MIXX auf diesen Stream verbindet -->
        <master-password>SpielsnochmalSam</master-password>
    </listen-socket>
   
   <listen-socket>
        <port>10001</port>
        <bind-address>10.38.10.20</bind-address>
        <shoutcast-mount>/Schulungsstream</shoutcast-mount>
        <master-server-port>10001</master-server-port>
        <master-update-interval>60</master-update-interval>
        <master-password>SpielsnochmalSam</master-password>
    </listen-socket>
    
    <listen-socket>
        <port>10002</port>
        <bind-address>10.38.10.20</bind-address>
        <shoutcast-mount>/AmbientMeerstream</shoutcast-mount>
        <master-server-port>10002</master-server-port>
        <master-update-interval>60</master-update-interval>
        <master-password>SpielsnochmalSam</master-password>
    </listen-socket>    


    <listen-socket>
        <port>10003</port>
        <bind-address>10.38.10.20</bind-address>
        <shoutcast-mount>/AmbientWaldStream</shoutcast-mount>
        <master-server-port>10003</master-server-port>
        <master-update-interval>60</master-update-interval>
        <master-password>SpielsnochmalSam</master-password>
    </listen-socket>


    <fileserve>0</fileserve>

    <paths>
        <logdir>./log</logdir>
        <webroot>./web</webroot>
        <adminroot>./admin</adminroot>
        <alias source="/" destination="/status.xsl"/>
        <!-- The certificate file needs to contain both public and private part.
             Both should be PEM encoded.
        <ssl-certificate>./ssl/icecast.pem</ssl-certificate>   -->
        <!--     <ssl-allowed-ciphers>ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS</ssl-allowed-ciphers>  -->

        <!-- In diese Liste kommen die pösen Puben damit sie nicht einloggen dürfen. Zusätzlich blockt sie in der BS Fierwall oder noch besser davor in Hardware Firewall -->
        <deny-ip>./blockip/icecast.blk</deny-ip>
    </paths>

    <logging>
        <!-- In dieser Liste schaut ihr wer Zugang zu eurem Server probiert hat. Siehe Artikel Details Angriffe Abwehren -->
        <accesslog>access.log</accesslog>
        <!-- Das Felerlog -->
        <errorlog>error.log</errorlog>
        <playlistlog>-</playlistlog>
        <!-- Wer Playlisten Titel loggen will kann das hier freischalten -->
        <!-- <playlistlog>playlist.log</playlistlog> -->
        <loglevel>2</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
        <logsize>10000</logsize> <!-- Max size of a logfile -->
    </logging>
</icecast>


Nun da ihr die Datei bei euch farblich habt gehen wir an die Anpassung für euch.

Zunächst müsst ihr euch überlegen wieviele Streams ihr braucht,
Danach folgen Username und Passwort für den Admin,
und einen anderern Usernamen mit anderem Passwort für diejenigen die auf den Server streams hochsenden dürfen.
Letztere Account ist identisch mit den Angabe die ihr in MIXXX anlegen müsst. 
Daher beziehe ich mich auf die Werte die ich dort gepostet habe.


Für das Beispiel habe folgende Werte vorausgesetzt: 

Wir legen 4 Streams an, die auf den Ports 10000  bis 10003 spielen. 
Entsprechend öffnet ihr in der Firewall die Ports 10000-10003 für einkommenden Traffik.
Unsere 4 Streams nennen wir: stream, Schulungsstream, AmbientMeerstream, AmbientWaldStream.
Für unseren Server nehmen ich die IP 10.38.10.20 an.

Der Administrator heisst "Darkvarder", sein Passwort: "Die_Macht_sei_mit_dir".
Die Schlauheit sei mit euch alle Muster Passworte zu ändern nachdem der Test erfolgreich war!

Der Stream Username lautet "source" , sein Passwort "SpielsnochmalSam".

Die gleichlautenden Einträge findet ihr in meiner Muster XML, und tauscht die gegen eure Werte aus.

Gestartet wird der Icecast Server durch Aufruf seiner Programmdatei mit Übergabe der Icecast.XML

.\bin\icecast.exe -c .\icecast.xml


BEDIENUNG VEREINFACHEN:

Da mir das zu umständlich war und habe ich mir eine Hilfs Batch Datei geschrieben die ich verlinkt aufrufe.
Diese zeigt mir auch die Accounts und Passworte an falls ich sie mal vergessen habe.

Macht dazu einen neue Datei in Notepad++ auf, kopiert den nachfolgenden Code hinein und spiechert sie als icecast.bat ab.

Code:
@echo OFF
echo.
echo.
echo|set /p=Starting
.\bin\icecast.exe -v
echo Using config "icecast.xml" from installation directory ...
echo.
echo Oeffne den WebBrowser mit 
echo.
echo URL: http://10.38.10.20:10000 um das Webinterface zu sehen
echo.
echo webconsole user = Darkvarder ,passwort = Die_Macht_sei_mit_dir
echo.
echo ICECAST EINSTELLUNGEN
echo Typ       = Icecast2  , Host     = 10.38.10.20
echo Anmeldung = source    , passwort = SpielsnochmalSam
echo Port      = 10000     , Einhaengepunkt = stream
echo Port      = 10001     , Einhaengepunkt = Schulungsstream
echo Port      = 10002     , Einhaengepunkt = AmbientMeerstream
echo Port      = 10003     , Einhaengepunkt = AmbientWaldStream
.\bin\icecast.exe -c .\icecast.xml

Nun könnt ihr bequem durch aufruf der icecast.bat den Server starten.
Mit Verknüpfung- senden an Desktop- habt ihr den Aufruf für euren Icecast Server auch am Desktop.

So nun drücke ich die Daumen für euren Funktionstest.

Diesen macht ihr mit MIXXX wie im Artikel beschrieben.

Hier nochmal wie die MIXXX Konfiguration in unserem Beispiel aussieht:

   

Vergesst das Häckchen nicht "Liveübertragung aktivieren" sonst passiert gar nichts.

Falls ihr Probleme habt bitte hier im Forum ansprechen.

Wenn es geht freue ich mcih auch über erfolgs Meldungen.

Dann lest aber bitte UNBEDINGT die separeten Hinweise zur IT Sicherheit und Absicherung eures Icecast Servers.
Jeder Internet Service braucht ein funktionierendes Sicherheits Konzept heutzutage.


Viel Erfolg


Tron
Zitieren
#2
Absolut - Die_Macht_ist_mit_dir! Danke
All done!
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste