maintain-framerate
downscale resolution to keep the framerate up. Default for screenshare.
demo · v144 · WebRTC
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…
downscale resolution to keep the framerate up. Default for screenshare.
drop framerate before resolution. Default for camera/talking-head video.
let the engine pick. UA-defined heuristic.
compress harder, never drop frames, never downscale. Use for sign-language or motion-critical content where smoothness AND detail matter.
const sender = pc.addTrack(track, stream);
const params = sender.getParameters();
params.degradationPreference = "maintain-framerate-and-resolution"; // v144
await sender.setParameters(params);