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

aboba opened this Issue Apr 15, 2014 · 0 comments


None yet

2 participants

aboba commented Apr 15, 2014

From: Peter Thatcher
Date: Tue, 15 Apr 2014 12:18:31 -0700
To: ""

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

@robin-raymond robin-raymond pushed a commit to robin-raymond/ortc that referenced this issue Apr 29, 2014
Robin Raymond - Fixes for error handling, as described in w3c#26
- Support for contributing sources removed (re-classified as a 1.2 feature), as described in w3c#27
- Cleanup of DataChannel construction, as described in w3c#60
- Separate proposal on simulcast/layering, as described in w3c#61
- Separate proposal on quality, as described in w3c#62
- Fix for TCP candidate type, as described in w3c#63
- Fix to the fingerprint attribute, as described in w3c#64
- Fix to RTCRtpFeatures, as described in w3c#65
- Support for retrieval of remote certificates, as described in w3c#67
- Support for ICE error handling, described in w3c#68
- Support for Data Channel send rate control, as described in w3c#69
- Support for capabilities and settings, as described in w3c#70
- Removal of duplicate RTCRtpListener functionality, as described in w3c#71
- ICE gathering state added, as described in w3c#72
- Removed ICE role from the ICE transport constructor, as described in w3c#73
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment