[Hls-interest] iOS 17 and Low-Latency HLS

Roger Pantos <rpantos@apple.com> Tue, 27 June 2023 17:31 UTC

Return-Path: <rpantos@apple.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 A8B8FC14CE27 for <hls-interest@ietfa.amsl.com>; Tue, 27 Jun 2023 10:31:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.399
X-Spam-Level:
X-Spam-Status: No, score=-4.399 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=apple.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nEGC9rSJzvFH for <hls-interest@ietfa.amsl.com>; Tue, 27 Jun 2023 10:31:31 -0700 (PDT)
Received: from ma-mailsvcp-mx-lapp02.apple.com (ma-mailsvcp-mx-lapp02.apple.com [17.32.222.23]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 03807C14CE42 for <hls-interest@ietf.org>; Tue, 27 Jun 2023 10:31:30 -0700 (PDT)
Received: from rn-mailsvcp-mta-lapp03.rno.apple.com (rn-mailsvcp-mta-lapp03.rno.apple.com [10.225.203.151]) by ma-mailsvcp-mx-lapp02.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) with ESMTPS id <0RWX00O5QA0BGI00@ma-mailsvcp-mx-lapp02.apple.com> for hls-interest@ietf.org; Tue, 27 Jun 2023 10:31:30 -0700 (PDT)
X-Proofpoint-ORIG-GUID: behAoA1Tpx2UXcwCrLBbbCd5DEmAStC1
X-Proofpoint-GUID: behAoA1Tpx2UXcwCrLBbbCd5DEmAStC1
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.591, 18.0.957 definitions=2023-06-21_10:2023-06-14, 2023-06-21 signatures=0
X-Proofpoint-Spam-Details: rule=interactive_user_notspam policy=interactive_user score=0 adultscore=0 bulkscore=0 mlxlogscore=561 malwarescore=0 phishscore=0 mlxscore=0 suspectscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306210150
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=from : content-type : content-transfer-encoding : mime-version : date : subject : message-id : to; s=20180706; bh=GF50p1CCrE/jYw17S7DdtrWo4kFK7zk6EDXxU1bJl+4=; b=IG3oWhqj4+18iLMcSTDrirDTAmVn1dgIAAp5NpEQ8JhgzzYhth6OBYi/C0W3Kyp6s9gj FPAGDWbJRvn22jsPUgAfj+Ax78kd++Ao3R6fluv4BJtSwk1t/y6vQ4Bc9uB4LImTMU6k f9VCGwspGW5rcuxFJ6TwYEHULUKpwKePJIkh6NCETLFdVSbx94X4CCbvA8tJAtdbRe1C M+x25CspW2+YkQcKAWAtuEjZQjeMNGbA5YMZpiLqQeSCXuqKjWDF4zwkQhj8wiWNwD7p ekxsc4jgymYSUT6Cgv3mto/fwpW9jOtOnka0V2UBwlUyElTSNsIgyJI9RN0Lgme67u7S gQ==
Received: from rn-mailsvcp-mmp-lapp01.rno.apple.com (rn-mailsvcp-mmp-lapp01.rno.apple.com [17.179.253.14]) by rn-mailsvcp-mta-lapp03.rno.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) with ESMTPS id <0RWX00YIXA0H7KA0@rn-mailsvcp-mta-lapp03.rno.apple.com> for hls-interest@ietf.org; Tue, 27 Jun 2023 10:31:29 -0700 (PDT)
Received: from process_milters-daemon.rn-mailsvcp-mmp-lapp01.rno.apple.com by rn-mailsvcp-mmp-lapp01.rno.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) id <0RWX00T009GY0500@rn-mailsvcp-mmp-lapp01.rno.apple.com>; Tue, 27 Jun 2023 10:31:29 -0700 (PDT)
X-Va-A:
X-Va-T-CD: 3f93f9dade3eb50a0475b2a56b082445
X-Va-E-CD: 07a579488a20def3b7c3fbd71af7b59c
X-Va-R-CD: 398ca492b709c73c49a9b3d7b1c5e700
X-Va-ID: 28a4005c-1e12-46e9-952a-b738876a7e58
X-Va-CD: 0
X-V-A:
X-V-T-CD: 3f93f9dade3eb50a0475b2a56b082445
X-V-E-CD: 07a579488a20def3b7c3fbd71af7b59c
X-V-R-CD: 398ca492b709c73c49a9b3d7b1c5e700
X-V-ID: b45fb004-e4c7-4db3-a66c-fbcd83676da5
X-V-CD: 0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.591, 18.0.957 definitions=2023-06-27_12:2023-06-27, 2023-06-27 signatures=0
Received: from smtpclient.apple (unknown [17.11.4.190]) by rn-mailsvcp-mmp-lapp01.rno.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) with ESMTPSA id <0RWX00P24A0GYZ00@rn-mailsvcp-mmp-lapp01.rno.apple.com>; Tue, 27 Jun 2023 10:31:28 -0700 (PDT)
From: Roger Pantos <rpantos@apple.com>
Content-type: text/plain; charset="us-ascii"
Content-transfer-encoding: quoted-printable
MIME-version: 1.0 (Mac OS X Mail 16.0 \(3731.600.7\))
Date: Tue, 27 Jun 2023 10:31:18 -0700
Message-id: <2AA0FA1F-CE0F-4FD4-B51D-910D0C5D38CA@apple.com>
To: hls-interest@ietf.org
X-Mailer: Apple Mail (2.3731.600.7)
Archived-At: <https://mailarchive.ietf.org/arch/msg/hls-interest/RcZ2SG8Sz_zZEcjWnDKzcM_-TJk>
Subject: [Hls-interest] iOS 17 and Low-Latency HLS
X-BeenThere: hls-interest@ietf.org
X-Mailman-Version: 2.1.39
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, 27 Jun 2023 17:31:31 -0000

Hi folks. Now that we've shipped the second (developer) seed of iOS 17, there are a couple of bits of news I'd like to share.

First: as many LL-HLS aficionados are aware, Appendix B.1 of the spec (Low-Latency Server Configuration Profile) says that LL-HLS must be delivered over HTTP/2. Meanwhile, HTTP/3 (IETF QUIC) is conspicuously absent. In iOS 17 we are adding support for LL-HLS delivery over HTTP/3, beginning with seed 2.

Because H3 came with a new stream prioritization scheme, the spec will be updated to accommodate it. Exact language is forthcoming, but the basic upshot is that LL-HLS will require (on H3) or strongly recommend (on H2) the use of static, server-defined priorities described by RFC 9218 (Extensible Prioritization Scheme for HTTP). Playlists must be delivered at priority 1 while (partial) segments must be in the lower-priority band from 2 to 6, with higher bit rate renditions having equal or lower priority than lower bit rate renditions. These priorities must be signaled in the H3 response headers, or iOS 17 will play the stream in regular-latency mode.

Second: we've done a bunch of tuning on the LL-HLS ABR in iOS 17, aimed at improving its performance in difficult network conditions. We expect significantly lower stall rates compared to earlier releases while maintaining (or in some cases improving) the average bit rates at which the content is played. We encourage everyone who is experimenting with LL-HLS to try their streams on iOS 17, and to let us know what they find. (Hopefully we didn't break anything, but if we did there is still a small amount of time to fix things before iOS 17 goes live.)

One last note: for best results, test your LL-HLS streams on iOS 17 using a native app, not through Safari. While Safari supports LL-HLS, the lengths to which it must go to make resource loading HTML5-compliant impacts streaming performance, particularly at low latencies.


cheers,

Roger Pantos
Apple Inc.