How to fix Iphone devices from being extremely slow compared to anything else

If you are anything like me, you don’t care much for I-devices either, but for a specific client the majority of users will be viewing a stream on their Iphones and Ipads and I am looking for a method of getting comparable performance on these devices relative to android and PC devices. So far, I use Jwplayer for the web/android clients and for the IPhone clients I use a video tag with a source pointing to the “playlist.m3u8” live link. These methods were first implemented by a co-worker who is no longer with the company, so I am not 100% sure if they are the correct way to play. The Jwplayer works great with a latency of about 10-15 seconds, which is acceptable. On the Iphone devices the lag is about 30-40 seconds behind the video projected by the other devices. This is almost 60 seconds overall and is not desirable for the application. I assume this might be due in part to the protocol using TCP instead of UDP, but I have not really researched this to confirm. I can not think of another reason for such a drastic difference.

Can anyone give me any pointers to fix this for Iphones? I can post code I use if that is required.

Thanks,

-Paul

Hello there and welcome to the Wowza support forum.

As a general rule 3 chunks are required by iOS devices for streaming to begin. Each chunk is set to 10 seconds by default. So that would be around 30 seconds latency.

If you use a keyframe interval of 1 frame per second you can lower the cupertinoChunkDurationTarget to 1 second(1000) and get the latency down to closer to 3 seconds.

Also, you might experiment with a setting of “1” for cupertinoPlaylistChunkCount but probably not a good idea for iOS.

This guide explains the configuration in more detail:

How to configure Apple HTTP Live Streaming packetization (cupertinostreaming)

Thank you, and I hope this is helpful for you. Please let us know if there is anything else we can assist you with in the future.

Salvadore