I'm working on an application to stream video from Wowza using the HLS protocol. A camera publishes video to Wowza and then an application retrieves the HLS playlist. I'm seeing a delay of about 8 seconds before an HLS stream can be properly retrieved after publishing begins. I want to save bandwidth, so I don't want the camera to be constantly publishing. Additionally, for each attempt to get the HLS playlist that fails, (Wowza returns a 404 response), an outgoing connection is added, which prevents me from polling too frequently to check if the playlist is ready.
Is there a way to configure Wowza to make the publishing streams available faster? I have the cupertinoChunkDurationTarget configuration parameter set to 1000ms and the cupertinoPlaylistChunkCount parameter set to 3.
I think you are going about it the right way by looking at the chunk settings. Can you also change the key frame frequency at the source? If you set that to 1 and have a chunkDurationTarget of 1000 that may get you close to a couple of seconds delay. You could also look at reducing the bit rate as that will also reduce startup time. In the end, iOS devices will fetch 3 chunks before playback, so the smaller the chunk size, the faster the network, etc, the faster it will get to the playback stage.