We have an article specifically for addressing lower latency using Apple’s HLS. It can be found at the link below:
https://www.wowza.com/docs/how-to-improve-playback-of-lower-latency-apple-hls-streams
Some older Android phones support both RTSP and HLS. Mobile phones never support RTMP. HTTP segmented content, specifically HLS, is what everyone is using these days as it plays back on both the desktop and mobile phones.
There will always be some latency between the encoder and the live video. This is the nature of streaming media. A few things can help.
A) The protocol you choose for playback can add a fair amount of latency. RTSP playback and RTMP playback have much lower latency than segmented HTTP delivered content like Apple HLS, MPEG-DASH, Adobe HDS, and Microsoft Smooth Streaming. The reason for this is that the player will not play a segment until three entire segments are finished downloading to the client to help smooth out networking issues. Content is segmented into chunks based upon the keyframe distance and time specified in Wowza Streaming Engine. Apple strongly recommends ten second segments, however that increases latency dramatically.
https://developer.apple.com/library/content/technotes/tn2224/_index.html#//apple_ref/doc/uid/DTS40009745-CH1-MEDIASTREAMSEGMENTATION-USE_10_SECOND_TARGET_DURATIONS
B) Make sure that your keyframe distance, also known as a “Group of Pictures” or GOP, is two seconds and is consistent. Your encoder should be using the H.264 video codec and have an option to make sure that keyframes are created at that exact distance every time. If you can, please force the keyframe distance using whichever option your encoder documentation specifies. If you are using the x264 implementation of the H.264 codec you can add the “no-scenecut” option if your encoder allows it.
If keyframes are not in perfect cadence then chunk sizes will be random in duration and cause buffering and possibly connection timeouts.
C) We have a guide that may help provide insight in lowering latency for RTMP playback for desktop players.
https://www.wowza.com/docs/how-to-set-up-low-latency-applications-in-wowza-streaming-engine-for-rtmp-streaming
More on low latency can be found at the following link.
https://www.wowza.com/blog/what-is-low-latency-and-who-needs-it
D) If you are delivering content using Apple HLS, Adobe HDS, Microsoft Smooth Streaming, or MPEG-DASH you will want to modify your ChunkDurationTarget as shown in the following articles:
Apple HLS:
https://www.wowza.com/docs/how-to-configure-apple-hls-packetization-cupertinostreaming
Adobe HDS:
https://www.wowza.com/docs/how-to-configure-adobe-hds-packetization-sanjosestreaming
Microsoft Smooth Streaming:
https://www.wowza.com/docs/how-to-configure-microsoft-smooth-streaming-packetization-smoothstreaming
MPEG-DASH:
https://www.wowza.com/docs/how-to-configure-mpeg-dash-packetization-mpegdashstreaming
I hope that this helps to address your latency concerns.