demo · v144 · WebRTC

Call Quality Compare

All four degradationPreference values, side by side, with the trade-offs the WebRTC working group documented for each. The new maintain-framerate-and-resolution tells the encoder: “drop bits, don’t drop frames or downscale” — the right choice for medical screenshare or sign-language video.

RTCRtpSender.setParameters: checking…

maintain-framerate

downscale resolution to keep the framerate up. Default for screenshare.

maintain-resolution

drop framerate before resolution. Default for camera/talking-head video.

balanced

let the engine pick. UA-defined heuristic.

maintain-framerate-and-resolution (v144)

compress harder, never drop frames, never downscale. Use for sign-language or motion-critical content where smoothness AND detail matter.

click probe to enumerate what your build accepts

the API

const sender = pc.addTrack(track, stream);
const params = sender.getParameters();
params.degradationPreference = "maintain-framerate-and-resolution"; // v144
await sender.setParameters(params);

see also