[Icecast] SOLVED Using Icecast relay function with dynamic IP at remote source end

Jack Elliott
Sun, 23 Apr 2017 15:16:44 -0000

Thanks, all, for chiming in on this thread. I've solved the problem that
prompted me to start it, which was several disconnects/reconnects per
day between our music festival remote's BUTT source client and the
station's backstream Icecast server.

I was looking at everything including using another encoder client and
different transport methods (icecast <-> icecast, prompting this thread)
and using mtr and other free tools to try to tease out whether massive
network congestion was responsible.

What turned out to be responsible for the frequent disconnects was a
setting in icecast's config file. I thought to look at icecast's
error.log and found one of the disconnects, having to do with source
client timeout. I googled that error message and it lead me to a
discussion somewhere online about the <source-timeout> setting in
icecast.xml. I found that ours was set to 1 second instead of the
default 10 seconds. I changed it back to the default (which incidentally
is also the default used by Streamguys, the public listener stream
hosting company the station uses) and Hey Presto! no more dropouts.

Impressive to me that even with a dozen hops between the butt source
client (presently at my house) and the station's icecast server, there
were only a handful of dropouts per day with a 1-second setting. 10
seconds is gonna be pretty robust, I think.