SlideShare a Scribd company logo
1 of 118
Download to read offline
HLS
WWDC2020
youhsuan
Outline
● What’s new in Low-Latency HLS
● Adopt Ad Insertion to Low-Latency HLS
● Reduce Latency with HLS Blocking Playlist Reload
● Discover HLS Blocking Preload Hints
● Optimize Live Streams with HLS Playlist Delta Updates
● Improve stream authoring with HLS Tools
● Deliver a Better HLS Audio Experience
What’s New in Low-Latency HLS
Important changes
● Replaced HTTP/2 Push with Preloading Hinting
● Simplified Delivery Directives
● Generate CMAF in reference tools
Everything is included in the current HLS spec
Low-Latency HLS comes out of beta this year
● Aim to deliver your service
Quick Review of Regular Live HLS works
And it has to supply preload hints for both as well
What’s Blocking Playlist Reload?
● HLS clients discover new segments by reloading the Playlist
What’s Blocking Playlist Reload?
● HLS clients discover new segments by reloading the Playlist
● Original HLS approach (polling) delays discovery
What’s Blocking Playlist Reload?
● HLS clients discover new segments by reloading the Playlist
● Original HLS approach (polling) delays discovery
● Low-Latency HLS introduced server Delivery Directives
● HLS clients discover new segments by reloading the Playlist
● Original HLS approach (polling) delays discovery
● Low-Latency HLS introduced server Delivery Directives
● Client asks server to hold reload request until new segment appear
● Response unblocks when Playlist updates
What’s Blocking Playlist Reload?
Other exceptional cases
● _HLS_msn and _HLS_part are ignored if Playlists contains EXT-X-ENDLIST
Other exceptional cases
● _HLS_msn and _HLS_part are ignored if Playlists contains EXT-X-ENDLIST
● Server unblocks immediately if Playlist is newer than requested
● Requested segment/part is not the most recent
○ It might even have rolled out of the Playlist
● _HLS_msn and _HLS_part are ignored if Playlists contains EXT-X-ENDLIST
● Server unblocks immediately if Playlist is newer than requested
● Requested segment/part is not the most recent
○ It might even have rolled out of the Playlist
● Server may time out if it spends too long blocked
Other exceptional cases
Using CMAF Chunks with LL-HLS
● Each resource (URL) corresponds to a Parent Segment
● Each Parent Segment contains multiple CMAF Chunks
● Each CMAF Chunk is a Partial Segment
○ Specified as Parent Segment URL + byte-range
Extension Playlist Delta Update
Wrap up
● Provide Playlist Delta Updates for livestreams with large windows
● Latest OS offers v2 updates that include EXT-X-DATERANGE tags
● Improves Playlist reload performance, which increases reliability
SCORE attribute
Thank you!

More Related Content

What's hot

What's hot (9)

Introduction to HTTP2
Introduction to HTTP2Introduction to HTTP2
Introduction to HTTP2
 
Iot protocols tr 069
Iot protocols  tr 069Iot protocols  tr 069
Iot protocols tr 069
 
EDA with SAPO Broker
EDA with SAPO BrokerEDA with SAPO Broker
EDA with SAPO Broker
 
In a HTTP/2 World - DeccanRubyConf 2017
In a HTTP/2 World - DeccanRubyConf 2017In a HTTP/2 World - DeccanRubyConf 2017
In a HTTP/2 World - DeccanRubyConf 2017
 
Lecture14 1
Lecture14 1Lecture14 1
Lecture14 1
 
A New Internet? Introduction to HTTP/2, QUIC and DOH
A New Internet? Introduction to HTTP/2, QUIC and DOHA New Internet? Introduction to HTTP/2, QUIC and DOH
A New Internet? Introduction to HTTP/2, QUIC and DOH
 
Communicating on the web
Communicating on the webCommunicating on the web
Communicating on the web
 
Http/2 lightning
Http/2   lightningHttp/2   lightning
Http/2 lightning
 
QUIC
QUICQUIC
QUIC
 

Similar to HLS WWDC2020

Similar to HLS WWDC2020 (20)

HESP vs HLS vs MPEG-DASH: Comparative Analysis of Video Streaming Protocols
HESP vs HLS vs MPEG-DASH: Comparative Analysis of Video Streaming ProtocolsHESP vs HLS vs MPEG-DASH: Comparative Analysis of Video Streaming Protocols
HESP vs HLS vs MPEG-DASH: Comparative Analysis of Video Streaming Protocols
 
OpenHPC: Project Overview and Updates
OpenHPC: Project Overview and UpdatesOpenHPC: Project Overview and Updates
OpenHPC: Project Overview and Updates
 
What's the deal with Apple's Low Latency HLS (ALHLS)?
What's the deal with Apple's Low Latency HLS (ALHLS)?What's the deal with Apple's Low Latency HLS (ALHLS)?
What's the deal with Apple's Low Latency HLS (ALHLS)?
 
Utilizing HLS for Delivering Streaming Video
Utilizing HLS for Delivering Streaming VideoUtilizing HLS for Delivering Streaming Video
Utilizing HLS for Delivering Streaming Video
 
Release Cycle Changes
Release Cycle ChangesRelease Cycle Changes
Release Cycle Changes
 
Hadoop Operations - Past, Present, and Future
Hadoop Operations - Past, Present, and FutureHadoop Operations - Past, Present, and Future
Hadoop Operations - Past, Present, and Future
 
Using JMeter for Performance Testing Live Streaming Applications
Using JMeter for Performance Testing Live Streaming ApplicationsUsing JMeter for Performance Testing Live Streaming Applications
Using JMeter for Performance Testing Live Streaming Applications
 
Advanced OpenVPN Concepts - pfSense Hangout September 2014
Advanced OpenVPN Concepts - pfSense Hangout September 2014Advanced OpenVPN Concepts - pfSense Hangout September 2014
Advanced OpenVPN Concepts - pfSense Hangout September 2014
 
Easily & Painlessly Migrate from QTP/UFT to TestComplete
Easily & Painlessly Migrate from QTP/UFT to TestCompleteEasily & Painlessly Migrate from QTP/UFT to TestComplete
Easily & Painlessly Migrate from QTP/UFT to TestComplete
 
Support @SUSE: The Entire Chain from an Incident to a Fix
Support @SUSE: The Entire Chain from an Incident to a FixSupport @SUSE: The Entire Chain from an Incident to a Fix
Support @SUSE: The Entire Chain from an Incident to a Fix
 
File Transfers - Web Hosting Curriculum [5/10]
File Transfers - Web Hosting Curriculum [5/10] File Transfers - Web Hosting Curriculum [5/10]
File Transfers - Web Hosting Curriculum [5/10]
 
Next generation web protocols
Next generation web protocolsNext generation web protocols
Next generation web protocols
 
Http - All you need to know
Http - All you need to knowHttp - All you need to know
Http - All you need to know
 
LAS16-209: Finished and Upcoming Projects in LMG
LAS16-209: Finished and Upcoming Projects in LMGLAS16-209: Finished and Upcoming Projects in LMG
LAS16-209: Finished and Upcoming Projects in LMG
 
Features of linux reseller hosting plans of hts hosting
Features of linux reseller hosting plans of hts hostingFeatures of linux reseller hosting plans of hts hosting
Features of linux reseller hosting plans of hts hosting
 
What's New in NGINX Plus R7?
What's New in NGINX Plus R7?What's New in NGINX Plus R7?
What's New in NGINX Plus R7?
 
Advanced OpenVPN Concepts on pfSense 2.4 & 2.3.3 - pfSense Hangout February 2017
Advanced OpenVPN Concepts on pfSense 2.4 & 2.3.3 - pfSense Hangout February 2017Advanced OpenVPN Concepts on pfSense 2.4 & 2.3.3 - pfSense Hangout February 2017
Advanced OpenVPN Concepts on pfSense 2.4 & 2.3.3 - pfSense Hangout February 2017
 
