[Icecast] playlist streaming
Dick Trump
dtrump1 at triadav.com
Fri Nov 25 17:08:34 UTC 2005
Donatas wrote:
> is it true it's not possible to start or stop indvidual streams using icecast2+icegenerator(liveice,ezstream) combination?
<<<<snip!>>>>
> Maybe someone has allready developed this technology?
I didn't do exactly what you are looking for, but maybe what I did do could provide a clue to a solution for you. Keep in mind that my server is running on Windows, so some things are a bit more difficult.
I have a system that normally streams the same, live content to a handful of destinations. Once a day, I need to change the content to some pre-recorded material for one destination only for an hour, then resume the live streaming. The other destinations need to continue uninterrupted.
Here's how I did it:
I set up distinctly separate mount points for each of the clients (This would be necessary only for the one that I want to force a change in the stream). For the client that I want to force a change, I make this "normal" mount point into the fallback-mount point through a separate <mount> section in icecast.xml.
The mount point that is used for the one hour change becomes the <mount-name> for this destination.
So the mount section for that destination looks something like this:
<mount>
<mount-name>/Insert-Dest2</mount-name>
<max-listeners>2</max-listeners>
<fallback-mount>/Normal-Dest2</fallback-mount>
<fallback-override>1</fallback-override>
</mount>
For 23 hours of the day, /Insert-Dest2 does not exist, so Dest2 receives the same thing everybody else receives.
At the specified time, I use EZstream to play the one hour MP3 file.
Now, the catch is that EZstream will just continue repeating unless something is done to stop it. Since I'm not "equipped" to make changes to EZstream, I had to figure out a way to stop EZstream after a single play.
First, I created an M3U file that contains the desired filename first, then STDIN as the second "file" to be played. When the playlist hits STDIN, the stream stops and Dest2 falls back to the normal live audio. I found that using a compiled Winbatch program to execute EZstream, I could detect the point at which EZstream finishes the file and switches to STDIN. At that point, I kill off EZstream. I suspect this part would much simpler under Linux. Or even better, it might be possible to change EZstream to play only once and exit.
--
Regards
Dick mailto:dtrump1 at triadav.com
More information about the Icecast
mailing list