Re: [AVTCORE] Response to W3C WebTransport WG Request from IETF 112

Bernard Aboba <bernard.aboba@gmail.com> Mon, 11 April 2022 20:08 UTC

Return-Path: <bernard.aboba@gmail.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 253683A0E1D for <avt@ietfa.amsl.com>; Mon, 11 Apr 2022 13:08:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.106
X-Spam-Level:
X-Spam-Status: No, score=-2.106 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 ZNQ9KX-YwGY6 for <avt@ietfa.amsl.com>; Mon, 11 Apr 2022 13:08:16 -0700 (PDT)
Received: from mail-vs1-xe30.google.com (mail-vs1-xe30.google.com [IPv6:2607:f8b0:4864:20::e30]) (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 3FD623A0E1C for <avt@ietf.org>; Mon, 11 Apr 2022 13:08:16 -0700 (PDT)
Received: by mail-vs1-xe30.google.com with SMTP id v9so11776484vss.10 for <avt@ietf.org>; Mon, 11 Apr 2022 13:08:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=iYExUxbVNP8PyjyIf0mHulv/WXjIhrY5ypCVzpicM3w=; b=hxb4gTzVL625oEl09HFlMVjmUAOImyqV0NkmGgpSlGKa0d85h3cHFTNVmDi9ODjjF4 d2Tca7UK+9Cf3XgoHqGvCuD4vkBLgvhQjhFBdA3MDYSRYY7ibhDhQYTSnvVO0FwNPUCJ P+PPt4TYpmzIn+em6v2UYEPHy/xH9zgrF/s6JBp+bc865XSlJxUphkVzqM+znfvcAQVD RKzOTNIkEzikSzBQ+ZquXZ0mcMy9iGdqoU3btD1wA/hU8AB0ydtJUy0AyLWy8rlDpVpF DU7vEFZK4gH/d74kEwmlP9n9m5X7Vi0DAemHDZnHutMJuw2JdO6cBYJeX7hG1N9aDtrw cGJA==
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=iYExUxbVNP8PyjyIf0mHulv/WXjIhrY5ypCVzpicM3w=; b=Q4o378+LukfXPKnF5Drs7B+OrJskJ5xwEzP7DV1pGbJivLSAfuSdtisyGLqqhHBOn8 8OwGv6o5nqsxB7tqsB+2NXGGkLOSK8HWYpkdoUfIRC9Jg2kMB7owKCbMrGCcZ9nLGpsA x9wNbL5RPNqgJ0o6PM5gGhugSaWKKQ5uWe2tPWYFnht6AU9VLhXx/O96yW2Ijnm8O8N0 ayRydS/nYM4ZqL9IUDOvkl7USPynFa3HeTgYMJxrpgQCxUjO4nKlG3Ru/iiJowGKySQy 4kW+6fC1s59u5ezjq7JgZSTXjd5hLoj8Yxi3/eHfj7RfHZi2QSZNeSJ+CCf5R4tdLcZi Iezw==
X-Gm-Message-State: AOAM531yvZPF130nVPlYBLTc3b6il9nHeDFyhcvzzwaC2c6Y+usiOwLg R0brB2BJwHFVHg1OsFN0P/82EDDN/dHoR3kU5ek=
X-Google-Smtp-Source: ABdhPJxEsmrBeR3FraSlBKD8vUxO3GRNRzpB+qK8tZIzKK9ku+Zes6rGLGMfhoVLeDuUdr7+J8oH/3bf4ODdc7JDjsE=
X-Received: by 2002:a05:6102:dc7:b0:325:9ab4:9721 with SMTP id e7-20020a0561020dc700b003259ab49721mr10012068vst.24.1649707694565; Mon, 11 Apr 2022 13:08:14 -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>
In-Reply-To: <CA+ag07bAqeSXYp7iYO1MJz+XLPxgJiPH0O89vNTNo0zq64Rvcg@mail.gmail.com>
From: Bernard Aboba <bernard.aboba@gmail.com>
Date: Mon, 11 Apr 2022 13:08:03 -0700
Message-ID: <CAOW+2duaFi+GoqLj8ua49UYriD4tYLBRm8ctp2k=1X8ki4EEdA@mail.gmail.com>
To: Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com>
Cc: Stephan Wenger <stewe@stewe.org>, IETF AVTCore WG <avt@ietf.org>, Colin Perkins <csp@csperkins.org>, Jonathan Lennox <jonathan.lennox@8x8.com>, =?UTF-8?B?SsO2cmcgT3R0?= <ott@in.tum.de>
Content-Type: multipart/alternative; boundary="0000000000001e330905dc668110"
Archived-At: <https://mailarchive.ietf.org/arch/msg/avt/7HRTQ0S6mGChYffXFxGddh_8_mk>
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: Mon, 11 Apr 2022 20:08:21 -0000

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%E2%91%A0

Some stream stats are in the works (see:
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.


 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> wrote:

>
>
> El lun, 11 abr 2022 18:19, Stephan Wenger <stewe@stewe.org> escribió:
>
>> Inline in blue.
>>
>> S.
>>
>>
>>
>>
>>
>> On 4/11/22, 08:24, "avt on behalf of Jonathan Lennox" <
>> avt-bounces@ietf.org on behalf of jonathan.lennox@8x8.com> wrote:
>>
>>
>>
>>
>>
>>
>>
>>     > On Apr 11, 2022, at 1:34 AM, Spencer Dawkins at IETF <
>> 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.
>>
>
> 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
> https://www.ietf.org/mailman/listinfo/avt
>