Skip to content

Stream quality

Stutter can come from the network, the encoder or the client, and each needs a different fix. While it’s happening, take a diagnostic bundle from Admin ▸ Sessions for a verdict (Diagnostics). Keep the browser tab visible; a hidden tab gives indeterminate_client_hidden.

Loss and round trip time rose together with a bitrate drop.

  • Use wired ethernet on both ends. This is usually the biggest win.
  • Check the UDP send buffer on the host.
  • Drop to a lower quality tier.
  • Check adaptive bitrate is on, in smooth mode.
  • Look for other traffic on the link.

Encode time was 16 ms or more per frame. The GPU can’t keep up with the tier.

  • Drop the tier. Steady 1080p60 beats unsteady 1440p120.
  • Check you’re not on software encoding (Encoders).
  • On a multi-GPU host, check QUASAR_RENDER_NODE.
  • Check nothing else is using the GPU.
  • Try the Vulkan encoder if the host supports it.

Encode and network were clean; the client presented frames unevenly.

  • Close other tabs and applications.
  • Check the client hardware-decodes the codec.
  • Match the display refresh rate to the stream (60 fps on 75 Hz judders).
  • On a Mac on WiFi, AirDrop and Handoff cause latency spikes. Check ifconfig awdl0.

No timing or transport fault found. This doesn’t rule out corrupted pixels: compare codecs and check driver compatibility.

All in the session detail.

Signal Threshold
Encode time, p95 16 ms or more is saturation
Presentation interval variation (also in the in-session overlay) 18 ms or more is visible stutter
Round trip time, p95 Above 50 ms contributes to congestion
Packet loss rise Above 5 packets in a window contributes
Host frame rate, p10 Below 50 means the host isn’t keeping up

Host frame rate and encode time describe what was produced; presentation interval variation describes what the user saw.

Adaptive bitrate defaults to smooth, which favours steady frames over peak bitrate. See Latency and smoothness.

Compare the ABR setpoint with loss and round trip time in the session detail. Oscillation on a clean link usually means the socket buffer sysctl is missing. NVENC overshooting its target on busy scenes is normal.

Everything is bad and nothing is obviously wrong

Section titled “Everything is bad and nothing is obviously wrong”

Check Admin ▸ Fleet ▸ Hosts for the encoder each GPU actually reported. A host that fell back to software encoding looks poor at every tier.

Change one thing at a time, keep everything else the same, and take a bundle for each run.