Skip to content
This repository was archived by the owner on Feb 25, 2026. It is now read-only.
This repository was archived by the owner on Feb 25, 2026. It is now read-only.

Separate proposal on quality (was part of the "big proposal") #62

@aboba

Description

@aboba

From: Peter Thatcher pthatcher@google.com
Date: Tue, 15 Apr 2014 12:18:31 -0700
Message-ID: CAJrXDUE7EAvKWrs1xPwX6WTY5iHy5GX-5k7K_WnP3wNiGDN+Mw@mail.gmail.com
To: "public-ortc@w3.org" public-ortc@w3.org
URL: http://lists.w3.org/Archives/Public/public-ortc/2014Apr/0065.html

Here's a simplified proposal for how to add quality control without getting
too mixed up with quality (there will be a separate proposal for that).

dictionary RTCRtpEncodingParameters {
// ... existing ssrc, codec, fec, rtx

// The higher the value, the more the bits will be given to each
// as available bandwidth goes up. Default is 1.0.
double priority;
double maxBitrate;
double minQuality;

// 1.0 == Bias toward framerate, 0.0 == Bias toward quality/resolution

double framerateBias;
// Resolution/cropping/scaling is controlled by the input track!

}
Send a thumbnail along with regular size
*var encodings1 = [ ssrc: 1, priority: 1.0 }] // Control the resolution
and framerate with a different track and RtpSender. var encodings2 = [{
ssrc: 2, // Prioritize the thumbnail over the main video. priority: 10.0
}]; *Sign Language

*(need high framerate, but don't get too bad of quality) var encodings = [{
minQuality: 0.2, framerateBias: 1.0 }]; *Screencast

*(High quality, framerate can be low) var encodings = [{ framerateBias:
0.0 }]; * Remote Desktop

*(High framerate, must not dowscale) var encodings = [{ framerateBias: 1.0
}]; *Audio more important than video

*var audioEncodings = [{ priority: 10.0 }]; var videoEncodings = [{
priority: 0.1 }]; *Video more important than audio

var audioEncodings = [{
priority: 0.1
}];

var videoEncodings = [{
priority: 10.0
}];

Crank up the quality
var encodings = [{
maxBitrate: 10000000
}];

Keep the bandwidth low
var encodings = [{
maxBitrate: 100000
}];

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions