Viewer Config Panel
The LLrdc web viewer features a tabbed configuration panel for real-time adjustments. Below is a detailed breakdown of every available option.
Stream Settings
Section titled “Stream Settings”Server Video Codec
Section titled “Server Video Codec”Choose the compression algorithm used by the server. Options include VP8, H.264 (CPU), H.264 (GPU - NVENC), AV1 (CPU), and AV1 (GPU - NVENC).
- Pros: GPU options drastically reduce server CPU usage and lower encoding latency. Newer codecs like AV1 offer better compression.
- Cons: Software encoding (CPU) is very resource-intensive. Not all browsers support AV1 decoding yet.
Frame Rate
Section titled “Frame Rate”Sets the target frames per second (FPS) for the stream. Options: 15, 30 (default), 60, 90, and 120 FPS.
- Pros: Higher frame rates (60+) provide a much smoother, native-feeling desktop experience.
- Cons: Higher FPS proportionally increases bandwidth requirements and encoding CPU/GPU load.
Max Resolution
Section titled “Max Resolution”Sets the upper bound for the streaming resolution. Options: Responsive (default), 720p, 1080p, 2K, and 4K.
- Pros: Responsive automatically fits your browser. Lowering resolution guarantees stable performance on weak networks.
- Cons: Hard-capping resolution below your monitor size makes text blurry and harder to read.
Enable Client GPU Decoding
Section titled “Enable Client GPU Decoding”When enabled, the browser will use the local machine’s GPU to decode the video stream.
- Pros: Significantly reduces the CPU load on your local client device and can lower display latency.
- Cons: Can occasionally cause visual glitches if the client’s GPU drivers or browser hardware acceleration are buggy.
Quality & Bandwidth
Section titled “Quality & Bandwidth”Target Bandwidth
Section titled “Target Bandwidth”Specifies the maximum data rate for the stream. Options: 1, 5 (default), 10, 20, and 50 Mbps.
- Pros: Higher bandwidth eliminates blocky compression artifacts, crucial for reading small code/text.
- Cons: Setting this higher than your actual network connection will cause severe stuttering and latency spikes.
Target Quality
Section titled “Target Quality”Adjusts the visual fidelity via a slider from 10 to 100 (default: 70).
- Pros: Fine-grained control over exactly how crisp the image looks.
- Cons: Pushing to 100 on high-motion screens will quickly exhaust the bandwidth limit, causing frame drops.
Enable Variable Bitrate (VBR)
Section titled “Enable Variable Bitrate (VBR)”Enabled by default. Automatically reduces the bitrate during periods of low activity.
- Pros: Massive bandwidth savings when reading static web pages or code, reducing network congestion.
- Cons: Sudden large movements (like switching workspaces) might have a split-second of blurriness as the bitrate ramps back up.
Drop Duplicate Frames (mpdecimate)
Section titled “Drop Duplicate Frames (mpdecimate)”Utilizes the FFmpeg mpdecimate filter to identify and drop identical frames.
- Pros: Incredible bandwidth efficiency. The stream essentially uses zero data when the screen is perfectly still.
- Cons: Analyzing every frame to check for duplicates substantially increases CPU usage on the server.
Keyframe Interval
Section titled “Keyframe Interval”Determines how frequently a full “keyframe” is sent. Options: 1, 2 (default), 3, 5, and 10 seconds.
- Pros: Longer intervals save baseline bandwidth. Shorter intervals recover much faster from network packet loss/glitches.
- Cons: Shorter intervals cause frequent bandwidth spikes/bursts which can overwhelm poor connections. Longer intervals mean you stare at corrupted artifacts longer if a packet drops.
Performance
Section titled “Performance”CPU Effort
Section titled “CPU Effort”Controls encoder compression efficiency and encode speed (slider 0 to 8, default: 6).
- Pros: Setting a higher number (e.g., 8) reduces the CPU effort, which drastically speeds up encoding and results in lower latency (less lag). This is ideal for high-motion tasks.
- Cons: A higher number results in lower quality and less efficient compression. Conversely, a lower number (e.g., 0) increases the CPU effort, improving quality but introducing significant encode latency.
CPU Threads
Section titled “CPU Threads”Configures threads allocated to the video encoder. Options: 1, 2, 4 (default), 8, 16.
- Pros: Allows the encoder to run much faster by utilizing multi-core CPUs, preventing bottlenecks.
- Cons: Diminishing returns after 4-8 threads, and takes resources away from the actual desktop applications you are running in the container.
Input Control
Section titled “Input Control”Enable Desktop Mouse
Section titled “Enable Desktop Mouse”Toggles the visibility and rendering of the remote desktop’s cursor.
- Pros: Turning it off makes the mouse feel zero-latency because you only see your local hardware cursor.
- Cons: Without the remote cursor, you won’t see remote mouse states (like the text-select “I-beam” or loading spinners).
Enable Clipboard Sync
Section titled “Enable Clipboard Sync”Toggles the bidirectional synchronization of the clipboard between your host browser and the remote desktop environment.
- Pros: Allows you to seamlessly copy and paste text back and forth between your local machine and the remote desktop.
- Cons: Requires continuous focus polling of the HTML viewer to access the clipboard, which can be resource-intensive or interfere with certain browser behaviors. It may also be turned off for security or privacy reasons.