Video codecs
Latenz never uses software encoders. The codec for each session is the best match among three constraints: what your GPU encodes in hardware, what the RTP stack supports, and what your browser can decode over WebRTC.
Preference order
AV1 → H.265 → H.264. If the browser cannot decode the chosen codec (e.g. Chrome rejecting H.265), the host falls back to H.264 automatically and restarts the session.
Codec matrix
| Codec | Host encode | Browser decode |
|---|---|---|
| H.264 | NVENC, VAAPI | Universal |
| H.265 | NVENC (Maxwell 2+), VAAPI | Safari yes; Chrome no over WebRTC |
| AV1 | NVENC (RTX 40+), VAAPI (Arc / RDNA2+) | Chrome, Firefox |
Browser check
The dashboard shows which codecs this browser advertises via RTCRtpReceiver.getCapabilities. The viewer sends that list during signaling so the host never offers an undecodable codec. For step-by-step fixes when a codec is missing, see Browser compatibility.
Force a codec
Set BEAM_CODEC=h264|h265|av1 on the host to override negotiation. Use auto (default) for safe cross-browser behavior.