I am working on a project that requires making a large number of RTSP/RTP audio streams available for live playback. Bandwidth from the audio source is scarce, so the goal is to aggregate all of the streams on a Wowza server with ample bandwidth available and allow listeners to stream from there.
The challenge is that the vast majority of the time, very few (if any) of the streams will have active listeners. During the 95%+ of the time that any given stream is not being played back by anyone, I need to avoid pulling that stream from its RTSP source to the Wowza server. Is there a configuration that would allow this to happen? In other words, when someone requests to play back stream “X” from the Wowza server, only then would it begin pulling the stream from its origin.
Thanks!
Hi,
By editing the [Wowza-Install]/conf/[AppName]/Application.xml file with a text editor you can set the StreamType from “live” to “rtp-live”.
This should currently look like this:
live
You will be changing it to this:
rtp-live
A restart of the application is required for the changes to take effect. When playing the stream (.stream file) the first connection should trigger the Wowza Streaming Engine software to get the source and once the last playback client stops watching, the source should automatically disconnect.
There are some limitations with this workflow. If your first playback client is using a HTTP based protocol, they will likely not be able to connect as the chunks required for playback don’t exist. This is because the stream hasn’t been published yet and as a result the 3 (or more) chunks that are required by the playback client for the stream to play, aren’t available. A second or third attempt by the playback client should work as the stream will have been active long enough to provide the chunks required by the playback client.
Regards,
Jason Hilton
Wowza Media Systems Support Team