I’ve read several of the existing forum posts regarding this issue, and I’ve tried the things listed in this tutorial: https://www.wowza.com/docs/how-to-configure-apple-hls-packetization-cupertinostreaming
When using JWPlayer in Chrome and iOS (safari natively), we are still seeing 25-30 seconds of latency (we hope to get <5 secs). I have verified that ffmpeg is outputting an I-frame every second using Elecard StreamEye. Here is my ffmpeg command:
ffmpeg -i rtsp://<IP>/<stream> -an -vcodec libx264 -b:v 256k -x264opts keyint=10:min-keyint=10 -preset:v fast -profile:v baseline -level 30 -f flv rtmp://127.0.0.1/camera/live
Note: The stream is 10 fps (hence keyint=10). I am not seeing any errors about “Fragment duration greater than suggested range…” after increasing the I-frame rate.
I am using the latest ffmpeg and x264 code (built today 5.22.2013). My Wowza version is 3.5.2.
Here’s the relevant part of my Application.xml:
<LiveStreamPacketizer>
<Property>
<Name>cupertinoChunkDurationTarget</Name>
<Value>2000</Value>
<Type>Integer</Type>
</Property>
<Property>
<Name>cupertinoMaxChunkCount</Name>
<Value>10</Value>
<Type>Integer</Type>
</Property>
<Property>
<Name>cupertinoPlaylistChunkCount</Name>
<Value>3</Value>
<Type>Integer</Type>
</Property>
<Property>
<Name>cupertinoRepeaterChunkCount</Name>
<Value>3</Value>
<Type>Integer</Type>
</Property>
</LiveStreamPacketizer>
I have also set Streams/StreamType to “live-lowlatency”.
I have restarted the server and the ffmpeg stream after each change made to the configuration.
After all these changes, I’m still seeing the browser request a single TS segment every 10 seconds, and the video is behind “live” by ~30 seconds.
Any help would be appreciated.
-Tom