Re: [rtcweb] JSEP question: How to set up simulcast for server-originated calls?

Iñaki Baz Castillo <ibc@aliax.net> Mon, 05 November 2018 21:37 UTC

Return-Path: <ibc@aliax.net>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6279D1252B7 for <rtcweb@ietfa.amsl.com>; Mon, 5 Nov 2018 13:37:53 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=aliax-net.20150623.gappssmtp.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 kbz1WB5BTIZW for <rtcweb@ietfa.amsl.com>; Mon, 5 Nov 2018 13:37:51 -0800 (PST)
Received: from mail-vk1-xa44.google.com (mail-vk1-xa44.google.com [IPv6:2607:f8b0:4864:20::a44]) (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 ECFCE124D68 for <rtcweb@ietf.org>; Mon, 5 Nov 2018 13:37:50 -0800 (PST)
Received: by mail-vk1-xa44.google.com with SMTP id 197so2391921vkf.4 for <rtcweb@ietf.org>; Mon, 05 Nov 2018 13:37:50 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aliax-net.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=eS6Q938m2JdwBzaJWlW9rHhz0m7nSqyVrZ5aF6nEH9Y=; b=y+C1tu4qRtdOQNoT5QNDgwtc3dd9RtqZHT65PkIClWIt44BQDBCMCT+zB1wY1e+Nhy ZclxAeexE8bWWuXq8FJIZEAK2JpnfOrk93Hy320O8oXeFO50UpHp/OJ1NMn8jQAXxGcf n1X24lIIAqGi42udTAQTExrNdY5huxkmJAEOmql369f9yfjy/laYh2ClsTONnvliZGYe wjgmqVWF6Zukxte+s+xXrxav5ogjDdPQ9FL3hdenEkNAxRfbxSgVZUnrsl9mT/Q3GD+V eQ7tsT9EOo2RMaqpeejv1TlIHOXepQhn34DnQJ3nVEvRVAtO5qZJofNZRhpGC2e89oja eXqg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=eS6Q938m2JdwBzaJWlW9rHhz0m7nSqyVrZ5aF6nEH9Y=; b=gB4tYmgGvZZgG3F6v33CHHysxcvsX6cJ6lsyqr2v102cwhaa5NLZ1/tNhHXQwfJMJg 9MoKxMyhShSOSmVbEa/XSIu6eRULFszGDdXrOhp5KEn/5/bVZKh3qkiwgPkvEfCCxTGp miUf2br3oUHcn3CiJVBI8hBNGJcSDAIo5+Z0L1FqCUQxy3nO+IRqcZbbn8awEJOq5mkA T0gnRus41tl6U5Ciryfi293Wfj1Ol7MmfTj3B6TW44SlPieb5qQ8rcl2vTRXPoVBrwkf lz/eDNJesprl6xBaf0N2JFYSN5Akhmz35B2onbx9pqJQISyLyq205J6P53HMqLbwkeUt 7ouw==
X-Gm-Message-State: AGRZ1gJ8LisbndSJlIi8fEjdR2JcrqxolYj2GMfAgQqkRM9BLUWWew02 DEYqJb7csxS/E5tZ22t94vYENXoF17uGmCYgjeebNA==
X-Google-Smtp-Source: AJdET5fQluYUjKENvKD92SytSu0toZ6Qhgmv3T1HJg2Ui6n9wGRt/OSTkztqfL76+axH4ZaS0gv8uhc6Gt94/J45GgA=
X-Received: by 2002:a1f:ed86:: with SMTP id l128mr10285857vkh.21.1541453869979; Mon, 05 Nov 2018 13:37:49 -0800 (PST)
MIME-Version: 1.0
References: <185c8d1d-3971-ad09-eee0-a26bed446a96@alvestrand.no> <CALiegfmbghnBtDt=wfCAbOWi5SDFTi2qPgDOuXHRazKSvvCKNQ@mail.gmail.com> <CA+ag07YD3oSuL=R=h-28waha4b7xf7haU+-oWuNbzO_sBY4MQw@mail.gmail.com> <e567832e-1918-d51c-6f00-a732547c0a8e@alvestrand.no> <CA+ag07byo1vReeo2uMKxmF1tnzW+4CJSMPLaJO79H0s9j0PO0g@mail.gmail.com> <31fb92c1-2934-c33f-a3cf-552f027eacda@alvestrand.no> <bb7f863b-510c-f460-c9b0-843d500784b8@gmail.com> <5db76ada-b896-7eba-b42e-85b2e239dc42@alvestrand.no> <db90e287-145b-5ffe-18c0-f38faed76c07@gmail.com> <CALiegf=7yJJEbGT9SrbcEBBo9cnBbPimDP_oaTzJL63hrnXGoQ@mail.gmail.com> <CA+ag07ZuGYBhr=djPP=nLXLX96Yp2O4H8rJT2z8RVvNTiky2qw@mail.gmail.com> <CALiegfmOsLgeO-jkj20qKa0=w-xwHJdKD12Py_Dvades8Jjnrw@mail.gmail.com> <fe3e1b27-ba9f-4403-6835-8e7faebb4362@gmail.com> <CALiegf=o6z-HpU+Dr=KbJJss6pYenEnKo620gEyvkJ6PubvWRA@mail.gmail.com> <e2ba2ad8-a3eb-fa99-3a77-2ea7131237a8@alvestrand.no>
In-Reply-To: <e2ba2ad8-a3eb-fa99-3a77-2ea7131237a8@alvestrand.no>
From: Iñaki Baz Castillo <ibc@aliax.net>
Date: Mon, 05 Nov 2018 22:37:37 +0100
Message-ID: <CALiegf=1gvE04pWL_aKiw9q=N7iF2Max17Hb+vhkd9On4dp7Kg@mail.gmail.com>
To: Harald Alvestrand <harald@alvestrand.no>
Cc: Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com>, rtcweb@ietf.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtcweb/iFx_QTQ6iiyN4pVbBuR7YEizqjk>
Subject: Re: [rtcweb] JSEP question: How to set up simulcast for server-originated calls?
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rtcweb/>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 05 Nov 2018 21:37:53 -0000

> I think the text would have to say that we discard encodings from either
the beginning or the end of the list (I'd suggest the end).
Sorting is going to make some of the people unhappy, some of the time.

If in my example above the browser discards encodings at the
beginning, those would remain:

- 400kbps
- 750kbps
- 1000kbps

which are not good for common simulcast usage.

If in my example above the browser discards encodings at the end,
those would remain:

- 150kbps
- 120kbps
- 400kbps

which are not good for common simulcast usage.

:)


On Mon, 5 Nov 2018 at 22:33, Harald Alvestrand <harald@alvestrand.no> wrote:
>
> On 11/05/2018 03:33 PM, Iñaki Baz Castillo wrote:
> > On Mon, 5 Nov 2018 at 15:21, Sergio Garcia Murillo
> > <sergio.garcia.murillo@gmail.com> wrote:
> >> By the way, according to the simulcast draft that should not be a problem at all:
> >>
> >>    An answerer that receives an offer with simulcast that lists a number
> >>    of simulcast streams, MAY reduce the number of simulcast streams in
> >>    the answer, but MUST NOT add simulcast streams.
> > Not sure if that also covers "recv" simulcast items in the offer.
> > Probably yes, so ok.
> >
> > However still useless IMHO. Imagine an SFU that wants to receive, at
> > least those bitrates (because somehow it knows that all devices can
> > handle at least 3 simulcast streams):
> >
> > - 150kbps
> > - 400kbps
> > - 1000kbps
> >
> > Imagine there are also some devices supporting up to 5 streams, so the
> > SFU produces this simulcast settings in the offer for receiving:
> >
> > - 150kbps
> > - 120kbps
> > - 400kbps
> > - 750kbps
> > - 1000kbps
> >
> > If a device that just supports 3 simulcast streams receives such an
> > offer, it would discard 2. Which ones? ok, the SDP can include info
> > about the desired max-bitrate per rid, and we may think: oh, we can
> > get the list of rids and bitrates  after pc.setRemoteDescription() by
> > calling pc.getTransceivers()[1].receiver.getParameters().encodings, so
> > the app can decide which ones to enable.
> >
> > But that's not true since receiver.getParameters() should not contain
> > more rids than those supported by the device. Well, this constraint is
> > really about sender.getParameters(). So you may say: ok we somehow
> > read the maximum simulcast streams that our browser/device can send
> > and then choose the appropriate ones from the receiver can call
> > transceiver.sender.setParameters() with them.. Error! there is no API
> > for knowing the max number of simulcast streams the browser can
> > produce.
> >
> > Too many assumptions and non existing features in this text to make
> > this scenario really possible.
>
> I think the text would have to say that we discard encodings from either
> the beginning or the end of the list (I'd suggest the end).
> Sorting is going to make some of the people unhappy, some of the time.
>
>
> --
> Surveillance is pervasive. Go Dark.
>


-- 
Iñaki Baz Castillo
<ibc@aliax.net>