New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
aboba opened this Issue Apr 15, 2014 · 0 comments

Comments

Projects
None yet
2 participants
@aboba
Copy link
Contributor

aboba commented Apr 15, 2014

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

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