TUT-1146-SD20_SUSE_Linux_Enterprise_Server_Upgrades_and_Migrations.pdf
TUT-1146-SD20_SUSE_Linux_Enterprise_Server_Upgrades_and_Migrations.pdfTUT-1146-SD20_SUSE_Linux_Enterprise_Server_Upgrades_and_Migrations.pdf
TUT-1146-SD20_SUSE_Linux_Enterprise_Server_Upgrades_and_Migrations.pdf
 
Http/2
Http/2Http/2
Http/2
 
Subversion in a distributed world
Subversion in a distributed worldSubversion in a distributed world
Subversion in a distributed world
 

Recently uploaded

Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Lisi Hocke
 
Jax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined DeckJax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined Deck
Marc Lester
 

Recently uploaded (20)

[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
 
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
 
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
 
Jax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined DeckJax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined Deck
 
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
 
Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdf
 
Encryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key ConceptsEncryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key Concepts
 
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
 
Community is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea GouletCommunity is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea Goulet
 
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jGraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
 
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
 
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdf
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdf
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 

HLS WWDC2020

  • 2. Outline ● What’s new in Low-Latency HLS ● Adopt Ad Insertion to Low-Latency HLS ● Reduce Latency with HLS Blocking Playlist Reload ● Discover HLS Blocking Preload Hints ● Optimize Live Streams with HLS Playlist Delta Updates ● Improve stream authoring with HLS Tools ● Deliver a Better HLS Audio Experience
  • 3. What’s New in Low-Latency HLS
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. Important changes ● Replaced HTTP/2 Push with Preloading Hinting ● Simplified Delivery Directives ● Generate CMAF in reference tools Everything is included in the current HLS spec Low-Latency HLS comes out of beta this year ● Aim to deliver your service
  • 9. Quick Review of Regular Live HLS works
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35. And it has to supply preload hints for both as well
  • 36.
  • 37. What’s Blocking Playlist Reload? ● HLS clients discover new segments by reloading the Playlist
  • 38. What’s Blocking Playlist Reload? ● HLS clients discover new segments by reloading the Playlist ● Original HLS approach (polling) delays discovery
  • 39. What’s Blocking Playlist Reload? ● HLS clients discover new segments by reloading the Playlist ● Original HLS approach (polling) delays discovery ● Low-Latency HLS introduced server Delivery Directives
  • 40. ● HLS clients discover new segments by reloading the Playlist ● Original HLS approach (polling) delays discovery ● Low-Latency HLS introduced server Delivery Directives ● Client asks server to hold reload request until new segment appear ● Response unblocks when Playlist updates What’s Blocking Playlist Reload?
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63. Other exceptional cases ● _HLS_msn and _HLS_part are ignored if Playlists contains EXT-X-ENDLIST
  • 64. Other exceptional cases ● _HLS_msn and _HLS_part are ignored if Playlists contains EXT-X-ENDLIST ● Server unblocks immediately if Playlist is newer than requested ● Requested segment/part is not the most recent ○ It might even have rolled out of the Playlist
  • 65. ● _HLS_msn and _HLS_part are ignored if Playlists contains EXT-X-ENDLIST ● Server unblocks immediately if Playlist is newer than requested ● Requested segment/part is not the most recent ○ It might even have rolled out of the Playlist ● Server may time out if it spends too long blocked Other exceptional cases
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79. Using CMAF Chunks with LL-HLS ● Each resource (URL) corresponds to a Parent Segment ● Each Parent Segment contains multiple CMAF Chunks ● Each CMAF Chunk is a Partial Segment ○ Specified as Parent Segment URL + byte-range
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.
  • 94.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99.
  • 100. Wrap up ● Provide Playlist Delta Updates for livestreams with large windows ● Latest OS offers v2 updates that include EXT-X-DATERANGE tags ● Improves Playlist reload performance, which increases reliability
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.
  • 111.
  • 112.
  • 113.
  • 114.
  • 116.
  • 117.