[Icecast] fallback-override takes very long to switch back -- Is there a way to switch back immediately?

Lorenz Reichelt lr at pripple.de
Sat Feb 27 10:13:26 UTC 2021


Hi, great, thank you, Geoff!

With your hint I could make it work as I wanted it to.

As someone might come across this thread with the same question, I provide the steps I took below. 

I already thought that somehow streaming the fallback “too fast” and thus filling up a buffer might have been the issue, however, as I am pretty new to this, your advice was very helpful: the idea of _streaming_ the fallback via ezstream on the very server that icecast is running on. (My second guess was that icecast might not be checking often enough, as there is a corresponding option for relay streams, however, this obviously wasn’t the issue in my case.)

Thanks again,
Lorenz

The steps I took on my Ubuntu server:

1. "apt install ezstream"

2. Write a very simple ezstream.xml with the following contents:

<ezstream>
<servers>
<server>
<protocol>HTTP</protocol>
<hostname>127.0.0.1</hostname>
<port>8000</port>
<password>hackme</password>
</server>
</servers>
<streams>
<stream>
<mountpoint>fallback</mountpoint>
<format>MP3</format>
</stream>
</streams>
<intakes>
<intake>
<type>file</type>
<filename>/path/to/fallback.mp3</filename>
</intake>
</intakes>
</ezstream>

3. Update your icecast.xml like this:

<limits>
<sources>10</sources> <---- increase this value – at least I ran into problems of not being able to connect with the live stream source with the default limit to 2 ---->
<-- … -->
</limits>
<-- … -->
<mount type="normal">
<mount-name>/live</mount-name>
<fallback-mount>/fallback</fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>1</fallback-when-full>
<intro>/live_intro.mp3</intro>
</mount>
<mount type="normal">
<mount-name>/fallback</mount-name>
<fallback-mount>/absolute_fallback.mp3</fallback-mount>  <---- I chose a different track here so I can tell if ezstream is working or not ---->
<fallback-override>1</fallback-override>
<fallback-when-full>1</fallback-when-full>
<intro>/fallback_intro.mp3</intro>
</mount>

4. Add "ezstream -c path/to/ezstream.xml" as a service and start it (I had to write my own ezstream.service and install it via systemctl, but I’m not sure if I am following best practice with it, so I don’t provide it here)

5. When you restart the icecast service, restart the ezstream service, too (some time later) – else, for me, it stops working – of course, there might be better/best practice solutions for that


More information about the Icecast mailing list