[Icecast] Darkice "Buffer overrun": how to troubleshoot?
John Hicks
johnlist at gulfbridge.net
Thu Jan 24 22:53:08 UTC 2008
We're running a darkice/icecast configuration to stream our LPFM radio
station (and to provide a quick-n-dirty studio-transmitter-link). (See
config data below.)
We're getting intermittent "Buffer overrun!" errors out of darkice, and
we associate these with interruptions in our audio stream that are quite
noticeable. These occur anywhere from once to ten times per hour.
I've moved the darkice server 30 miles to a completely different node
and LAN configuration to rule out local network problems. I've maxed the
scheduling priority on both darkice and icecast. I've upped the
bufferSecs to 60. None of this has helped.
I'd appreciate any suggestions (or pointers to a how-to) on how to
troubleshoot this.
I'm assuming something is interrupting the internet connection between
our local darkice server and the remote icecast server (on
serverbeach.com). Of course, it would be best to find the root cause of
this and correct it. But short of that, I would think that we could
tweak our configuration to increase the buffering on both sides to
compensate for this. But there is precious documentation on how to do
this. (It appears that icecast does no buffering whatsoever. Is that
correct?)
Since icecast streaming is http-based and since http is tcp-based, I
would think the tcp parameters would be important here. In particular,
there is a tcp window size that would seem to be relevant to assuring a
smooth stream. But I don't see anything about this in relationship to
icecast streaming.
Again, I'd appreciate any suggestions (or pointers to a how-to) on how
to troubleshoot this.
Thanks in advance,
John Hicks
Station Manager, WXBH-LP
http://wxbh.org/
http://wxbh.org:8000/stream.ogg
DarkIce 0.17.1 running on Ubuntu Feisty Faun
Icecast 2.3.1 running on RHES 4
DarkIce 0.17.1 -- darkice.cfg:
[general]
duration = 0
bufferSecs = 60
[input]
device = hw:2,0
sampleRate = 44100
bitsPerSample = 16
channel = 2
[icecast2-0]
bitrateMode = cbr
format = vorbis
bitrate = 128
quality = 0.8
server = wxbh.org
port = 8000
password = xxxxxxxx
mountPoint = stream.ogg
name = WXBH-LP - 92.7 - Louisville Community Radio -
description = Louisville Community Radio
url = wxbh.org
genre =
public = yes
Icecast 2.3.1 -- icecast.xml:
<icecast>
<limits>
<clients>100</clients>
<sources>2</sources>
<threadpool>5</threadpool>
<queue-size>524288</queue-size>
<client-timeout>60</client-timeout>
<header-timeout>15</header-timeout>
<source-timeout>600</source-timeout>
<burst-on-connect>1</burst-on-connect>
<burst-size>65535</burst-size>
</limits>
<authentication>
<!-- Sources log in with username 'source' -->
<source-password>yyyyyyyyyyyy</source-password>
<!-- Relays log in username 'relay' -->
<relay-password>zzzzzzzzzz</relay-password>
<!-- Admin logs in with the username given below -->
<admin-user>admin</admin-user>
<admin-password>qqqqqqqq</admin-password>
</authentication>
<hostname>wxbh.org</hostname>
<listen-socket>
<port>8000</port>
</listen-socket>
<mount>
<mount-name>/stream.ogg</mount-name>
<fallback-mount>/Silence.ogg</fallback-mount>
<fallback-override>1</fallback-override>
</mount>
<mount>
<mount-name>/stream.mp3</mount-name>
</mount>
<fileserve>1</fileserve>
<paths>
<!-- basedir is only used if chroot is enabled -->
<basedir>/usr/local/share/icecast</basedir>
<!-- Note that if <chroot> is turned on below, these paths must both
be relative to the new root, not the original root -->
<logdir>/var/log/icecast</logdir>
<webroot>/usr/local/share/icecast/web</webroot>
<adminroot>/usr/local/share/icecast/admin</adminroot>
<!-- <pidfile>/usr/local/share/icecast/icecast.pid</pidfile> -->
<alias source="/" dest="/status.xsl"/>
</paths>
<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<!-- <playlistlog>playlist.log</playlistlog> -->
<loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
<logsize>10000</logsize> <!-- Max size of a logfile -->
<logarchive>1</logarchive>
</logging>
<security>xxx
</security>
</icecast>
More information about the Icecast
mailing list