Sorry to ask this question which has been asked a million times already probably.
I am learning about streaming real-time content and have configured a stream that uses RMTP but the RMTP stream has a 4-5 second delay (As displayed by the clocks)
As you can see from the clocks that there is a distinct difference between "What is streaming" , What we are broadcasting and What we are viewing.
When i see my stream in the broadcasting screen there is 0 delay in the reactions from the stream screen and the broadcasting screen so there is "real-time" activity between those 2, So I am confused as to where the 3-5 seconds delay comes from when viewing on a client.
My PC spec is a
i7 4790k @ 4ghz
500GB Samsung Evo SSD, 3tb Sata HDD,
16GB 1866Mhz ram
MSI Gaming GTX 970 4GB
(thought i would add system specs in case my system is underpowered to do real-time streaming)
What is your player buffer setting? If you player buffer is large, the playback may start only after certain degree of the player buffer has filled up. Try to configure the player buffer to the value of 1 sec or less.
I do not know much about Twitch, if that is what you are using. But a quick look seems to show Twitch has its own latency and means for reducing latency.
All I can suggest is to try different fps settings, try a lower complexity stream (baseline or main profile with no b-frames). And setting the NetStream.setBufferTime(seconds) to zero (in Actionscript 3 use "NetStream.bufferTime = 0;"). We have seen latency down to half a second.
You can test different configurations with the example player that ships with Wowza. You will need Flash CS3 or higher to edit the ActionScript code in [install-dir]/examples/LiveVideoStreaming/FlashRTMPPlayer/live.fla. The other option is to use JW Player.
Have you tested locally to eliminate bandwidth as an issue?