For the WEBRTC/MEDIA WG joint meeting at TPAC, Eugene has put together some slides and a demo of QP-based rate control: https://docs.google.com/presentation/d/1FpCAlxvRuC0e52JrthMkx-ILklB5eHszbk8D3FIuSZ0/edit#slide=id.g2397bc70323_0_17
As noted in the graph, "actual" rate remains close to the "desired" rate (e.g. the target rate that might be provided in a Bandwidth Estimate) both for ramp-up and ramp-down, which should translate to better video quality. For example, see: https://snr.stanford.edu/salsify/ On Wednesday, July 26, 2023 at 8:45:38 AM UTC-7 Alex Russell wrote: > +1; thank you, Eugene. > > On Monday, July 24, 2023 at 11:24:29 AM UTC-7 Mike Taylor wrote: > >> Thanks Eugene for the additional explainer text - and thanks to Alex for >> encouraging more work here. >> > On 7/20/23 10:04 AM, Chris Harrelson wrote: >> > LGTM3. Thank you! >> >> On Thu, Jul 20, 2023, 5:46 AM Daniel Bratell <[email protected]> wrote: >> >> LGTM2 >>> >>> /Daniel >>> On 2023-07-20 05:53, Yoav Weiss wrote: >>> >> LGTM1 >>> >>> Thanks for the explainer!! >>> >>> On Thu, Jul 20, 2023 at 1:18 AM Eugene Zemtsov <[email protected]> >>> wrote: >>> >>> Thanks for the feedback. >>>> I put together an explainer and linked it on the ChromeStatus feature >>>> page: >>>> >>>> https://gist.github.com/Djuffin/3722232679b977058be787be0dff4254 >>>> >>>> On Wed, Jul 19, 2023 at 8:57 AM Alex Russell <[email protected]> >>>> wrote: >>>> >>> I *think* I grok what this is for, and I'm still pretty frustrated that >>>>> there isn't a crisp summary along the lines of "this parameter helps >>>>> sites >>>>> implement custom bitrate vs. quality vs. CPU use tradeoffs for different >>>>> kinds of media and streams, which are important to customers like X, Y, >>>>> and >>>>> Z". >>>>> >>>>> Eugene, Philipp: it's important that the Blink process show that we >>>>> are shipping important features that solve real problems, particularly >>>>> when >>>>> we're in the position of shipping first. We *want* to trust the >>>>> WebRTC/media community to work with us to launch API changes quickly, and >>>>> demonstrating need is part of that. Can you respond with an overview >>>>> (perhaps in the form of an Explainer), and/or perhaps have potential >>>>> users >>>>> of this API chime in? >>>>> >>>>> Best, >>>>> >>>>> Alex >>>>> >>>>> On Wednesday, July 19, 2023 at 8:14:16 AM UTC-7 Yoav Weiss wrote: >>>>> >>>> On Wed, Jul 19, 2023 at 2:51 PM Philipp Hancke < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Am Mi., 19. Juli 2023 um 14:25 Uhr schrieb Yoav Weiss < >>>>>>> [email protected]>: >>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Thu, Jul 13, 2023 at 10:53 PM 'Eugene Zemtsov' via blink-dev < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> Any new feedback or resolution on this one? >>>>>>>>> >>>>>>>>> On Fri, Jul 7, 2023 at 5:53 AM Sangwhan Moon <[email protected]> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> (resending from correct email) >>>>>>>>>> >>>>>>>>>> On 2023年07月07日 00時32分12秒 (+09:00), Mike Taylor wrote: >>>>>>>>>> >>>>>>>>>> On 7/5/23 8:57 PM, 'Eugene Zemtsov' via blink-dev wrote: >>>>>>>>>> >>>>>>>>>> Intent to Implement and Ship: Per-frame quantizer in VideoEncoder >>>>>>>>>> >>>>>>>>>> Contact emails >>>>>>>>>> >>>>>>>>>> [email protected] >>>>>>>>>> >>>>>>>>>> Explainer >>>>>>>>>> >>>>>>>>>> None >>>>>>>>>> >>>>>>>>>> >>>>>>>> I think an explainer can be significantly helpful in helping us >>>>>>>> understand how developers will be using this feature and what use >>>>>>>> cases >>>>>>>> it'd cover. >>>>>>>> Could you write one or add an inline explanation outlining that? >>>>>>>> >>>>>>> >>>>>>> Explaining that is tough without going into the details "what is >>>>>>> quantization for video codecs. See >>>>>>> https://www.vcodex.com/h264avc-4x4-transform-and-quantization/ >>>>>>> for a very detailed explanation for H264. >>>>>>> >>>>>>> the tl;dr is that folks who encode video like tuning all kinds of >>>>>>> knobs to get the "best" result and qp is one of those. >>>>>>> >>>>>> >>>>>> An explainer doesn't have to assume folks reading it don't know what >>>>>> quantization means :) >>>>>> >>>>>> Basically, clicking through the specs, it's still not clear to me if >>>>>> the quantization values are provided as a single int that quantization >>>>>> tables are supposed to be divided by. a "quality" int that represents a >>>>>> certain quantization table, or something else entirely. Clarity on that >>>>>> would be great. >>>>>> >>>>> >>>>>>>>>> Specification >>>>>>>>>> >>>>>>>>>> https://www.w3.org/TR/webcodecs/#video-encoder-bitrate-mode >>>>>>>>>> >>>>>>>>>> Summary >>>>>>>>>> >>>>>>>>>> Adds "quantizer" VideoEncoderBitrateMode for VideoEncoder. This >>>>>>>>>> allows to specify a quantizer parameter for each frame for AV1, VP9, >>>>>>>>>> and >>>>>>>>>> AVC video codecs. The quantizer parameter is set via codec specific >>>>>>>>>> extensions for VideoEncoderEncodeOptions. >>>>>>>>>> >>>>>>>>>> Assuming I know very little about video codecs, what use cases >>>>>>>>>> does this enable for developers? >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Blink component >>>>>>>>>> >>>>>>>>>> Blink>Media>WebCodecs >>>>>>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EMedia%3EWebCodecs> >>>>>>>>>> >>>>>>>>>> TAG review >>>>>>>>>> >>>>>>>>>> None. >>>>>>>>>> >>>>>>>>>> Previously WebCodecs API had TAG review as a whole: >>>>>>>>>> >>>>>>>>>> https://github.com/w3ctag/design-reviews/issues/612 >>>>>>>>>> >>>>>>>>>> This is a new addition since that review, but it's a trivial >>>>>>>>>> addition (IMHO) so a new review request isn't needed. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> I agree, I don't see anything particularly contentious in the >>>>>>>>>> proposal that would warrant a full review. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> TAG review status >>>>>>>>>> >>>>>>>>>> Not applicable >>>>>>>>>> >>>>>>>>>> Risks >>>>>>>>>> >>>>>>>>>> Interoperability and Compatibility >>>>>>>>>> >>>>>>>>>> Gecko: Neutral ( >>>>>>>>>> https://github.com/mozilla/standards-positions/issues/837#issuecomment-1614666364) >>>>>>>>>> >>>>>>>>>> Paul Adenot (Mozilla) expressed that minor changes to WebCodecs spec >>>>>>>>>> don't >>>>>>>>>> need to go through the full "Request for Mozilla Position" process >>>>>>>>>> assuming >>>>>>>>>> they were approved by the Media Working Group. >>>>>>>>>> >>>>>>>>>> WebKit: Positive ( >>>>>>>>>> https://www.w3.org/2023/03/07-mediawg-minutes.html#t02) The >>>>>>>>>> issue was discussed on 07 March 2023 by w3c Media working group. Jer >>>>>>>>>> Noble >>>>>>>>>> (Apple) was actively participating and provided input for spec >>>>>>>>>> details. >>>>>>>>>> >>>>>>>>>> Can we request a formal position from WebKit, at least to let >>>>>>>>>> them know we're intending to ship? >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Web developers: Positive ( >>>>>>>>>> https://github.com/w3c/webcodecs/issues/56) People ask for this >>>>>>>>>> on GitHub >>>>>>>>>> >>>>>>>>>> Other signals: >>>>>>>>>> >>>>>>>>>> WebView application risks >>>>>>>>>> >>>>>>>>>> Does this intent deprecate or change behavior of existing APIs, >>>>>>>>>> such that it has potentially high risk for Android WebView-based >>>>>>>>>> applications? >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Will this feature be supported on all six Blink platforms >>>>>>>>>> (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)? >>>>>>>>>> >>>>>>>>>> Yes >>>>>>>>>> >>>>>>>>>> Is this feature fully tested by web-platform-tests >>>>>>>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> >>>>>>>>>> ? >>>>>>>>>> >>>>>>>>>> Yes >>>>>>>>>> >>>>>>>>>> Tracking bug >>>>>>>>>> >>>>>>>>>> https://bugs.chromium.org/p/chromium/issues/detail?id=1424154 >>>>>>>>>> >>>>>>>>>> Estimated milestones >>>>>>>>>> >>>>>>>>>> Shipping on desktop >>>>>>>>>> >>>>>>>>>> 117 >>>>>>>>>> >>>>>>>>>> Shipping on Android >>>>>>>>>> >>>>>>>>>> 117 >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Link to entry on the Chrome Platform Status >>>>>>>>>> >>>>>>>>>> https://chromestatus.com/feature/5783986600673280 >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Thanks, >>>>>>>>>> Eugene Zemtsov. >>>>>>>>>> -- >>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>> Google Groups "blink-dev" group. >>>>>>>>>> >>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>>> send an email to [email protected]. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> To view this discussion on the web visit >>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAK8JDrF0PKfpVbaYWX-hR0wJ%2Bb9H4YtwFBUc6Y6JGSmFT7pVgQ%40mail.gmail.com >>>>>>>>>> >>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAK8JDrF0PKfpVbaYWX-hR0wJ%2Bb9H4YtwFBUc6Y6JGSmFT7pVgQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>>>>> . >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>> Google Groups "blink-dev" group. >>>>>>>>>> >>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>>> send an email to [email protected]. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> To view this discussion on the web visit >>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/0a1d0f96-c5f0-fdf8-44b0-b49c3f180839%40chromium.org >>>>>>>>>> >>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/0a1d0f96-c5f0-fdf8-44b0-b49c3f180839%40chromium.org?utm_medium=email&utm_source=footer> >>>>>>>>>> . >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Thanks, >>>>>>>>> Eugene Zemtsov. >>>>>>>>> -- >>>>>>>>> You received this message because you are subscribed to the Google >>>>>>>>> Groups "blink-dev" group. >>>>>>>>> >>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>> send an email to [email protected]. >>>>>>>> >>>>>>>> >>>>>>>>> To view this discussion on the web visit >>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAK8JDrFxVaQnqU4dGQesuw%2B_AaBV763a0-t%3Dp0273LPNbyespQ%40mail.gmail.com >>>>>>>>> >>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAK8JDrFxVaQnqU4dGQesuw%2B_AaBV763a0-t%3Dp0273LPNbyespQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>>>> . >>>>>>>>> >>>>>>>> -- >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups "blink-dev" group. >>>>>>>> >>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>> send an email to [email protected]. >>>>>>> >>>>>>> >>>>>>>> To view this discussion on the web visit >>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfUBdFesjccKhgcoQ5Zs%2BJBEqMtNjFthN2UpVsUF_hEC4w%40mail.gmail.com >>>>>>>> >>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfUBdFesjccKhgcoQ5Zs%2BJBEqMtNjFthN2UpVsUF_hEC4w%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>>> . >>>>>>>> >>>>>>> >>>> >>>> -- >>>> Thanks, >>>> Eugene Zemtsov. >>>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "blink-dev" group. >>> >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> >>> >>> To view this discussion on the web visit >>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfWmDomb-KRB2kXns%3DxTkdMdYE4WH8twPKXTVVCywNNtog%40mail.gmail.com >>> >>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfWmDomb-KRB2kXns%3DxTkdMdYE4WH8twPKXTVVCywNNtog%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "blink-dev" group. >>> >> To unsubscribe from this group and stop receiving emails from it, send an >>> email to [email protected]. >> >> >>> To view this discussion on the web visit >>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/9e95972f-14de-2195-7723-d6c16a0a1f89%40gmail.com >>> >>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/9e95972f-14de-2195-7723-d6c16a0a1f89%40gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/5f231ff0-0c77-425e-a00a-07401da7785cn%40chromium.org.
