- From: Chris Wendt <chris-w3c@chriswendt.net>
- Date: Thu, 17 Apr 2014 12:40:02 -0400
- To: Peter Thatcher <pthatcher@google.com>
- Cc: "public-ortc@w3.org" <public-ortc@w3.org>
- Message-Id: <68AD9F6C-D88F-4628-8FC7-5ECB4997FC53@chriswendt.net>
I think it looks good.
I’m assuming you are implying the priority value is just a floating point relative scale. if you have an encoding at 1.0 priority and you add a new one with higher/lower priority you go up/down from 1.0. Or it can be completely arbitrary float values as well?
Is there any quantitative priority scale implication? 1 vs 100 is “really big priority difference”, 1 vs 2 “not so big” or is it 1 vs 100 means the same as 1vs 2.
-Chris
On Apr 15, 2014, at 3:18 PM, Peter Thatcher <pthatcher@google.com> wrote:
> 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 Thursday, 17 April 2014 16:41:15 UTC