View previous topic :: View next topic |
Author |
Message |
uphid Guest
|
Posted: Wed Feb 01, 2006 11:52 pm Post subject: Icecast Server Gotchas / Windows Media Player Advice |
|
|
Just as a bit of background, I've been running Icecast as our streaming server for a community radio station for about six months now.
I'd like to thank the team for building such a wonderful program. It's really quite exceptional. Alright, down to business.
I've learned a lot about using it. I've also learned a lot about Windows Media Player, and how poorly it works with streaming audio. Windows Media Player has been an annoying problem throughout the experience, but I need to accomodate it (80% of my listeners use it).
Hopefully these bits of advice will help other people out:
1. I have yet to get on demand relay working with Windows Media Player. I think that it cannot cope with not receiving an "immediate" response. That's a shame.
2. The same problem occurs if you try to use "scripted" authentication. Windows Media Player seems to fail.
3. In case you haven't heard it before, Windows Media Player does not support title metadata (at least for mp3 streams). This isn't really a new issue, but I thought it might save some of you the work of finding out the long way.
None of these are problems with Icecast; rather with Windows Media Player, but it's hard to run a server without encountering it.
Also, if anyone has interest...
I've put together some ASP.Net code for streaming mp3's in an "on demand" fashion. I wanted to make files available online, but had to make them "not downloadable". I realize that it isn't perfect; but it's the best I can do while providing a valid stream. If there is any interest; I will clean up the code and make it available. |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Thu Feb 02, 2006 12:13 am Post subject: |
|
|
Window media player is quite substandard in many respects, VBR mp3 streams are not handled although files are.
I don't know the tollerance WMP has for stream data for on-demand relays, does using an intro file help in such cases. When using auth an intro file won't help as it doesn't get to that stage until auth is completed.
karl. |
|
Back to top |
|
|
uphid Guest
|
Posted: Thu Feb 02, 2006 1:24 am Post subject: |
|
|
You make an interesting suggestion.
I gave it a try, and WMP still dies. Not nicely either.
Don't get me wrong, I am in not being critical of either yourself or the project. I appreciate all the effort that went into Icecast.
I just want people to know the WMP issues up-front, to save them the time and effort.
It would be nice to drop support for WMP, but it's just too big a chunk of my audience. |
|
Back to top |
|
|
Anonymous Guest
|
Posted: Mon Apr 10, 2006 5:16 pm Post subject: Re: Icecast Server Gotchas / Windows Media Player Advice |
|
|
uphid wrote: |
2. The same problem occurs if you try to use "scripted" authentication. Windows Media Player seems to fail. |
Is this true? I'm just getting into experimenting with authentication and so far WMP has failed authenticating against a type="url" stream where Winamp was able to get in. Looking at the POST variables that are sent by icecast when authenticating the username/password fields are left blank as well as user-agent. Has anyone found a solution for this? |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Mon Apr 10, 2006 6:24 pm Post subject: |
|
|
I find it strange that WMP has issues with a delay at the start, after all there could be some issue on the network that could cause a normal stream to delay., unfortunately I don't have wmp to test it.
For authentication, you'll have to check what wmp sends, http://user:pass@host:port/mount may not be handled by certain versions, but a 401 return from icecast should cause a username/password prompt I guess.
karl. |
|
Back to top |
|
|
Guest
|
Posted: Mon Apr 10, 2006 7:36 pm Post subject: |
|
|
karlH wrote: |
For authentication, you'll have to check what wmp sends, http://user:pass@host:port/mount may not be handled by certain versions, but a 401 return from icecast should cause a username/password prompt I guess. |
On first connect a 401 is returned (because no credentials were given) and a username/password prompt pops up. When you enter a username and password and connect again my authentication script is saying that it hasn't received any data in the user or password fields.. |
|
Back to top |
|
|
Anonymous Guest
|
Posted: Mon Apr 10, 2006 7:37 pm Post subject: |
|
|
^ Me |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Mon Apr 10, 2006 8:34 pm Post subject: |
|
|
but what gets passed to icecast from wmp?
karl. |
|
Back to top |
|
|
uphid Guest
|
Posted: Wed Apr 19, 2006 7:59 pm Post subject: Delay Theory |
|
|
Karl,
Although I cannot prove it, I assume that WMP fails because of a delay. I think this because I have seen similar behavior with On Demand Relays. Winamp (and others) work without a problem, but WMP fails (if it is the first one, that causes the relay to initiate).
I'd be happy to put some time into solving this for the group. Any ideas on how to prove or disprove? |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Wed Apr 19, 2006 9:48 pm Post subject: |
|
|
one thing you could test for is having a normal relay running and setup an on-demand relay of your first. ie the on-demand relay can use a server address of 127.0.0.1. The startup delay should be minimal so it will be interesting to see what wmp does with it.
karl. |
|
Back to top |
|
|
uphid Guest
|
Posted: Thu Apr 20, 2006 10:36 pm Post subject: |
|
|
I ran the test as suggested. For reference, here is exactly what I did:
I created a normal mount point through a source client (I use SimpleCast). I named the mount /example
I set up an on-demand relay, using /example as the source. I called the relay /different.
I connected to /different using Winamp, with success. I disconnected, so the relay dropped.
I connected to /different using WMP, with success.
I then changed the Icecast config to reference my normal (remote) Icecast server (wmph.org) as the source for /different to relay from.
I connected to /different using Winamp, with success. I disconnected, so the relay dropped.
I attempted to connect with WMP. WMP failed in its usual way, regarding on-demand relays. Program hang.
It looks like a bad implementation on the part of WMP. I expect this is the same reason that WMP fails with scripted authentication too.
Let me know if I can run further tests for you. |
|
Back to top |
|
|
|