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.
The SRTMiniServer shows two values during processin incoming feed :
For perfect stream "input fps" and "decoded fps" should be very close
So please check this values during processing:
Good example: good case: both values very close
Wrong example: bad case: different very big
So we have question: why this values can be different ?
There are few reasons for this:
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.
Please check “input fps” info during process. It should be same as original FPS in encoder.
input 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.
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).
bad 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
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.
Note about “Critical Delay”: you can setup it as “Start delay” + 1000.