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
- [Hls-interest] HLS Content Steering v1.0b1 prelim… Roger Pantos
- Re: [Hls-interest] HLS Content Steering v1.0b1 pr… Pieter-Jan Speelmans
- Re: [Hls-interest] HLS Content Steering v1.0b1 pr… Pieter-Jan Speelmans
- Re: [Hls-interest] HLS Content Steering v1.0b1 pr… Eryk Vershen
- Re: [Hls-interest] HLS Content Steering v1.0b1 pr… Eryk Vershen
- Re: [Hls-interest] HLS Content Steering v1.0b1 pr… Roger Pantos
- Re: [Hls-interest] HLS Content Steering v1.0b1 pr… Pieter-Jan Speelmans
- Re: [Hls-interest] HLS Content Steering v1.0b1 pr… Roger Pantos
- Re: [Hls-interest] HLS Content Steering v1.0b1 pr… Roger Pantos
- Re: [Hls-interest] HLS Content Steering v1.0b1 pr… Law, Will
- Re: [Hls-interest] HLS Content Steering v1.0b1 pr… Law, Will
- Re: [Hls-interest] HLS Content Steering v1.0b1 pr… Daniel Weinberger
- Re: [Hls-interest] HLS Content Steering v1.0b1 pr… David Hassoun
- Re: [Hls-interest] HLS Content Steering v1.0b1 pr… Roger Pantos
- Re: [Hls-interest] HLS Content Steering v1.0b1 pr… Roger Pantos
- Re: [Hls-interest] HLS Content Steering v1.0b1 pr… Roger Pantos
- Re: [Hls-interest] HLS Content Steering v1.0b1 pr… Law, Will
- Re: [Hls-interest] HLS Content Steering v1.0b1 pr… Roger Pantos