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.
Hosting always happens in the desktop app, so this native path is the one your share takes. Presenters and viewers receive the stream in any modern browser, with no install.
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
Screen sharing 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: