Stream Monitor

Ja, wir machen das in etwa so.
Wir haben 2 Icecast Server, die eine gegenseitige Redundanz bilden. Der Einfachheit halber, beschreibe ich hier mal nur einen.

Der Server hat mehrere MountPoints konfiguriert.

  1. Auslieferung an die Hörer 192k.mp3
  2. Auslieferung an die Hörer 32k AAC+
  3. Einspeisepung Automation
  4. Live-Einsepeisung 1 für unsere Studios
  5. Live-Einsepeisung 2 für unsere Studios
  6. einen Teststream

2-6 sind im Serverstatus nicht einsehbar und natürlich auch nicht public.
1-3 werden dauerhaft von meinem mAirlist Server befeuert.

Der 3. Einspeisepunkt Automation ist historisch gewachsen, wird eigentlich nicht benötigt. Den nutze ich nur um gewisse Informationen aus den METAdaten zu extrahieren. Auf dem Redundanzssystem kann ich darüber ein Rahmenprogramm einspeisen, sollte der mAirlistserver mal ausfallen oder einen Neustart brauchen. Ich wollte beide Icecast Server mit exakt identischer Config haben.

Nr 6. der Teststream ist komplett autark und hat mit dem restlichen System nichts zu tun. Der wird bei bedarf eingespeist und auch genau dort wieder abgehört.

Auf den beiden Einspeisepunkten 4 & 5, lauscht mAirlist mit dem Stream Monitor, wobei 5 die höhere Prio hat und 4 übersteuert. Sobald auf einem der beiden Mount Points etwas eingespeist wird, schlägt der Stream Monitor an, unterbricht die Automation und schleift das Signal durch. Fällt das Signal weg, das ganze retour.

Diese Konzept kann man natürlich um quasi beliebig viele Einspeise-Streams erweitern, so kann man den “externen” auch eigene Passwörter geben. Die entsprechenden Stream Monitor auf diesen Einspeisepunkten, würde ich dann aber über Events sperren und einschalten. So dass der nur zum vereinbarten Zeitpunkt funktioniert. Ausserhalb dieser Zeit funktioniert der automatisch auch als Teststream, weil der Stream Monitor nicht darauf reagiert. Wenn man die Adresse kennt, kann man so einen Einspeisepunkt natürlich auch direkt abhören.

Bei uns gibt es zusätzlich noch ein Webinterface in unserem Intranet, wir lassen die Stream Monitore immer aus, wenn sie eigentlich nicht gebraucht werden. Bevor ein Moderator auf Sendung geht, schaltet er den entsprechenden Stream Monitor über das Webinterface ein. Das dient als zusätzliches Sicherheitslevel, sollte mal versehentlich jemand eine Einspeisung starten, z.B. weil er gerade am Studio schraubt. (Ja, alles schon passiert)


Diese Steuerung ist über REST an mAirlist angebunden und Open Source hier verfügbar.