Icecast Master-Relay Server-Config

Status
Für weitere Antworten geschlossen.

Chr!s

Benutzer
Hallo Leute!

Sizte seit ein paar Tagen an meinen Icecast Config Files und bin langsam mit meinem Latein echt am ende :wall:
Das Ziel meines Projektes ist es, dass sich ein DJ in den Server einklinken kann und die Ices Source kickt, ist der DJ mit seiner Sendung fertig und disconected so soll automatisch die Ices Source wider zugeschalten werden.
Da es sich nicht nur um einen DJ sondern um X DJs handelt und ich sicher gehen muss, dass die DJs sich nur dann einlogen wenn sie einen Sendetermin haben, wird die Sache gleich mal ein bisschen komplizierter.
Ich habe mich für folgenden Weg entschieden:
Root Server (Linux) drauf dem 2 mal Icecast + 1 mal Ices läuft.

DJ

\/

Icecast 1 (Master)

\/ -> Wenn Master nich Connected ist dann wird automatisch mit Ices (Fallback) eine Standartplaylist gesendet.

Icecast 2 (Relay)

\/

Zuhörer

Ich prüfe nun mitels eines Cronjobs jede Minute eine Datenbank um zu sehen ob ein DJ eine Sendung hat.
Ist dies der Fall, so wird automatisch das Configfile von Icecast 1 angepasst mit dem richtigen Sourcepasswort des entsprechenden DJs und der Icecast Server 1 wird gestartet.
Ist die die Sendezeit vorbei so wird mit dem gleichen Cronjob der Icecast Server 1 wider gekillt und die Ices Source sendet wieder.

Soviel zur Theorie...
Mein Problem ist nun folgendes:

Sobald sich der Live DJ verbindet, geht es 1 Sekunde bis n Minuten und alle Hörer die gerade online sind bekommen den Sound des Live DJs zu hören.
Soweit so gut (bis auf die Zeit die unbestimmbare Zeit die es braucht bis die Leute den Sound zu hören bekommen) der hacken an der ganzen Sache ist nun aber, dass alle Leute die sich neu ins Webradio einklinken wieder mit der Source verbindet werden und nie zur Livesendung rübergeschalten werden.

Zu den Configfiles:

Icecast 1 (Master)
<icecast>
<limits>
<clients>200</clients>
<sources>1</sources>
<threadpool>5</threadpool>
<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>65535</burst-size>
</limits>

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

<hostname>hostname.com</hostname>
<port>8001</port>
<bind-address>00.00.00.00</bind-address>

<master-server>00.00.00.00</master-server>
<master-server-port>8001</master-server-port>
<master-update-interval>1</master-update-interval>
<master-username>relay-user</master-username>
<master-password>relay-password</master-password>
<relays-on-demand>0</relays-on-demand>

<mount>
<mount-name>/liveDJ</mount-name>
<intro></intro>
<fallback-mount></fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>0</fallback-when-full>
<no-yp>1</no-yp>
</mount>

<fileserve>1</fileserve>

<paths>
<basedir>/phat/to/basedir</basedir>

<logdir>/log/dir</logdir>
<webroot>/web/root</webroot>
<adminroot>/admin/root</adminroot>
<pidfile>/run/server.pid</pidfile>

<alias source="/" dest="/admin/"/>
<alias source="/server_version.xsl" dest="/admin/"/>
<alias source="/status.xsl" dest="/admin/"/>

</paths>
<logging>
<accesslog>access_srv1.log</accesslog>
<errorlog>error_srv1.log</errorlog>
<playlistlog>playlist_srv1.log</playlistlog>
<loglevel>4</loglevel>
</logging>

<security>
<chroot>1</chroot>
<changeowner>
<user>user</user>
<group>group</group>
</changeowner>
</security>
</icecast>

Icecast 2 (Relay)
<icecast>
<limits>
<clients>200</clients>
<sources>2</sources>
<threadpool>5</threadpool>
<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>65535</burst-size>
</limits>

<authentication>
<source-password>Ices-password</source-password>
<admin-user>admin-user</admin-user>
<admin-password>admin-password</admin-password>
</authentication>

<hostname>000.000.000.000</hostname>
<port>80</port>
<bind-address>000.000.000.000</bind-address>

<relay>
<server>00.00.00.00</server>
<port>8001</port>
<mount>/liveDJ</mount>
<local-mount>/live</local-mount>
<username>relay-user</username>
<password>relay-password</password>
<relay-shoutcast-metadata>0</relay-shoutcast-metadata>
<on-demand>0</on-demand>
</relay>

