Re: [Hls-interest] Streaming Video Alliance Comments on HLS Content Steering Proposals

Phil Cluff <phil@mux.com> Fri, 16 April 2021 17:30 UTC

Return-Path: <pcluff@mux.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 ADE593A2D7F for <hls-interest@ietfa.amsl.com>; Fri, 16 Apr 2021 10:30:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=mux.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 QaamOzY1qX66 for <hls-interest@ietfa.amsl.com>; Fri, 16 Apr 2021 10:30:44 -0700 (PDT)
Received: from mail-ua1-x930.google.com (mail-ua1-x930.google.com [IPv6:2607:f8b0:4864:20::930]) (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 449AE3A2D7B for <hls-interest@ietf.org>; Fri, 16 Apr 2021 10:30:44 -0700 (PDT)
Received: by mail-ua1-x930.google.com with SMTP id x9so1204398uao.3 for <hls-interest@ietf.org>; Fri, 16 Apr 2021 10:30:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mux.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=IjUGNdx+fChUamDM8/5lyQdwnp79DT3qKidFaSTW88I=; b=mnrQkX3TaMALfzR/Zcr+vyVhUu1O3cC34YFmv3EVySCodkLIJJiZUsZpHzR/KzMcpT W2b5QV3xwG9JZanDuuDExEY98jhEiruQjDlg6p4+41KeRkAs+8qIh8SdlKLe9VoMbgSS X4pN/NVQdZ/WnPqdnIlcV4ebiSoXsI2+TP34k=
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=IjUGNdx+fChUamDM8/5lyQdwnp79DT3qKidFaSTW88I=; b=HpykcC05GRpbl3jFUsDA51JhMN0h4bSaw67WanFOQvJ/Q+J9rKbd6q7+N9R9bXqPo/ spnwPwjTp/lADH7iOlMaw5yuqMoe4R7GsEgnaqfi/8ikJIyAeg6kK9Qz8XlnhiwgUTLa ZLbKi2RwgLdfBqIbw248Ic4ijnNB/ymrL9vu4BaK1xm/lM3CDH8XsmxyIi2BzcqZRm3V ifOBQ51eGu2ceITYAAm0dLI0/eZzFrJfzIpKYs5Qcs05Oyosf0aP6dDc/Smp6fE7DsVP WZmJpsQMpR5rqHEmDLj3QGXIrsqPaB7L52yoHGxmTC+7zDT7PvUt1a4DCF6EVGjtZh3x 5MQQ==
X-Gm-Message-State: AOAM533cuQNVMI/KRJR9FAsUEA+7FlrtDqBQLqFG0atP29Kvz3oO+Gs5 xgEGl1zBTMUVLNNWUdLw4QWO6+wZk+hFF9OVXcamGA==
X-Google-Smtp-Source: ABdhPJyS3VigsSzmrazMYgPaOZkUnox6w/8PsfD+gHy5Xp0zCUuzpL0RNOb+BWeqYnJlofhsiS3S9p83SWEJeA2I/2M=
X-Received: by 2002:ab0:6ca2:: with SMTP id j2mr447383uaa.28.1618594241522; Fri, 16 Apr 2021 10:30:41 -0700 (PDT)
MIME-Version: 1.0
References: <CAA__M0h+cq9ZrBjid33hL-JFVQ8L40cG=tB3DOrXRPPwvCKpVg@mail.gmail.com> <840F37F8-D3EA-44F2-93C9-1D20682BBA0E@apple.com> <9659752D-8C78-4050-BDF5-22736F0F642D@akamai.com> <DA56AC1A-6B14-4774-B13E-7B3B37376A75@apple.com> <30557D2D-4669-4CD6-9D42-391453D5FB8A@akamai.com> <CAHuKqSD6gQc8N9yJixDGThMutPoTELuz=pkubEMcs1JfM-OpoQ@mail.gmail.com> <EC866EE4-196A-4EE4-B5F7-BEDE6C4C583F@apple.com>
In-Reply-To: <EC866EE4-196A-4EE4-B5F7-BEDE6C4C583F@apple.com>
From: Phil Cluff <phil@mux.com>
Date: Fri, 16 Apr 2021 18:30:15 +0100
Message-ID: <CAHuKqSB14AEhLt_Vc+Rb7OVn3=aRvfAAMV=ZXVmph146v_MoDw@mail.gmail.com>
To: Roger Pantos <rpantos@apple.com>
Cc: "hls-interest@ietf.org" <hls-interest@ietf.org>, "Law, Will" <wilaw@akamai.com>
Content-Type: multipart/alternative; boundary="000000000000cd412905c01a56d5"
Archived-At: <https://mailarchive.ietf.org/arch/msg/hls-interest/meCW-qQUlKrZ9jh7eTNTFjDhFkY>
Subject: Re: [Hls-interest] Streaming Video Alliance Comments on HLS Content Steering Proposals
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: Fri, 16 Apr 2021 17:30:50 -0000

Thanks Roger, that makes complete sense.

I think this is fine as a SHOULD for sure. I think it'd be good to have
this advice / example in the spec, as redundant streams in general have (in
my opinion) always been a little unloved from that perspective.

Thanks again!

On Fri, Apr 16, 2021 at 5:22 PM Roger Pantos <rpantos@apple.com> wrote:

> Hello Phil. Audio and text tracks can be steered to particular pathways
> the same way they are today: by defining per-pathway Rendition Groups and
> making sure each Variant Stream on a particular pathway specifies the
> Rendition Group for that pathway:
>
> #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-0-A",NAME="en
> (Main)",DEFAULT=YES,LANGUAGE="en",URI="audio-0.m3u8
> <https://primary-cdn.com/audio-0.m3u8>"
> #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-0-B",NAME="en
> (Main)",DEFAULT=YES,LANGUAGE="en",URI="https://
> <https://backup-cdn.com/audio-0.m3u8>
> backup.example.com/content/videos/video12/audio-0.m3u8"
>
>
> #EXT-X-STREAM-INF:BANDWIDTH=1280000,CODECS="avc1.640028”,AUDIO="audio-0-A”,PATHWAY-ID="CDN-A"
> low/audio-video.m3u8
>
>
> #EXT-X-STREAM-INF:BANDWIDTH=1280000,CODECS="avc1.640028",AUDIO="audio-0-B",PATHWAY-ID="CDN-B"
> https://backup.example.com/content/videos/video12/low/audio-video.m3u8
>
> I’d be willing to add some advice along those lines to the spec, perhaps
> as a SHOULD. But at the moment I’m not inclined to require it, in order to
> give content providers maximum flexibility.
>
>
> Roger.
>
> On Apr 16, 2021, at 2:14 AM, Phil Cluff <phil@mux.com> wrote:
>
> Thanks Roger and the Apple team for looking at this approach, it's really
> appreciated! I also really appreciate that this finally formalises the
> expected player behaviour for redundant streams.
>
> I think there is something missing though, specifically, in the current
> implementation I don't think it works for un-muxed audio and video, and
> text tracks, since PATHWAY-ID can only be defined on #EXT-X-STREAM-INF,
> #EXT-X-I-FRAME-STREAM-INF.
>
> I think we also need to be able to define PATHWAY-ID on #EXT-X-MEDIA so
> that we do things like this for redundant alternate audio or text tracks:
>
> #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-0",NAME="en
> (Main)",DEFAULT=YES,AUTOSELECT=YES,LANGUAGE="en",URI="
> https://primary-cdn.com/audio-0.m3u8",PATHWAY-ID="1"
> #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-0",NAME="en
> (Main)",DEFAULT=YES,AUTOSELECT=YES,LANGUAGE="en",URI="
> https://backup-cdn.com/audio-0.m3u8",PATHWAY-ID="2"
>
> And the same for text tracks:
>
>
> #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs-1",CHARACTERISTICS="public.accessibility.transcribes-spoken-dialog",NAME="English",AUTOSELECT=YES,DEFAULT=YES,FORCED=NO,LANGUAGE="en",URI="
> https://primary-cdn.com/subs-1.m3u8",PATHWAY-ID="1"
>
> #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs-1",CHARACTERISTICS="public.accessibility.transcribes-spoken-dialog",NAME="English",AUTOSELECT=YES,DEFAULT=YES,FORCED=NO,LANGUAGE="en",URI="
> https://backup-cdn.com/subs-1.m3u8",PATHWAY-ID="2"
>
> I think this might require some minor changes under 4.3.4.1.1. Rendition
> Groups in the HLS spec to clarify that entries in a group are not
> duplicates when their PATHWAY-ID does not match.
>
> Let me know if I've missed something as always!
>
> Thanks again!
>
>
> On Fri, Apr 16, 2021 at 12:23 AM Law, Will <wilaw=
> 40akamai.com@dmarc.ietf.org> wrote:
>
>> Well a big public thank you to Roger and the team at Apple for their open
>> mindedness and willingness to take feedback around this, even to the degree
>> that it represented a large rewrite of the feature. I think you have a
>> genuinely simpler and thus more robust product as a result. We look forward
>> to supporting you in taking it to production. It’s also encouraging for
>> list members who put time & effort in to preparing feedback, to know that
>> it is given due consideration. So thanks all around.
>>
>>
>>
>> In speaking with Kirk this afternoon, it would be really useful to have
>> an additional optional reserved parameter of
>>
>>
>>
>> _HLS_lastSteerTime=<timestamp>
>>
>>
>>
>> in which the player passes to the steering server the last wall-clock
>> time at which it executed a steering action.
>>
>>
>>
>> Why would this be useful? Primarily, it allows the decoupling of the
>> check frequency from the steering execution frequency. Delivery problems
>> can happen quickly  - within 30s in some cases. Having a 5 minute check-in
>> interval means that a player can be banging its head against a poorly
>> performing server for many minutes before it moves away. Users have proven
>> inability to absorb such failures for more than 20s or so. We could address
>> this problem by having the player call the steering server every 20s.
>> However we don’t want the QoE churn that might come if the player switches
>> at 20s intervals. It would be nice solution then if the player has the
>> option of checking in frequently but the steering server could then
>> intelligently steer some players who had been stable for a while,
>> immediately, while for others it could wait for some churn-avoiding
>> threshold before steering them. This new timestamp query arg would enable
>> this optimized behavior and it would allow the steering server to remain
>> stateless in its operation.
>>
>>
>>
>> Cheers
>>
>> Will
>>
>>
>>
>>
>>
>> *From: *Roger Pantos <rpantos=40apple.com@dmarc.ietf.org>
>> *Date: *Thursday, April 15, 2021 at 3:29 PM
>> *To: *"hls-interest@ietf.org" <hls-interest@ietf.org>
>> *Subject: *Re: [Hls-interest] Streaming Video Alliance Comments on HLS
>> Content Steering Proposals
>>
>>
>>
>> Okay folks, we’ve done a number of audits and we think that simple
>> annotation of redundant streams will work well enough for content steering.
>> I’ve updated the spec to reflect that, and bumped the spec version to
>> 1.2b1.
>>
>>
>>
>> We left an opening in 1.2 that will allow us to introduce new Pathways
>> through the steering manifest if there’s a demand for that in the future.
>>
>>
>>
>> As always, thanks to everyone for their thoughtful contributions!
>>
>>
>> --
>> Hls-interest mailing list
>> Hls-interest@ietf.org
>> https://www.ietf.org/mailman/listinfo/hls-interest
>>
>
>
> --
> Phil Cluff | Product Lead | +44 7983 406 937 | phil@mux.com
>
>
>

-- 
Phil Cluff | Product Lead | +44 7983 406 937 | phil@mux.com