- From: Justin Uberti <juberti@google.com>
- Date: Wed, 19 Feb 2014 23:26:53 -0800
- To: Chris Wendt <chris-w3c@chriswendt.net>
- Cc: Martin Thomson <martin.thomson@gmail.com>, Peter Thatcher <pthatcher@google.com>, "public-orca@w3.org" <public-orca@w3.org>
- Message-ID: <CAOJ7v-1h12oMV+fFQuEhCW0z5h6pfzHehtqc9R7QSWO-OrEn6g@mail.gmail.com>
For min, you can shut off the stream where there aren't enough bits, but what should you do when the stream goes over the application-defined max? I am very open to having the app do much of this stuff dynamically, since it means the static configuration controls can be simpler, but I'm not sure we can toss maxBitrate/maxQuality. On Wed, Feb 19, 2014 at 8:32 PM, Chris Wendt <chris-w3c@chriswendt.net>wrote: > > Maybe I’m reading more into this or maybe I’m making it more complex than > necessary, or maybe i’m stating the obvious, but I think this makes sense. > > My originally assumed premise was that you setup a stream with a set of > parameters and let the implementation map those parameters to video encoder > rate controls and it runs happily along independently doing adaptive > bitrate things within the context of the given parameters. > > Taking things to the next level, we can imagine having and likely > requiring application level control, particularly for SVC and simulcast or > in cases where you have multiple RTPSenders, where we need to control > across multiple potentially unrelated and independent media streams and > based on some metrics feedback that, for example, quality is suffering > given some bitrate constraints, so I should switch to half resolution, or > no longer send the 3rd enhancement layer or reduce the number of RTPSenders. > > So what would be the feedback mechanism here? Is this up to the > application developer to monitor metrics themselves if even possible or > practical? > > I would propose we think about providing callback hooks based on things > like min/max bitrate and min/max quality thresholds. And maybe > specifically define the basic set. > > Again, I think the current discussion around the simple set of parameters > satisfies the static config case, but when we talk about max or min type of > parameters, I think there needs to be some feedback to notify that > application when the min/max point is reached so it can act appropriately. > > Thoughts? > > > > On Feb 19, 2014, at 6:52 PM, Martin Thomson <martin.thomson@gmail.com> > wrote: > > > On 19 February 2014 15:44, Peter Thatcher <pthatcher@google.com> wrote: > >> I think we still need scale for simulcast and maxBitrate for cases > where you > >> want to constrain bandwidth even when it's available. And priority > vs. > >> resources seems pretty similar. > > > > > > I'd like to take simulcast out actually. I think that aside from some > > bindings necessary to get playback right, you can achieve simulcast > > transmission (what we are talking about here) by having multiple > > tracks with different resolution constraints. I don't think that > > means fewer options sadly. > > > > Maybe we can also discuss minimums. I don't think that it's > > worthwhile having minimum values initially, and maybe not ever, though > > I'm open to the idea. And I think that it's a universally applicable > > thing across all axes. I can see cases for minimums on all three: > > frame rate (sign language), resolution (1x1, my image recognition > > can't deal), and quality (my eyes, ow, my eyes). > > >
Received on Thursday, 20 February 2014 07:27:41 UTC