Screen Sharing & Video Encoding
Cliqer uses WebCodecs for hardware-accelerated screen sharing with configurable video encoding options.
Native Per-Monitor Capture (Desktop App)
The desktop app captures screens natively — on macOS through Apple's ScreenCaptureKit with hardware H.264 encoding (VideoToolbox) — instead of going through the browser's screen picker. That unlocks:
- A real monitor picker — Cliqer shows your displays with live thumbnails and knows exactly which monitor you picked.
- Per-display draw overlays — because Cliqer knows the shared monitor's identity, the draw and laser pointer overlay is placed on that display, aligned with what viewers see.
- Per-monitor frame rate — each shared display can run its own capture rate.
- Lower CPU — capture and encode stay on the GPU end to end.
When hosting from a browser (no desktop app), Cliqer uses the browser's standard screen picker and the WebCodecs pipeline below.
Video Codec Selection
Choose the best codec for your network and quality requirements.
Settings → Video Encoding → Codec
| Codec | Description | Best For |
|---|---|---|
| VP8 | Maximum compatibility, works everywhere | Legacy systems, broad compatibility |
| VP9 | ~20% better compression than VP8 at same quality | Balanced quality/bandwidth |
| H.264/AVC | Hardware-accelerated on most devices | Lower CPU usage, corporate networks |
| AV1 | Best compression, ideal for limited bandwidth | When hardware supports it |
Resolution Presets
Settings → Video Encoding → Resolution
| Preset | Resolution | Recommended Bandwidth |
|---|---|---|
| HD | 1280×720 (720p) | 1–3 Mbps |
| Full HD | 1920×1080 (1080p) | 3–6 Mbps |
| 2K | 2560×1440 (1440p) | 6–10 Mbps |
| 4K | 3840×2160 | 10–20 Mbps |
Bitrate Control
Settings → Video Encoding → Bitrate Mode
Auto (Recommended)
Codec-optimized bitrates adjust automatically based on content complexity:
| Codec | Auto Bitrate Range |
|---|---|
| VP8 | 2–8 Mbps |
| VP9 | 1.5–6 Mbps |
| H.264 | 2–8 Mbps |
| AV1 | 1–4 Mbps |
Custom
Set a fixed bitrate between 0.5–20 Mbps using the slider.
- Lower bitrate (0.5–2 Mbps): Better for limited bandwidth, lower quality
- Medium bitrate (2–6 Mbps): Balanced quality and bandwidth
- Higher bitrate (6–20 Mbps): Maximum quality, requires stable connection
Frame Rate
Screen sharing captures at 30 frames per second with consistent timing using interval-based capture.
Keyframe Strategy
Cliqer uses a minimal keyframe strategy to reduce visual flicker:
- First frame: Always a keyframe
- New subscribers: Receive cached keyframe immediately
- No periodic keyframes: Eliminates 1–3 second flicker from forced keyframes
Technical Details
Encoder Configuration
| Parameter | Value |
|---|---|
| Hardware acceleration | Prefer hardware, fallback to software |
| Latency mode | Real-time |
| Frame timing | Interval-based (30fps) |
| Backpressure handling | Skip frames only when queue exceeds 5 frames |
Decoder Configuration
| Parameter | Value |
|---|---|
| Hardware acceleration | Prefer hardware |
| Latency mode | Real-time |
| Frame dropping | Disabled (browser-managed) |
| Chunk queuing | Frames queued during decoder initialization |
Troubleshooting
Video Stuttering
- Lower resolution — Try 720p instead of 1080p or higher
- Lower bitrate — Use 2–4 Mbps custom bitrate
- Change codec — H.264 often has best hardware support
Black Screen on Reconnect
Fixed in v1.8.1. Screen sharing now properly auto-resumes when:
- Client reconnects to an existing session
- Host restarts with auto-resume enabled
High CPU Usage
- Use H.264 — Best hardware acceleration support
- Lower resolution — Reduces encoding workload
- Enable hardware acceleration — Check GPU drivers are current
See also: