Encoder > Edge (wowza) > Browser
-
using HLS and RTSP URLs
-
Works perfectly on pc/mac and apple devices. Only on Android devices the live stream takes 15 seconds to load. Once it’s playing, the stream runs fine.
-
Created several test streams and I get the same issue.
-
Reduced all my settings (bit rate, frame rate, resolution) and nothing changed.
-
Integrated callback URL script as well.
I know that mobile devices will take a longer time to load the live stream because wowza needs to transcode from RTMP to RTSP/HTTP according to the devices. Still, 10-15 seconds seems a bit too long. I have access to streams on other servers and they’re up within 4 seconds. What’s the difference?
I want to debug this further but I don’t know what else to do. Anybody have any ideas?
Hi,
The delayed playback is normally due to the device making a request to the Wowza server using TCP and tells Wowza that it can stream using UDP. When Wowza sends the stream via UDP the device does not receive it due to it being blocked somewhere between the device and Wowza. After the set timeout duration is reached, the device will then send a message to Wowza asking for the stream via TCP because the data was not received and the TCP stream is successful. The time it takes for the device to decide it has waited long enough without receiving data and then tell Wowza to send the data via TCP is the delay you’re seeing.
You can’t change this on the server as it’s a timeout on the device itself.
Jason
This delay is effected by “cupertinoChunkDurationTarget”.
By default this is set to 10 seconds, along with that iOS devices need 3 chunks cached before the stream starts. Hence around 30 second delay.
See this article for modifying these settings:
to configure Apple HTTP Live Streaming packetization (cupertinostreaming)
Keep in mind chunks must start on a key frame. So it is best to use a key frame interval that is factor of the cupertinoChunkDurationTarget setting. For instance if cupertinoChunkDurationTarget is set to 10 seconds then use a key frame interval of either 2, 2.5, 5, or 10 seconds.
Salvadore