I have been searching through various archives, looking for the best way to set up a stream so that the stream is only sent to the server when there are listeners. It appears that to do this, I would need to have a local icecast server on the machine where the stream originates, and use the on-demand relaying to do the connection. This seems like it will work, but has a few problems in implementation. The biggest problem appears to be that the remote icecast server would need to be able to connect to the local one, which could be rather difficult to arrange if the local machine is on a firewalled dhcp connection. Is there any way currently to deal with this situation? I may be misunderstanding how a relayed stream works here... -Craig
A. Craig West wrote:> I have been searching through various archives, looking for the best > way to set up a stream so that the stream is only sent to the server > when there are listeners. It appears that to do this, I would need to > have a local icecast server on the machine where the stream > originates, and use the on-demand relaying to do the connection. This > seems like it will work, but has a few problems in implementation. The > biggest problem appears to be that the remote icecast server would > need to be able to connect to the local one, which could be rather > difficult to arrange if the local machine is on a firewalled dhcp > connection. Is there any way currently to deal with this situation? I > may be misunderstanding how a relayed stream works here...yes it is a pull relay, so there would need to be a way for the remote icecast to connect to the local icecast. You can use a dynamic dns mechanism if the IP can change. The only way you could get something to push content onto the remote icecast is if you hooked into the auth url listener add handler and issued a remote request to start the push but you would have the same concerns as you have with an on-demand relay, addressing the local server. karl.
2009/4/24 Karl Heyes <karl at xiph.org>:> yes it is a pull relay, so there would need to be a way for the remote > icecast to connect to the local icecast. You can use a dynamic dns mechanism > if the IP can change. > > The only way you could get something to push content onto the remote icecast > is if you hooked into the auth url listener add handler and issued a remote > request to start the push but you would have the same concerns as you have > with an on-demand relay, addressing the local server.The one thought I had is to write client-side code that checks the number of listener's on the mount, and supplies a null stream if the listener count is 0. Probably the best way to implement it, really.... -Craig