Re: [Hls-interest] HLS Content Steering v1.0b1 preliminary specification

Pieter-Jan Speelmans <pieter-jan.speelmans@theoplayer.com> Wed, 17 February 2021 21:46 UTC

Return-Path: <pieter-jan.speelmans@theoplayer.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 5A6E63A1D9E for <hls-interest@ietfa.amsl.com>; Wed, 17 Feb 2021 13:46:49 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.889
X-Spam-Level:
X-Spam-Status: No, score=-1.889 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_REMOTE_IMAGE=0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=theoplayer-com.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 CO0Sg5pSwzbX for <hls-interest@ietfa.amsl.com>; Wed, 17 Feb 2021 13:46:47 -0800 (PST)
Received: from mail-il1-x131.google.com (mail-il1-x131.google.com [IPv6:2607:f8b0:4864:20::131]) (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 EA2063A1D9C for <hls-interest@ietf.org>; Wed, 17 Feb 2021 13:46:46 -0800 (PST)
Received: by mail-il1-x131.google.com with SMTP id y15so12659335ilj.11 for <hls-interest@ietf.org>; Wed, 17 Feb 2021 13:46:46 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=theoplayer-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=iO5nsLecq2TEHosvlECbovLLpUMH6wZcWud45Lp0bT8=; b=iAahUB5mdzWDKgjPxr1VosfpRVtiwdtV1cETEEAufVCEjrVptmAC7ZxURsy31FI8W6 BI6n0Uh8p8XLuZYb6R2NhfUshCV4MaVtowJnUvRULxII8+UUz5+3fFg1vwvykB3+f1aZ cj7QejJKoetb0/QYRrcAgCLEtibg8n7gCVI1EfTz5Ug3zPcUk7L+5S1lp6+Yju8r5Q/X 8O2JAEvx6FfV4tbidec+Ef4YCUA2lW39gbzGuaN7CBhD1gHPF820K8wUhkyHlVY/QAxL UVSHXM0hVwPbxMisRySDRURnEOLm5p7XxY/mKpb5DkaNdIij+e3M4bO0t39KjmmEXktl 1uUQ==
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=iO5nsLecq2TEHosvlECbovLLpUMH6wZcWud45Lp0bT8=; b=uT2Txmt55yhmOOzFmYBbUs44vRavE/CkdkkKyROI4YSC0fB/BiC7cXpNWuKB8OXljA 5DMwwIClq694tiqM9r0q9FvHCGiJ73JCC7gy+vBVHOfxwzdTL65tBTgfKEus5kQa+KEH R9NMJO+YyQYgxtZoXf1p1aLlqwvUKn6XDBiBoUyO5Odz0e0CoQpDbZsshmo073iCtOcW ROH5Y/Fi/7uSkLYoOCiFXIrIXWbF0rsyxr4mzXWfOyZcEGXKhZLtULe4RBJvM7zV3JGH VaI4QeAUxejtsT3vxkUPcScHDN5A9Z02zPQnQ3Ur8pI9UFqTjb2ObyF46fJog6SCP0hB u6JA==
X-Gm-Message-State: AOAM532XDK5wzs2jvpDxmAgiXszw15i984LiqVPxxT8VEU0SGypCzeaY C0K28CndRiJ68VcZTOjjm3HcMMfYPNZNxZ7C4QNIRMFXELs7ZkHaZNX1XXNxGfilzyn3YOKC2+0 j/9MIu3ZQt2Hs9SfnwkNFGmE=
X-Google-Smtp-Source: ABdhPJyNTTojzG29eaVMWem4tu28fLZpmoFmbLHtruhqVPEiMA6wrVh4HEvBsnO4C38Kr9MqQG4k5hxWv4hCmeDCbh8=
X-Received: by 2002:a92:740e:: with SMTP id p14mr967813ilc.115.1613598405803; Wed, 17 Feb 2021 13:46:45 -0800 (PST)
MIME-Version: 1.0
References: <1F29DDD8-27B8-45B9-918F-6A45E906F4F4@apple.com>
In-Reply-To: <1F29DDD8-27B8-45B9-918F-6A45E906F4F4@apple.com>
From: Pieter-Jan Speelmans <pieter-jan.speelmans@theoplayer.com>
Date: Wed, 17 Feb 2021 22:46:09 +0100
Message-ID: <CAAqSTpn7F3LsQCYf5CYLSfh-e-ig3HjVoYP6exxSqGTodYHqdw@mail.gmail.com>
To: Roger Pantos <rpantos=40apple.com@dmarc.ietf.org>
Cc: hls-interest@ietf.org, HLS HTTP Live Streaming Review <http-live-streaming-review@group.apple.com>
Content-Type: multipart/alternative; boundary="000000000000c9da1505bb8f276b"
Archived-At: <https://mailarchive.ietf.org/arch/msg/hls-interest/-vkHOGsQlHg4CxU0jLJuEtpuTcU>
Subject: Re: [Hls-interest] HLS Content Steering v1.0b1 preliminary specification
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: Wed, 17 Feb 2021 21:46:49 -0000

Hi all

I am pretty concerned about the backwards compatibility problems when
attempting to use this in combination with older devices. It will force
services to either provide two playlists, one with and one without
EXT-X-DEFINE with client-side detection of the maximum version supported by
the client. While this will not be an issue for up to date Apple devices,
this will definitely be an issue for out of date devices but also most
smart TVs, Chromecasts, Airplay implementations by those other than Apple
(f.e. on LG), ...

One option which could avoid this would be the following approach:
- Leverage the STABLE-VARIANT-ID and STABLE-RENDITION-ID identifiers to
modify an attribute of the Variant or Rendition.
- Allow a Variant or Rendition to be referenced in the Steering Manifest
with an updated value for the relevant attribute.
- Give the EXT-X-CONTENT-STEERING tag a MODIFIES attribute to list the
Variants and Renditions which will be modified and VARIANT-ATTRIBUTES and
RENDITION-ATTRIBUTES attributes to list the attributes which can be
modified rather than the DEFINES attribute.

The language for a Pathway would be defined as:

> {
>     "ID": string, // REQUIRED
>     "VARIANTS": { // REQUIRED
>
        "<STABLE-VARIANT-ID>": { // one for every variant listed to be
> modified

            Key-Value pairs for every attribute which you want to redefine
>
        }

    },
>
    "RENDITIONS": { // OPTIONAL

        "<STABLE-RENDITION-ID>": {  // one for every rendition listed as to
> be modified

            Key-Value pairs for every attribute which you want to redefine
>
        }

    }

}


For example this could make the Master Playlist.

> #EXTM3U
> #EXT-X-VERSION:8
>
>
> #EXT-X-CONTENT-STEERING:MODIFIED="VARIANT-1,VARIANT-2",VARIANT-ATTRIBUTES="URI",SERVER-URI="/steering?video=00001",PATHWAY-ID="My-Great-CDN"



#EXT-X-STREAM-INF:BANDWIDTH=1280000,CODECS="avc1.640028",STABLE-VARIANT-ID="VARIANT-1"
> https://cdn-a.example.com/low/main/audio-video.m3u8
>
> #EXT-X-STREAM-INF:BANDWIDTH=7680000,CODECS="avc1.640028",STABLE-VARIANT-ID="VARIANT-2"
> https://cdn-a.example.com/hi/main/audio-video.m3u8


Which results into a Steering Manifest like the one below.

> {
>     "TTL": 300,
>     "RELOAD-URI": "https://example.com/steering?video=00001&session=123",
>     "PATHWAYS": [
>         {
>             "ID": "My-Great-CDN",
>             "VARIANTS": {
>                 "VARIANT-1": {
>                     "URI": "
> https://cdn-a.example.com/low/main/audio-video.m3u8"
>                 }
>                 "VARIANT-2":{
>                     "URI": "
> https://cdn-a.example.com/hi/main/audio-video.m3u8"
>                 }
>             }
>         },
>         {
>             "ID": "My-Backup-CDN",
>             "VARIANTS": {
>                 "VARIANT-1":{
>                     "URI": "
> https://cdn-b.example.com/low/main/audio-video.m3u8"
>                 }
>                 "VARIANT-2":{
>                     "URI": "
> https://cdn-b.example.com/hi/main/audio-video.m3u8"
>                 }
>             }
>         }
>     ]
> }


Benefits:
- Fully backwards compatible. Older clients will simply ignore the new
EXT-X-CONTENT-STEERING tag, and use the primary source.
- No change needed to the Master Playlist other than the addition of
the #EXT-X-CONTENT-STEERING tag.
- Also compatible with the AUTH-case for EXT-X-DEFINE by allowing the
Variable Substitution on attributes after retrieval from the Steering
Manifest
- As an added bonus, for those who are modifying the master playlist
anyway, the use of STABLE-VARIANT-ID and STABLE-RENDITION-ID allows clients
to identify and identify the Variants and Renditions.

Drawback:
- More closely coupled with HLS, making reuse of the Steering Manifest for
other failover cases less likely.

My personal opinion is that the value of backwards compatibility would
warrant the drawbacks I currently see.

Best regards,
Pieter-Jan



*Pieter-Jan Speelmans*CTO

*THEO Technologies NV*
*w *| www.theoplayer.com
Philipssite 5, Bus 1. 3001 Leuven, Belgium
<https://d2oj23ymxjbl3l.cloudfront.net/>
Leuven (Belgium) - New York (US) - Singapore (SG) - Barcelona (ES)
BTW: BE 0847.829.290, RPR: Leuven


On Wed, Feb 17, 2021 at 9:57 PM Roger Pantos <rpantos=
40apple.com@dmarc.ietf.org> wrote:

> Hello hls-interest,
>
> As discussed on the call today, here is the preliminary specification for
> the new Content Steering feature. We are converging on the final design for
> 1.0, so please take a look at it when you can and tell us what you think.
>
> You can send feedback to this list, or to
> http-live-streaming-review@group.apple.com if you want it to go directly
> to us.
>
>
>
>
> regards,
>
> Roger Pantos
> Apple Inc.--
> Hls-interest mailing list
> Hls-interest@ietf.org
> https://www.ietf.org/mailman/listinfo/hls-interest
>

-- 
*Legal Notice *
You can find the latest terms and policies of THEO 
Technologies under www.theoplayer.com/terms 
<http://www.theoplayer.com/terms> including our "GENERAL TERMS AND 
CONDITIONS". In the absence of a signed agreement between you and THEO 
Technologies, by replying to this email these terms apply to the relevant 
transaction between us.   
The contents of this email message and any 
attachments are intended solely for the addressee(s) and contain 
CONFIDENTIAL and/or privileged information and are legally protected from 
disclosure. If you are not the intended recipient of this message, please 
immediately alert the sender by reply email and then delete this message 
including any attachments and you are hereby notified that any use, 
dissemination, copying, or storage of this message or its attachments is 
strictly prohibited. 
Full security of emails over the internet cannot be 
ensured. Despite our efforts it is your responsibility to provide for your 
protection.
Global HQ: THEO Technologies NV, Philipssite 5 bus 1, 3001 
Heverlee, Belgium - BE 0847.829.290 - CEO: Steven Tielemans