Re: [AVTCORE] Response to W3C WebTransport WG Request from IETF 112
Stefan Holmer <holmer@google.com> Wed, 13 April 2022 07:12 UTC
Return-Path: <holmer@google.com>
X-Original-To: avt@ietfa.amsl.com
Delivered-To: avt@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1])
by ietfa.amsl.com (Postfix) with ESMTP id C81AF3A1FFE
for <avt@ietfa.amsl.com>; Wed, 13 Apr 2022 00:12:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.609
X-Spam-Level:
X-Spam-Status: No, score=-17.609 tagged_above=-999 required=5
tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1,
DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001,
SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001,
USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5]
autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key)
header.d=google.com
Received: from mail.ietf.org ([4.31.198.44])
by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id 8hc06Kq61Je6 for <avt@ietfa.amsl.com>;
Wed, 13 Apr 2022 00:12:10 -0700 (PDT)
Received: from mail-io1-xd34.google.com (mail-io1-xd34.google.com
[IPv6:2607:f8b0:4864:20::d34])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by ietfa.amsl.com (Postfix) with ESMTPS id 90CB43A2000
for <avt@ietf.org>; Wed, 13 Apr 2022 00:12:10 -0700 (PDT)
Received: by mail-io1-xd34.google.com with SMTP id e22so874624ioe.11
for <avt@ietf.org>; Wed, 13 Apr 2022 00:12:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc; bh=Nxm/p2dQejl362092ohFjyvXgx8GLs/Hxofz3ZAju1g=;
b=CtMIzeRck1Y/GrpNd2v1ImIJpguWYF3hWdc1bsMmgvr6x/XJZGIO46GWbVs7toELzV
x3q/wHHZwvwae+/oUsYxYfhismh/gx/66FJADQekNFm0xrA+11VjPOKoZEzXgf8+Zk07
moLujA3WNL2ZgVNtqJsP/G9m5vmFsKGsiXzXm5JJ4J2GPEV5XlUKDejsf78eum47MRkT
X6OtG6uIoFOaZchVGsK+wio8HzLMxGsx0PJkdvB8Aeq7HVwjuHMtgiwRdsnyDs90qWy8
c+nEGNYxaEOrN5+p1QxODDOWxB3cOP4XDgQ3BEgiBtK1wMH6pZqNf0++FrCP9554qiGF
RO8Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc;
bh=Nxm/p2dQejl362092ohFjyvXgx8GLs/Hxofz3ZAju1g=;
b=8Ac+e0WmXqQa+y0KRQ/RYlzsuM4fEPKX7l0ADeRSnsDhnRM47T2faHbY8SBntneLU0
cF71OltcoRZLRwm0ju0ELlBpTOGtX4AQk3HyY3jilM4Di5D5QGGecrSABt1ayYQFDeou
LqBV2HrlVNEtRjy2xfLxfXG3AsSC5yE7MQtKTiKof5FB1NmELcoDmv0/H1IGA+pePEFP
54/IN4fAPK71m5kyuOpF260whrSm2mnd6G1DvrkdC535MKXQCIDoyL3GvamgSd2QJc3Q
3X8CMlCIkSWnrqKo+WCATFQhTdcHvYLh2FG4SK9AozID3ZlxZ14Qb/cEiDqSOMLWDM7S
hKOA==
X-Gm-Message-State: AOAM533XHztlEuPE1zKguwH853FKA68u0Pd3EgmgrAL1ZBHzkb4zSNta
jT9Fljq0jybxcwkAkH9mrHS6eNAGxlrMHU+2YZdwJA==
X-Google-Smtp-Source: ABdhPJyqDoT06Ya5a6LHH9tZKvkMRSkz1GeFXryvOUHDe0y1yCynPWrkedscYTkRFtd9d69TMXam7GbTqL2iPpmYbC8=
X-Received: by 2002:a02:ccbb:0:b0:326:2c92:ad6b with SMTP id
t27-20020a02ccbb000000b003262c92ad6bmr7879283jap.23.1649833929257; Wed, 13
Apr 2022 00:12:09 -0700 (PDT)
MIME-Version: 1.0
References: <CAOW+2dvCh637LfwX23xNuQo8q=GGiDkWSoypYL0XWGV_ERmuDg@mail.gmail.com>
<6AC334A4-C1C5-426C-8151-B7F12659C47B@csperkins.org>
<CAKKJt-ckZfBecbEtOQpRCok21RZJPQ7wT-uhPz4ozFWSNYi-6g@mail.gmail.com>
<4F54EF05-D39E-4E5D-931B-D0F165593492@8x8.com>
<94580C1B-1427-4FE3-AD63-00F4DF8369F7@stewe.org>
<CA+ag07bAqeSXYp7iYO1MJz+XLPxgJiPH0O89vNTNo0zq64Rvcg@mail.gmail.com>
<CAOW+2duaFi+GoqLj8ua49UYriD4tYLBRm8ctp2k=1X8ki4EEdA@mail.gmail.com>
<CAEdus3+NMuqTkW1oW6hfBAkT=iqYFOsWasWJXa4s=bETJQLuiw@mail.gmail.com>
<9565252a-16a3-55ea-0ff1-c9e64b61afa9@in.tum.de>
<42D47490-5055-4BF9-B7C9-BB348812FDDA@stewe.org>
In-Reply-To: <42D47490-5055-4BF9-B7C9-BB348812FDDA@stewe.org>
From: Stefan Holmer <holmer@google.com>
Date: Wed, 13 Apr 2022 09:11:56 +0200
Message-ID: <CAEdus3KVCNuZiP0PgLXDRScY-_-_OwSrgAM3TsGZVm2r13AGSQ@mail.gmail.com>
To: Stephan Wenger <stewe@stewe.org>
Cc: Joerg Ott <ott@in.tum.de>, Bernard Aboba <bernard.aboba@gmail.com>,
Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com>,
Jonathan Lennox <jonathan.lennox@8x8.com>,
IETF AVTCore WG <avt@ietf.org>, Colin Perkins <csp@csperkins.org>
Content-Type: multipart/alternative; boundary="0000000000004b13a005dc83e581"
Archived-At: <https://mailarchive.ietf.org/arch/msg/avt/i76KqZ-VtJ-oxpUfRrTtCX4OYqQ>
Subject: Re: [AVTCORE] Response to W3C WebTransport WG Request from IETF 112
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Audio/Video Transport Core Maintenance <avt.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avt>,
<mailto:avt-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/avt/>
List-Post: <mailto:avt@ietf.org>
List-Help: <mailto:avt-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avt>,
<mailto:avt-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Apr 2022 07:12:16 -0000
On Tue, Apr 12, 2022 at 7:17 PM Stephan Wenger <stewe@stewe.org> wrote: > correct. S. > > Sent from my iPhone > > > On Apr 12, 2022, at 09:11, Joerg Ott <ott@in.tum.de> wrote: > > > > Agreed. But you will want to be to collect congestion control cues from > > the underlying transport, so you don't have to measure yourself (again). > Yes, I agree that's the preferred way. > > > > And if I understood Stephan correctly, he was not arguing that the the > > lower layer should have the information about which application would be > > run but rather to provide sufficient richness in the API that all kinds > > of applications on top. > That was my understanding too, and I agree with it. :) > > > > Jörg > > > >> On 12.04.22 14:06, Stefan Holmer wrote: > >> I agree with Sergio here, I think for WebTransport to be really useful > for RTC there's a need to have app level control of congestion control. > Based on experience from libwebrtc, the congestion control is constantly > being improved, and I think it's far from a solved problem. To allow for > RTC apps on WebTransport to be competitive I think they'd benefit a lot > from being able to innovate on the congestion control side. > >> On Mon, Apr 11, 2022 at 10:08 PM Bernard Aboba <bernard.aboba@gmail.com > <mailto:bernard.aboba@gmail.com>> wrote: > >> Sergio said: > >> "I don't think that the webtransport api and the browser stack > >> should have this information, it is completely up to the application > >> to control what is the behaviour based on the current bw estimation. > >> Moreover, I doubt that the webtransport stack could provide a valid > >> bw estimation usable by the app at all. > >> IMHO the bwe needs to be calculated at the js app level and just > >> needs the quic cc not mess too much and if possible provide the > >> reception time stats for the sent packets" > >> [BA] It is left to the Javascript application to decide the > >> transport mode, audio/video multiplexing approach, loss recovery > >> strategy and mechanism for controlling the encoder rate. The > >> WebTransport API doesn't know and doesn't care whether the > >> transported media is G711, G722, Opus, VP8/VP9, H.264, AV1, etc. > >> Currently there is no priority support, so it's up to the > >> application how to apportion the bandwidth between audio and video > >> streams. > >> The current WebTransport stats are very bare bones: > >> https://w3c.github.io/webtransport/#web-transport-stats > >> <https://w3c.github.io/webtransport/#web-transport-stats> > >> https://w3c.github.io/webtransport/#web-transport-stats%E2%91%A0 > >> <https://w3c.github.io/webtransport/#web-transport-stats%E2%91%A0> > >> Some stream stats are in the works (see: > >> https://github.com/w3c/webtransport/pull/395 > >> <https://github.com/w3c/webtransport/pull/395>) but they also aren't > >> elaborate (at least compared with WebRTC-stats). > >> You'll notice there is no bandwidth estimate, nor is any info > >> provided on acknowledgements or reception times. Since a Javascript > >> application using the WebTransport API is not integrated with the > >> QUIC stack, info on ACKs was not considered relevant since the > >> application could not be presumed to have received a datagram just > >> because it was ACK'd at the QUIC layer; the datagram could have been > >> subsequently dropped in the browser datagram reception queue after > >> being ACK'd. Similarly, in the browser, the reception time doesn't > >> reflect the total one-way delay because there are additional delays > >> and queues both on the sender and receiver side. > >> You could imagine a WebTransport that had a circuit-breaker style CC > and either exposed feedback only about the send and arrival time of each > packet to the application, without any guarantees of whether the > application on the other end actually got hold of the packet in the end. > With a circuit-breaker style CC you could also leave it to the app to > handle that feedback/signaling entirely in the app-layer, at the cost of > additional overhead. > >> However, the receiver can calculate the goodput on streams and > >> datagram flows and provide this info to the sender to help with > >> encoder rate adaptation. > >> On Mon, Apr 11, 2022 at 12:10 PM Sergio Garcia Murillo > >> <sergio.garcia.murillo@gmail.com > >> <mailto:sergio.garcia.murillo@gmail.com>> wrote: > >> El lun, 11 abr 2022 18:19, Stephan Wenger <stewe@stewe.org > >> <mailto:stewe@stewe.org>> escribió: > >> Inline in blue.____ > >> S.____ > >> __ __ > >> __ __ > >> On 4/11/22, 08:24, "avt on behalf of Jonathan Lennox" > >> <avt-bounces@ietf.org <mailto:avt-bounces@ietf.org> on > >> behalf of jonathan.lennox@8x8.com > >> <mailto:jonathan.lennox@8x8.com>> wrote:____ > >> __ __ > >> __ __ > >> __ __ > >> > On Apr 11, 2022, at 1:34 AM, Spencer Dawkins at IETF > >> <spencerdawkins.ietf@gmail.com > >> <mailto:spencerdawkins.ietf@gmail.com>> wrote:____ > >> > ____ > >> > But even if we don't need to choose between > >> media-oriented congestion controllers, we would need a QUIC > >> extension to allow us to say "we're doing media, so don't > >> use the congestion controllers you might use for non-media > >> traffic". ____ > >> > ____ > >> > I suspect the QUIC working group would be a fine > >> place to work on that extension (and if we did it anywhere > >> else, QUIC would either ask, or be asked, to review that > >> work anyway). ____ > >> __ __ > >> It’s not clear to me that you need a *protocol* > >> extension to signal this? Monolithically, a sender knows > >> that it’s sending media, and can choose its congestion > >> control algorithm appropriately.____ > >> __ __ > >> You definitely would need *API* signaling to indicate > >> from the application to the QUIC stack that media is being > >> sent, and thus an appropriate low-latency congestion > >> controller should be chosen. This is absolutely relevant to > >> the W3C API, and thus should probably be communicated in the > >> liaison statement response.____ > >> __ __ > >> Right. And ideally, that API signaling would be powerful > >> enough to differentiate between different media and their > >> requirements. For example:____ > >> -G711 audio has zero elasticity; if CC were to kick in, the > >> realistic choices are to ignore the CC, or terminate the > >> session. No middle ground. ____ > >> -Multi-resolution pre-coded video (think DASH) has some > >> flexibility, but bitrate adjustment can take many hundred > >> milliseconds to seconds.____ > >> -a software-based real-time video encoder can be built to > >> have a lot of flexibility, on very short notice—but, the > >> application/user may not like the encoder to exercise that > >> flexibility. For example, broadcast contribution > >> applications and their encoders would not want to start > >> skipping frames, go down with the resolution, or too far up > >> with the QP, even if that would make the CC happy. Video > >> conferencing, OTOH, could cope with all of that, up to a > >> certain pain-point. > >> These are good examples of why CC for media (and RTC in particular) is > complicated, and probably one of the reasons why (AFAIK) no RTC CC > implementations that use off-the-shelf algorithms or interfaces. > >> You may want to (try to) be smart about how you evaluate whether the > bandwidth of the connection allows you to turn on a higher resolution video > stream, to avoid having to waste bits on padding data. You may not want to > saturate the connection at all times to make sure the CC operates > correctly. In fact, you may want to make sure to only probe for higher > bandwidth when you feel like it's "safe" to do so from a media quality > view. This would likely require some closer interaction with the CC. > >> I don't think that the webtransport api and the browser stack > >> should have this information, it is completely up to the > >> application to control what is the behaviour based on the > >> current bw estimation. > >> Moreover, I doubt that the webtransport stack could provide a > >> valid bw estimation usable by the app at all. > >> IMHO the bwe needs to be calculated at the js app level and just > >> needs the quic cc not mess too much and if possible provide the > >> reception time stats for the sent packets. > >> Best regards > >> Sergio > >> _______________________________________________ > >> Audio/Video Transport Core Maintenance > >> avt@ietf.org <mailto:avt@ietf.org> > >> https://www.ietf.org/mailman/listinfo/avt > >> <https://www.ietf.org/mailman/listinfo/avt> > >> _______________________________________________ > >> Audio/Video Transport Core Maintenance > >> avt@ietf.org <mailto:avt@ietf.org> > >> https://www.ietf.org/mailman/listinfo/avt > >> <https://www.ietf.org/mailman/listinfo/avt> >
- [AVTCORE] Response to W3C WebTransport WG Request… Bernard Aboba
- Re: [AVTCORE] Response to W3C WebTransport WG Req… Colin Perkins
- Re: [AVTCORE] Response to W3C WebTransport WG Req… Spencer Dawkins at IETF
- Re: [AVTCORE] Response to W3C WebTransport WG Req… Colin Perkins
- Re: [AVTCORE] Response to W3C WebTransport WG Req… Sergio Garcia Murillo
- Re: [AVTCORE] Response to W3C WebTransport WG Req… Jonathan Lennox
- Re: [AVTCORE] Response to W3C WebTransport WG Req… Stephan Wenger
- Re: [AVTCORE] Response to W3C WebTransport WG Req… David Baldassin
- Re: [AVTCORE] Response to W3C WebTransport WG Req… Sergio Garcia Murillo
- Re: [AVTCORE] Response to W3C WebTransport WG Req… Bernard Aboba
- Re: [AVTCORE] Response to W3C WebTransport WG Req… Stefan Holmer
- Re: [AVTCORE] Response to W3C WebTransport WG Req… Joerg Ott
- Re: [AVTCORE] Response to W3C WebTransport WG Req… Stephan Wenger
- Re: [AVTCORE] Response to W3C WebTransport WG Req… Stefan Holmer