Re: [Hls-interest] Survey: signaling HLS client capability

Gaëtan Hervouet <gaetanhervouet@google.com> Tue, 25 May 2021 19:30 UTC

Return-Path: <gaetanhervouet@google.com>
X-Original-To: hls-interest@ietfa.amsl.com
Delivered-To: hls-interest@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 955DA3A1A7D for <hls-interest@ietfa.amsl.com>; Tue, 25 May 2021 12:30:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.589
X-Spam-Level:
X-Spam-Status: No, score=-17.589 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_KAM_HTML_FONT_INVALID=0.01, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=unavailable 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 T-p43ELvV4xR for <hls-interest@ietfa.amsl.com>; Tue, 25 May 2021 12:30:37 -0700 (PDT)
Received: from mail-yb1-xb2f.google.com (mail-yb1-xb2f.google.com [IPv6:2607:f8b0:4864:20::b2f]) (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 EF0B63A1A7B for <hls-interest@ietf.org>; Tue, 25 May 2021 12:30:36 -0700 (PDT)
Received: by mail-yb1-xb2f.google.com with SMTP id g38so44595597ybi.12 for <hls-interest@ietf.org>; Tue, 25 May 2021 12:30:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=j8Y+jrdHDlwPRY4CCHg+Zxmf2mMxhr3oujr8xL7SXnY=; b=JUqRCwxpsgxYpJH4YVSsmVZftmXkloVchI42Df+QivBZu79j6mDIZ0j5LZQSwP8z9j g9Q+bkqqzplCsvzND7sw7iatQlRnnN9DnY74KpXj8aCAtmUBxVL5WEX4iS/F6Z2SSuT2 YkBgrtaII4iasgHYCmr02n9PuaBHTGAlYr5IxUFtysjXaWtSQ/D0Zo3HlHjF3cE5gU5j ll2liZF4WiqdN5HzxmPM8UMppFdGEiKjMO3Mf3fZVrLJDNtuJgtm/Bn9BdYnoFj/usQ0 euXViQai5igqiS5eo2eB+qKuRERezejKkuWMU7jVOpyD42J/jBb3yoTQUK1WhHP+APo3 Py8w==
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; bh=j8Y+jrdHDlwPRY4CCHg+Zxmf2mMxhr3oujr8xL7SXnY=; b=HTtdO3sq0iVCpM12h7VxDU+bsZOccIN/IH3hNu9v5SWZ1vHm52E1Y1vxsn/x6R4QK9 EzEM+1L6UhhAfAvSDH5S0xpwiOQMB/CzgU/BWDW0TvjgbQLcsa8WDuv1p0BCDQtmmc3e QHBxP7sNzyUVXHl+dUB9kkczBx8L3k3pRSqcwOCnl3trs9FN+lQ3Bm3hnuCJNdTSeikR 4esASAJtMX88W6bRYR2HNG3vjC8PN/cMgAMyl+dXB2MIUC6zVRp/dyf8kop8XSXgxU/L 0WlB6lgPjiO96qZ44PsFcplpEXXFfh6SVo/MnBCrsu3uVLQUjeNb6OIQLGm4IWQVnNeP oosA==
X-Gm-Message-State: AOAM531c3IPyWdhjo6y50Bxgmapan4VvVRW4BHALHz06jiNoiibsQVxq ingucS64FPRqazfqOUAqfIu0HPUIcr42dihIupPTuA==
X-Google-Smtp-Source: ABdhPJxz2aYf4l9k/QLV4k0H4QeJ2oy1i1kljfZo2749Hl8yDFgma+oyeriyCht2tfJk06PQaaViBmoFv2/S9AbKxw4=
X-Received: by 2002:a25:7ec4:: with SMTP id z187mr43134870ybc.136.1621971035038; Tue, 25 May 2021 12:30:35 -0700 (PDT)
MIME-Version: 1.0
References: <8FE883FB-29BD-402B-BB50-E199036281EE@apple.com> <F6795C0F-A95E-42A1-85AA-23C01C5213DA@akamai.com> <369959B7-EACA-4127-834A-8300BA57D660@networked.media> <CAANhuA_UHZ4eXP14XO2U7=9MduFCRzBMfGas7FS4f0NpCEmL7g@mail.gmail.com> <CAF-MBS+tbGYg+SzjHGBU453ML_3H=Fi+s-w7cvYxSXL65pdSFg@mail.gmail.com>
In-Reply-To: <CAF-MBS+tbGYg+SzjHGBU453ML_3H=Fi+s-w7cvYxSXL65pdSFg@mail.gmail.com>
From: Gaëtan Hervouet <gaetanhervouet@google.com>
Date: Tue, 25 May 2021 15:30:23 -0400
Message-ID: <CAEyqsc1QCftKsZz_ScvrHSQXFLYCxSK=q8M9G7s4ASNa6t-Dgw@mail.gmail.com>
To: Alex Giladi <alex.giladi@gmail.com>
Cc: John Luther <jluther=40jwplayer.com@dmarc.ietf.org>, "Law, Will" <wilaw=40akamai.com@dmarc.ietf.org>, "Ali C. Begen" <ali.begen@networked.media>, Roger Pantos <rpantos=40apple.com@dmarc.ietf.org>, "hls-interest@ietf.org" <hls-interest@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000061df9305c32c8f41"
Archived-At: <https://mailarchive.ietf.org/arch/msg/hls-interest/Btx8YL3KQcRZQlCjOjzK46mm7mA>
Subject: Re: [Hls-interest] Survey: signaling HLS client capability
X-BeenThere: hls-interest@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Discussions about HTTP Live Streaming \(HLS\)." <hls-interest.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/hls-interest>, <mailto:hls-interest-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/hls-interest/>
List-Post: <mailto:hls-interest@ietf.org>
List-Help: <mailto:hls-interest-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hls-interest>, <mailto:hls-interest-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 25 May 2021 19:30:43 -0000

Hi all,

I do agree with Will’s response. Relying on user-agent [1] is indeed
becoming harder and we have to move away from that. Cacheability and
debuggability are of course valid points [2] which is why the query
parameters do seem like a good solution (as long as there is no explosion
of combinations). I do see the problem with having the query parameter sent
on master manifest request impact the content of the variant playlists; it
would break cacheability. However, if that parameter were to be set for all
requests of the playback session (including variants) then the problem goes
away and the response is now deterministic and cacheable. We may also want
to consider an approach where the filters are not "features" but rather an
HLS spec/draft version that the player is compatible with.

We would also be totally fine with Will’s 2nd proposition however the
danger there is that the master playlist might explode in size if it needs
one EXT-X-STREAM-INF url for every combination of features. Sticking to the
client deciding what it can plays though, we could envision following an
LL-HLS approach where the EXT-X-SERVER-CONTROL tag appears in the *master*
manifest:

GET http://content.io./some-coment/master.m3u8

#EXTM3U

#EXT-X-VERSION:10

#EXT-X-SERVER-CONTROL:admode=interstitials

#EXT-X-STREAM-INF:BANDWIDTH=300000

http://content.io./some-content/variant1.m3u8
<http://content.io./some-coment/variant1.m3u8>

#EXT-X-STREAM-INF:BANDWIDTH=1000000

http://content.io./some-content/variant2.m3u8

Then for a device that supports interstitials, it requests the variant with:

GET http://content.io./some-coment/variant1.m3u8?_HLS_admode=interstitials
<http://content.io./some-coment/variant1.m3u8?_HLS_AdMode=interstitials>

Or a device that does not support interstitials:

GET http://content.io./some-coment/variant1.m3u8
<http://content.io./some-coment/variant1.m3u8?_HLS_AdMode=interstitials>

The query parameters would still allow the master and variant requests to
be cached deterministically and the client is the one making the decision
on what it plays while the server just sticks to advertising what it can
offer. Older players will ignore that EXT-X-SERVER-CONTROL tag and the
master playlist can stay relatively small and common to all users.

This example describes interstitials however there could be more
EXT-X-SERVER-CONTROL master attributes for important features, list would
have to be kept to a minimum to avoid an explosion of combination and keep
cache effective.

We think it’s important for that client compatibility feature to be
introduced at the same time as interstitials so that it can be used right
when it’s released instead of waiting years for a big enough number of
clients to support it. Supporting both interstitials and segment stitching
ad mode in one session does not really make sense even if it’s backward
compatible.


Cheers,
Gaetan

On Fri, May 21, 2021 at 5:25 PM Alex Giladi <alex.giladi@gmail.com> wrote:

> Regarding [1] in Will's e-mail, I'm concerned about nuclear
> proliferation of query parameters and special snowflake server-side
> logic.
> While everything is implementable, a deployment with smarter and more
> independent client selecting from a large (and growing) menu of
> options (i.e., [2] scales better
>
> On Fri, May 21, 2021 at 3:07 PM John Luther
> <jluther=40jwplayer.com@dmarc.ietf.org> wrote:
> >
> >
> >
> > On Fri, May 21, 2021 at 4:55 PM Ali C. Begen <ali.begen@networked.media>
> wrote:
> >>
> >> Not that I don’t agree with what Will said in the rest of his email, I
> would like to express my 100x support for the statement below.
> >
> >
> > +100 from JW Player
> >
> >>
> >>
> >> > On May 21, 2021, at 11:48 PM, Law, Will <wilaw=
> 40akamai.com@dmarc.ietf.org> wrote:
> >> >
> >> > In parallel, I’d also like to see Apple moving the industry in the
> direction of making the players smarter. Player behavior specifications,
> updateable player logic (decoupled from device updates) , player
> conformance tests, and test suites would make for more manageable content &
> feature diversity in the decades ahead.
> >>
> >> --
> >> Hls-interest mailing list
> >> Hls-interest@ietf.org
> >> https://www.ietf.org/mailman/listinfo/hls-interest
> >
> > --
> > Hls-interest mailing list
> > Hls-interest@ietf.org
> > https://www.ietf.org/mailman/listinfo/hls-interest
>
> --
> Hls-interest mailing list
> Hls-interest@ietf.org
> https://www.ietf.org/mailman/listinfo/hls-interest
>