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

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
}];

Received on Tuesday, 15 April 2014 19:19:39 UTC