Audio cracking / Video choppy

Sometimes we got messages from our clients:

1) I seem to be having some troubles with audio-video sync

2) Audio or Video choppy

Let me explain why it happens.

Base info

The SRTMiniServer shows two values during processin incoming feed :

  • input fps - the app read it from first packet of stream (usually encoder sent this info). It's constant.
  • decoded fps - it's just real statistic. How many frames server decodes during last second. It's not constant: this value can little jump.

For perfect stream "input fps" and "decoded fps" should be very close

So please check this values during processing:

Good example: imagegood case: both values very close

Wrong example: imagebad case: different very big

So we have question: why this values can be different ?

There are few reasons for this:

Reason 1: wrong input FPS detection

By default SRTMiniServer uses “auto” for “Input FPS” field.This means the app tries auto detect fps for incoming streaming. If the app do this incorrect then result will be wrong.

image

Please check “input fps” info during process. It should be same as original FPS in encoder.

imageinput fps is constant: it does not change during stream

SOLUTION: if you see incorrect detection (for example 30 instead 25 ) then please setup “Input FPS” manually to correct value.

image

Reason 2: heavy stream for your connection

For example: encoder sent 20Mbs stream but Studio (or your ProxyServer) has 10Mbs connection only.

You can see real incoming bandwidth in “bitrate” value during processing.

Let me note:

bitrate - it's just statistic. It measures how many bytes income during last seconds (in average).

imagebad case (encoder sent 80 Mbs feed)

On image above encoder sent 4k@60fps/80 Mbs but server got only 30 Mbs.As result decoded fps not close to input fps (server has not data to encode).

So if you see bitrate value less than it should be (for example 1 Mbs instead 5Mbs ) then it means your connection not enough for incoming stream.

SOLUTION: change bitrate setup on encoder-side or call to ISP

NOTES: good practice is measue real SRT speed before stream. It's easy and described here

Reason 3: unstable connection

Sometimes connection speed can be jumped. Please check “decoded fps”. For good streaming “decoded fps” should be about “input fps”. For example: if “input fps” is 30fps then “decoded fps” can be jump between 28-32.

If you see “decoded fps” jumps very hard then it means connection is unstable.

SOLUTION: increase Start Delay.

“Start Delay” fills out special buffer before star NDI output. This buffer allows smooth out jumping incoming feed.

image

Note about “Critical Delay”: you can setup it as “Start delay” + 1000.

Like most websites our site uses cookies to ensure that we give you the best experience.