<mount>
<mount-name>/live</mount-name>
<intro>introfile.mp3</intro>
<fallback-mount>/stream</fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>0</fallback-when-full>
<no-yp>1</no-yp>
</mount>

<fileserve>1</fileserve>

<paths>
<basedir>/phat/to/basedir</basedir>

<logdir>/log/dir</logdir>
<webroot>/web/root</webroot>
<adminroot>/admin/root</adminroot>
<pidfile>/run/server.pid</pidfile>

<alias source="/" dest="/admin/"/>
<alias source="/server_version.xsl" dest="/admin/"/>
<alias source="/status.xsl" dest="/admin/"/>

</paths>
<logging>
<accesslog>access_srv2.log</accesslog>
<errorlog>error_srv2.log</errorlog>
<playlistlog>playlist_srv2.log</playlistlog>
<loglevel>4</loglevel>
</logging>

<security>
<chroot>1</chroot>
<changeowner>
<user>user</user>
<group>group</group>
</changeowner>
</security>
</icecast>

Folgende Meldung tritt im Errorlogfile des Icecast 1 auf:
[2007-10-02 17:19:37] WARN slave/check_relay_stream new relay but source "/liveDJ" already exists

Ich hoffe Ihr könnt mir weiterhelfen, bin langsam echt am Ende und kurz vorm durchdrehen :eek:(((
Grüsse
Chr!s
 
AW: Icecast Master-Relay Server-Config

Du versucht, das der Server auf sich selbst relayed. Das wird nicht klappen.
Und deshalb auch die meldung, da der Icecast den gleichen Mountpoint zweimal anlegen will, einmal der Master und dann das Relay.
 
AW: Icecast Master-Relay Server-Config

Hey Pegasus!
danke für deine antwort.
Bei welchem teil der congif meinst du genau?
Habe langsam so ein wirwar im kopf mit all den parametern :(

ADD:
Icecast 1 und Icecast 2 haben beide verschiedene IPs und Ports... (?)
 
AW: Icecast Master-Relay Server-Config

<relay>
<server>00.00.00.00</server>
<port>8001</port>
<mount>/liveDJ</mount>
<local-mount>/live</local-mount>
<username>relay-user</username>
<password>relay-password</password>
<relay-shoutcast-metadata>0</relay-shoutcast-metadata>
<on-demand>0</on-demand>
</relay>

Und

<mount>
<mount-name>/liveDJ</mount-name>
<intro></intro>
<fallback-mount></fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>0</fallback-when-full>
<no-yp>1</no-yp>
</mount>

Wenn es die Config vom Relay ist, musst du den Monut-part von /liveDJ wohl nur rauslöschen. Ich habs aber auch nur überflogen, also mach vor ner Änderung ein backup.
 
AW: Icecast Master-Relay Server-Config

Vielen Dank, die Fehlermeldung ist nun weg :)
Habe im Master den Mount part entfernt.

Das Problem ist nun nur noch, dass alle Zuhörer die erst nach dem Online gehen des DJs das Webradio öffnen in den Ices Stream geworfen werden und den Live Stream nicht mitbekommen :(
 
AW: Icecast Master-Relay Server-Config

Dann versuch mal, das die Hörer direkt auf den Livestream gehen und per Fallback auf den Ices geleitet werden. Ein Fallback greift immer erst dann, wenn der Mountpoint ausfällt.
 
AW: Icecast Master-Relay Server-Config

Icecast 2 (Relay)

<mount>
<mount-name>/live</mount-name>
<intro>introfile.mp3</intro>
<fallback-mount>/stream</fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>0</fallback-when-full>
<no-yp>1</no-yp>
</mount>

Das wollte ich mit dem Punkt hier bezwecken, aber anscheinend läuft das nicht richtig(?)
 
AW: Icecast Master-Relay Server-Config

*arghhh* :wall:

Ich denke ich habe den Fehler gefunden... Muss ich gleich ausprobieren wenn ich wieder vorm Server sitze...

Wenn dass das Problem ist, ist es schon fast zu peinlich um hier zu posten
Ich habe bei meiner Startdatei vergessen den Mountpoint von /stream auf /live zu ändern... :eek::eek:

#EXTM3U
#EXTINF:-1,Webradio
http://000.000.000.000/live
 
AW: Icecast Master-Relay Server-Config

Genau das war meine Vermutung ;)
Aber glaub mir, diese Fehler findet man am wenigsten, dafür macht man sie im Regelfall nur einmal ;)
 
AW: Icecast Master-Relay Server-Config

Habs mal über Mittag kurz getestet und läuft soweit, muss es heute abend dann auf herz und nieren überprüfen :)
Danke für deine Hilfe Pegasus :)
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben