Re: [Wish] WHEP - WebRTC Http Egress Protocol

Cameron Elliott <cameron@cameronelliott.com> Mon, 01 August 2022 22:14 UTC

Return-Path: <garapa1@gmail.com>
X-Original-To: wish@ietfa.amsl.com
Delivered-To: wish@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4060DC13CCE3 for <wish@ietfa.amsl.com>; Mon, 1 Aug 2022 15:14:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.163
X-Spam-Level:
X-Spam-Status: No, score=-1.163 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.248, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AAu5t-D7XMHN for <wish@ietfa.amsl.com>; Mon, 1 Aug 2022 15:14:41 -0700 (PDT)
Received: from mail-yb1-f182.google.com (mail-yb1-f182.google.com [209.85.219.182]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C3C70C159490 for <Wish@ietf.org>; Mon, 1 Aug 2022 15:14:18 -0700 (PDT)
Received: by mail-yb1-f182.google.com with SMTP id e127so20373337yba.12 for <Wish@ietf.org>; Mon, 01 Aug 2022 15:14:18 -0700 (PDT)
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; bh=yKYykHh5tAj1Pi6MzbvV9EdGNRgMruQbWzUy5YBRzWI=; b=bXVZPZztof1624qpR1yrMTBB7n54LrAp0hrw30axhr57ZSCQitOjUlUhoBDIXD7M6J 4Glwn/4oDMqIBP2XmVeRFRDTcerZ5nIOnjRqGGzF38jf/5F/t0uZDTCL3zWTtuAcRvm7 MhE1IZGY3ZMxY4Hc5ChsfKM88m8MkC5qmyAq9hMOr9WB6KIgNu23lwFVM3jaRqogyEhc OfNH3+cZYeLJD1rbojPFF0ijTIK7URfgLGWByZqrIEkjeUYmJ7lO5iF8hJJJ2wbU7Wq9 gLyNrdOcnj3lyfa9SqMv85UsnwdXwsToKjDUYSGcTV2Sr0HqvCVAwBsCZ4+tjBqKFHb9 l4ag==
X-Gm-Message-State: ACgBeo265w2JonlB2XXcyor1oAtgR/xsJOyJfk1Y85wycHXWazNiTaoJ lpYpJL+bBafSkj0U++1B7mZTPIzZl5G47lfvJ1oUJi49
X-Google-Smtp-Source: AA6agR7kZU6NoBdMl/ATlwT8/GDgdlkl0yDpd8oo3qBovj4CSXsEsWBEhmjLRMX06lE6JtNIelgxfGyFUuxTzAGmpVc=
X-Received: by 2002:a25:ae8b:0:b0:677:ab9:caad with SMTP id b11-20020a25ae8b000000b006770ab9caadmr7102653ybj.156.1659392057415; Mon, 01 Aug 2022 15:14:17 -0700 (PDT)
MIME-Version: 1.0
References: <CA+ag07b+O6Yh3WDZgm1DjmLiCfeeY4r0NN3n3U=vNBTxJRMBdA@mail.gmail.com>
In-Reply-To: <CA+ag07b+O6Yh3WDZgm1DjmLiCfeeY4r0NN3n3U=vNBTxJRMBdA@mail.gmail.com>
From: Cameron Elliott <cameron@cameronelliott.com>
Date: Mon, 01 Aug 2022 15:14:05 -0700
Message-ID: <CAMyc9bWOp8MfLsM583Nh9aZc_Tf-ihMchZ7cfOHyK6NMnHjZKQ@mail.gmail.com>
To: WISH List <Wish@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000201d6305e5355238"
Archived-At: <https://mailarchive.ietf.org/arch/msg/wish/dv6k1QRH2b3cWDY0afX-6eTvCFw>
Subject: Re: [Wish] WHEP - WebRTC Http Egress Protocol
X-BeenThere: wish@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: WebRTC Ingest Signaling over HTTPS <wish.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/wish>, <mailto:wish-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/wish/>
List-Post: <mailto:wish@ietf.org>
List-Help: <mailto:wish-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/wish>, <mailto:wish-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 01 Aug 2022 22:14:42 -0000

TL;DR
Some will complain, but I predict the following if two models of where the
offer is created does get adopted:
1. Some (WHEP-like) endpoints will only accept an offer from the client.
(busy industry programmers)
2. Some (WHEP-like) endpoints will only handle generating an offer.  (busy
industry programmers)
3. Some (full-WHEP) endpoints will implement both client-offer and
endpoint-offer generation. (good life programmers)

I would encourage some assertiveness, and chop WHEP to either client-offers
or endpoint-offers.
(endpoint offers does have the advantage the endpoint can present
audio-only or video-only SDPs)


--- Full message ---


I want to provide some initial thoughts on the first WHEP draft.
I've been exploring HTTP POST for egress since early 2021.
I wrote a library called whip-whap-js
<https://github.com/x186k/whip-whap-js> which can be used for egress.
I am now using Sergio's Js WHIP library for egress (which it works fine
for).

The draft proposes both single-POST and double-POST models.
Said another way, supporting both client-offer and endpoint-offer egress.

One reason given in the draft is to support audio-only SDPs as controlled
by the endpoint.
One reason given in the slides is that some WebRTC stacks don't support
'createOffer()' calls.

In my explorations, I initially used double-POST for egress, (endpoint
offer).
Eventually, I switched to single-POST as it just seemed cleaner.


Thoughts:
- The concern about audio-only (or video-only?) service sounds really good.
But if this is true, can a client ever in practice generate an offer?
Does the end-user/controller/developer choosing/controlling a client need
to know a-priori that the WHEP endpoint
can offer audio-only or video-only, and thus *choose* or *configure* a WHEP
client to do an empty-payload first POST?
Needing end-users or dev-ops people to understand whether the endpoint
always does 2 tracks or just one track seems problematic.

- The double complexity of implementing both client-offers and
endpoint-offers is not huge or overwhelming, but
it seems to offer little concrete value vs choosing one or the other.
Testing, development, debugging interop will be harder.

- Some will grumble as I believe there are both client-offers and
endpoint-offers in use already, but the conceptual
simplicity and reduced testing would be fantastic if just one of the two
was chosen for the standard.

People in industry under time pressures are going to be very tempted, or
maybe forced to choose
one of client-offers vs. endpoint-offers, especially if they initially are
controlling the client also.
When this happens, there will three different kinds of WHEP (WHEP-like
anyway) servers:
1. Full spec, handling both client-offers and server-offers
2. Not to spec, handling just client-offers
3. Not to spec, handling just endpoint-offers

Thanks,
Cameron











On Mon, Aug 1, 2022 at 6:34 AM Sergio Garcia Murillo <
sergio.garcia.murillo@gmail.com> wrote:

> Hi all,
>
> As we didn't have enough time to discuss it during the last IETF meeting,
> I would like to introduce the WHEP draft again and ask for feedback and
> next steps.
>
> The draft is here:
>
> https://www.ietf.org/id/draft-murillo-whep-00.html
>
> The github repo for filling issues is here:
> https://github.com/murillo128/webrtc-http-egress-protocol
>
> And these are the corrected slides that I intended to present during the
> meeting.
>
> https://docs.google.com/presentation/d/1vOTbc-SfvQEtr62CuFlb1dqwaz6ag_zY6L-8kEKXIsY/edit?usp=sharing
>
> As I said during the meeting, the current draft is almost the same as WHIP
> but changing the direction attribute and taking into account some
> peculiarities about playback.
>
> So my feeling is that this draft would be best discussed here and would be
> better not create a new WG for this, but this would require a recharter of
> the WG, so not sure if it is possible.
>
> Do you have any feedback on the draft itself or what do you think is the
> best way forward to move it inside IETF?
>
> Best regards
> Sergio
>
>
> --
> Wish mailing list
> Wish@ietf.org
> https://www.ietf.org/mailman/listinfo/wish
>