Wowza Community

Reduce startup latency on rtp-live?

Anyone figured out how to reduce the client wait time on an rtp-live stream? I’ve tried rtp-live-lowlatency, but don’t really see that much if any improvement. Wowza talks about low latency improvements for video conferencing, but not sure how you do this? Anybody have any info?

I did find this article.

https://www.wowza.com/docs/how-to-set-up-low-latency-applications-in-wowza-streaming-engine-for-rtmp-streaming

Is low-latency a setting that works with RTSP camera sources? I’ll give it a try today and report back if this works.

JohnA

The latency arise in different points.

a) in the camera / live encoder

b) in the streaming server / Wowza

c) in the player

A

The most ip cameras produce latency fewer than 1 sec. But many software encoders produce a latency from 2 to 6 seconds

B

Typical 0,5 to 1,5 sec, with lowlatency only 0,1 sec

C

  • In a Flashplayer you can program buffertimes from 0,1 to serveral seconds. Maybe your standard player run with a fix buffer of eg 3 sec

  • The Flashplayer wait until the first keyframe in stream to start the playback. In most encoder the keyframes set from 1 to 3 sec interval. But in many ip cameras the keyframe interval is set to 5 oder 10 seconds - so the player must wait for the next keyframe to start playback.

  • In case you stream per HTTP (HLS, DASH…) for mobile or Firefox on PC the protocol define a buffer of typical 30 seconds. You can reduce this in the wowza configuration, but it is not a safe way to set this value much under 10 sec because the most mobile phones align to the Apple standard for HLS and maybe expect higher run times per chunk (eg for the buffer strategy).

Maybe you can reduce the latency per rtp-live-lowlatency configuration. But in the most cases the latency is indebted by another point in the streaming chain.

We want to pull the streams from Wowza using RTSP. The startup latency directly from the encoder is 2 secs vs 12 sec when streaming from Wowza. Trying to figure out how to get that 12 closer to 2. I tried changing from rtp-live-lowlatency to low-latency and it didn’t work. Apparently low-latency is not correct for grabbing streams from an rtsp encoder. I understand that HLS requires buffering and will have higher startup latency.

JohnA

Hi,

Where are you seeing the latency? as you mention HTTP protocols such as HLS will add latency to the client, though you can mitigate that somewhat via changing the ChunkDurationTarget. The main delay for initiating an rtp-live StreamType is starting up the stream and pulling in content, assuming it is not already active. That will certainly add a few seconds if the stream is not already active.

You may be interested in our WebRTC implementation. This is currently in preview but you can request access.

Paul