Nick Dunklee
2005-Mar-27 20:23 UTC
[Icecast] Odd icecast hiccup problem with low-bandwidth cellular client
Here's a very odd question - I don't know if anybody can even begin to answer. I am attempting something very odd and geeky. I set up an icecast Win32 server streaming a 96kbps mp3 stream (using all the latest as of today software, winamp, icecast2 and oddcast v3) so I can listen to it on my cell phone while at work. My phone does GPRS EDGE data at 131kbps-ish, just barely fast enough to keep up. I know 96kbps SHOULD work with this because Di.FM trance streams at 96kbps and I can listen to that hours on end off my cell phone connection and it plays smooth....my own connection however isn't working so good. When my phone connects all it does is hiccup and skip and then some, occasionally reconnecting altogether, and just not playing smoothly. I noticed di.fm uses shoutcast, so I tried a shoutcast server instead, but it hiccups the same. I am convinced my problem somehow has to do with the way icecast is prebuffering. The current limits section of my config looks like this: <limits> <clients>4</clients> <sources>2</sources> <threadpool>5</threadpool> <queue-size>2097120</queue-size> <client-timeout>120</client-timeout> <header-timeout>120</header-timeout> <source-timeout>10</source-timeout> <burst-on-connect>1</burst-on-connect> <burst-size>131072</burst-size> </limits> I've tried turning off burst-on-connect, tried making it 512k, tried making it tiny... I extended my timeouts to handle the lagginess of the celluar packet data, without those settings being as such the server would kick the phone off before even finishing connection. I'm tearing my hair out here, I've tried everything, researched all over several icecast config docs, mailing lists, google, etc., etc., etc. nobody seems to have any problem even remotely close to mine and I really don't know what to do...are there any undocumented configuration options for the icecast server like tweaking how often metadata gets muxed into the mp3 stream? I'm willing to try anything! Oh, and it does stream to computers both within my LAN and externally across the internet just fine, its just my cellular packet data connection giving me issues. I'll connect to di.fm trance, it works fine, then mine, and it hiccups, so i know it's not network congestion issues on the cellular end. Just want to listen to my library at work! arrrr! Thanks in advance! Nick
Geoff Shang
2005-Mar-27 20:28 UTC
[Icecast] Odd icecast hiccup problem with low-bandwidth cellular client
Hi, Can we have the URLs to the two streams so perhaps we can spot the differences? Geoff. -- Geoff Shang <geoff@hitsandpieces.net> Phone: +61-418-96-5590 MSN: geoff@acbradio.org Make sure your E-mail can be read by everyone! http://www.betips.net/etc/evilmail.html Please avoid sending me Word or PowerPoint attachments. See http://www.fsf.org/philosophy/no-word-attachments.html
Karl Heyes
2005-Mar-28 10:17 UTC
[Icecast] Odd icecast hiccup problem with low-bandwidth cellular client
On Mon, 2005-03-28 at 04:39, Nick Dunklee wrote:> Here's a very odd question - I don't know if anybody can even begin to > answer. > > I am attempting something very odd and geeky. I set up an icecast Win32 > server streaming a 96kbps mp3 stream (using all the latest as of today > software, winamp, icecast2 and oddcast v3) so I can listen to it on my cell > phone while at work. > > My phone does GPRS EDGE data at 131kbps-ish, just barely fast enough to keep > up. > > I know 96kbps SHOULD work with this because Di.FM trance streams at 96kbps > and I can listen to that hours on end off my cell phone connection and it > plays smooth....my own connection however isn't working so good.make sure that that the TCP settings on your win32 allow for that bitrate. You could be throttling the connection.> When my phone connects all it does is hiccup and skip and then some, > occasionally reconnecting altogether, and just not playing smoothly. > > I noticed di.fm uses shoutcast, so I tried a shoutcast server instead, but > it hiccups the same.this would confirm a starvation issue, either at the TCP level or just that you cannot maintain an upload rate of 96kbit + overhead from your icecast server.> I am convinced my problem somehow has to do with the way icecast is > prebuffering. The current limits section of my config looks like this:burst will max out the link to the client but glitches in the playback would indicate a failure to maintain bitrate.> I'm tearing my hair out here, I've tried everything, researched all over > several icecast config docs, mailing lists, google, etc., etc., etc. nobody > seems to have any problem even remotely close to mine and I really don't > know what to do...are there any undocumented configuration options for the > icecast server like tweaking how often metadata gets muxed into the mp3 > stream? > > I'm willing to try anything! > > Oh, and it does stream to computers both within my LAN and externally across > the internet just fine, its just my cellular packet data connection giving > me issues. I'll connect to di.fm trance, it works fine, then mine, and it > hiccups, so i know it's not network congestion issues on the cellular end.Don't forget DI have setup their systems to have listeners connecting, whereas I guess you have done some tweaks in icecast only. I would check the TCP settings for your windows version, ie TCP windows scaling or TCP send window, something like that. I can't say how exactly the phone is configured but default win32 usually has fixed size TCP windows which may be getting maxed out with the high latency. karl.