Command Line Flags
LLrdc provides command-line flags and environment variables to fine-tune the container behavior, enable hardware acceleration, and output debugging information.
Docker Runner Flags
Section titled “Docker Runner Flags”These flags are passed to the docker-run.sh script to configure the container environment.
Enables GPU acceleration for video encoding. This automatically maps NVIDIA GPU devices into the Docker container and sets the encoder to use NVENC (Nvidia Encoder). This substantially reduces CPU usage and decreases latency.
Requirements: You must have the NVIDIA Container Toolkit installed on your host machine for Docker to access the GPU.
Supported GPU Codecs: When this flag is enabled, you gain access to the following ultra-low-latency NVENC codecs in the web viewer panel:
- H.264 (GPU - NVENC): Excellent compatibility across all modern browsers.
- AV1 (GPU - NVENC): Next-generation compression offering the highest quality at the lowest bitrates (requires an AV1-capable NVIDIA GPU, such as the RTX 40 series or newer).
--debug
Section titled “--debug”A master debug flag that enables verbose logging across the entire stack, including both FFmpeg streaming components and the X11 virtual display.
--debug-ffmpeg
Section titled “--debug-ffmpeg”Enables debugging output specifically for FFmpeg. Helpful for diagnosing issues with the video encoder, inspecting frame rates, or identifying pipeline bottlenecks.
--debug-x11
Section titled “--debug-x11”Enables debugging output specifically for the X11 virtual display and XFCE desktop environment. Use this to trace input events, keyboard mapping problems, or startup errors.
Network Interface Flags
Section titled “Network Interface Flags”These flags help WebRTC select the correct network interface for streaming.
--iface <name> or -i <name>
Section titled “--iface <name> or -i <name>”Restricts WebRTC to use only the specified network interface. This is useful for forcing traffic through a specific adapter (e.g., eth0) or a VPN (e.g., tailscale0).
--exclude-iface <name> or -x <name>
Section titled “--exclude-iface <name> or -x <name>”Prevents WebRTC from using a specific network interface. This is helpful if you want to avoid streaming over a slow or congested network.
Server Binary Flags
Section titled “Server Binary Flags”These flags are supported directly by the llrdc server binary running inside the container (or natively). They can be used to further customize the server’s behavior.
User Flags
Section titled “User Flags”--port: Port for both HTTP and WebRTC UDP (default:8080).--fps: Target frames per second (default:30).--video-codec: Choice ofvp8(default),h264,h264_nvenc,av1, orav1_nvenc.--use-gpu: Enable GPU acceleration for NVENC codecs.--use-debug-ffmpeg: Enable verbose FFmpeg logging.--use-debug-x11: Enable verbose X11/XFCE session logging.--display-num: X11 display number inside the container (default:99).--wallpaper: Path to a custom wallpaper image.--webrtc-public-ip: Manually set the public IP for ICE candidates.--webrtc-interfaces: Comma-separated allowlist of network interfaces.--webrtc-exclude-interfaces: Comma-separated blocklist of network interfaces.--enable-clipboard: Enable clipboard synchronization (default:true).
Testing Flags
Section titled “Testing Flags”--test-pattern: Run with an FFmpegtestsrcpattern instead of capturing the X11 desktop.--test-minimal-x11: Start a bare X11 session without the full XFCE desktop environment.