Adaptive video bitrate

How PrimalDesk balances video detail and responsiveness as network conditions change.

PrimalDesk adjusts the amount of data used for a video stream while a session is running. It responds to delivery feedback and changing network capacity instead of assuming that the connection can always carry a fixed rate.

What changes

When the network becomes congested, sending more video can build up a queue and make input feel delayed. PrimalDesk reduces the video bitrate to help keep delivery responsive. As conditions improve, the target can rise again within the configured limits. Busy scenes need more data than static ones, so the actual send rate also depends on what is on screen.

A lower bitrate can make fine detail or rapid motion look softer. This is a tradeoff between image detail and timely frames, not a change to the files or application running on the host. Adaptation does not remove physical network delay or guarantee uninterrupted playback.

Desktop and Apps

Desktop streams and Apps windows using video benefit from adaptation. Apps can also use pixel updates, which transmit changed image regions using compression such as QOI or JPEG. QOI is lossless; JPEG is lossy. This mixed mode is separate from video bitrate adaptation and does not guarantee exact pixels. When a window switches to video, motion and fine detail can look different.

Choosing settings

Treat a bitrate setting as a budget or limit, not a promise that the stream will continuously use that amount. Raising it cannot create bandwidth or remove congestion. Higher resolution and frame rate increase the work required of the host, client and network.

For persistently poor quality, compare wired networking with Wi-Fi, pause competing uploads, and check host/client load. Try a lower resolution or frame rate before increasing the bitrate limit. A direct route and a relay route can have different capacity and delay; neither is automatically fault-free.

See network quality and frame rate for help distinguishing delay, jitter, loss and rendering load.