SlideShare a Scribd company logo
Apple Low Latency HLS
Samson Sham - サムソン
フォアキャスト・コミュニケーションズ
HLSの由来
2
- ~2009: avi, mp4, wmv; H.263+RTP/RTMP + Flash (2020 EOL)
- 2009: Apple → darft-pantos-http-live-streaming → IETF
- https://datatracker.ietf.org/doc/draft-pantos-http-live-streaming/history/
- → HLS 誕生
- 2017: Periscope → Low Latency HLS 成功事例発表
- https://medium.com/@periscopecode/introducing-lhls-media-streaming-eb6212948bef
- 2018: JW Player, Mux, Wowza, Elemental, Akamai → HLS.js RFC規格化
- https://github.com/video-dev/hlsjs-rfcs
- 2019: Apple → Apple Low Latency HLS (Preliminary)
- 11月 Wowza サポート発表
HLSの由来
3
- ~2009: avi, mp4, wmv; H.263+RTP/RTMP + Flash (2020 EOL)
- 2009: Apple → darft-pantos-http-live-streaming → IETF
- https://datatracker.ietf.org/doc/draft-pantos-http-live-streaming/history/
- → HLS 誕生
- 2017: Periscope → Low Latency HLS 成功事例発表
- https://medium.com/@periscopecode/introducing-lhls-media-streaming-eb6212948bef
- 2018: JW Player, Mux, Wowza, Elemental, Akamai → HLS.js RFC規格化
- https://github.com/video-dev/hlsjs-rfcs
- 2019: Apple → Apple Low Latency HLS (Preliminary)
- 11月 Wowza サポート発表
LHLS
Community Low Latency
HLS
目標:2〜5秒
実績:〜2秒
HLSの由来
4
- ~2009: avi, mp4, wmv; H.263+RTP/RTMP + Flash (2020 EOL)
- 2009: Apple → darft-pantos-http-live-streaming → IETF
- https://datatracker.ietf.org/doc/draft-pantos-http-live-streaming/history/
- → HLS 誕生
- 2017: Periscope → Low Latency HLS 成功事例発表
- https://medium.com/@periscopecode/introducing-lhls-media-streaming-eb6212948bef
- 2018: JW Player, Mux, Wowza, Elemental, Akamai → HLS.js RFC規格化
- https://github.com/video-dev/hlsjs-rfcs
- 2019: Apple → Apple Low Latency HLS (Preliminary)
- 11月 Wowza サポート発表
LL-HLS / ALHLS
Apple Low Latency HLS
目標:1〜2秒
実績:〜3秒
HLSとLL-HLS/ALHLSの違い
5
HLS
6
従来HLSの仕組み
7
m3u8 1: HTTPS
2: HTTPS
プレイリスト
メディアセグメント
Static Media Server
従来HLSの仕組み
8
.m3u8
198964.ts
198965.ts
TCP+TLS handshake .m3u8
HTTP/1.1 Response
#EXT-X-PROGRAM-DATE-TIME:2019-10-29T10:00:12.708Z
#EXTINF:4.00000,
198963.ts
#EXTINF:4.00000,
198964.ts
#EXTINF:4.00000,
198965.ts
LL-HLS / ALHLS
9
LL-HLS/ALHLSとHLSの違い
10
m3u8 1: HTTPS
2: HTTPS
プレイリスト
メディアセグメント
Static Media Server
HTTP/2 + TLS/1.3 特徴
11
HTTP/2 Stream Multiplexing
12
.m3u8 198964.ts 198965.ts
TCP+TLS handshake
.m3u8
HTTP/2 Data frame
SYN
SYN ACK
Request Data
HTTP/2 HPACK
HTTP/2 Stream
- TCP圧縮
- ヘッダー圧縮
TLS/1.3 0-RTT
13
.m3u8 198964.ts 198965.ts
TCP+TLS handshake
.m3u8
HTTP/2 Data frame
Client Hello+ALPN+HTTP request
Server Hello+HTTP response
HTTP/2 HPACK 0 - RTT
HTTP/2 Stream
- TLS圧縮
LL-HLS/ALHLSの仕組み
14
m3u8
プレイリスト
メディアセグメント
Static Media Server
1: HTTP/2 + TLS/1.3
LL-HLS/ALHLSとHLSの違い
15
m3u8
プレイリスト
メディアセグメント
Static Media Server
1: HTTP/2 + TLS/1.3
Media Playlist
16
LL-HLS/ALHLSとHLSの違い
17
m3u8
m3u8
プレイリスト
Playlist request blocking
- 新しいプレイリスト発行
するまで待たせる
LL-HLS/ALHLSとHLSの違い
18
m3u8
プレイリスト
メディ
ア
パーツ
HTTP/2 PUSH
- スタートタイム縮める
Playlist Query Parameter
?_HLS_push=1
LL-HLS/ALHLSとHLSの違い
19
m3u8
プレイリスト
- プレイリスト圧縮
m3u8
Delta Playlist
Playlist Query Parameter
?_HLS_skip=YES
Media File
20
LL-HLS/ALHLSとHLSの違い
21
メディア
パーツ
メディア
セグメント
TS
Fragmented
MP4
- セグメントさらに細分化
LL-HLS/ALHLSとHLSの違い
22
Dynamic Media Server
1: HTTP/2 + TLS/1.3
m3u8
m3u8
m3u8
etc...
23
デモンストレーション
24
25
ストリーミング
サーバー構成図
26
ご清聴ありがとうございました。
ご清聴ありがとうございました。
27

More Related Content

Similar to TVT#7 - Apple Low Latency HLS

AI(人工知能)とCMS:MTDDC Meetup TOKYO 2019
AI(人工知能)とCMS:MTDDC Meetup TOKYO 2019AI(人工知能)とCMS:MTDDC Meetup TOKYO 2019
AI(人工知能)とCMS:MTDDC Meetup TOKYO 2019Yoshiki Hayama
 
HiveとImpalaのおいしいとこ取り
HiveとImpalaのおいしいとこ取りHiveとImpalaのおいしいとこ取り
HiveとImpalaのおいしいとこ取りYukinori Suda
 
『RIA開発におけるサービス開発のイロハ』
 『RIA開発におけるサービス開発のイロハ』 『RIA開発におけるサービス開発のイロハ』
『RIA開発におけるサービス開発のイロハ』Jun Funakura
 
RIA開発におけるサービス開発のイロハ
RIA開発におけるサービス開発のイロハRIA開発におけるサービス開発のイロハ
RIA開発におけるサービス開発のイロハJun Funakura
 
Streaming Audio over HTTP 1.1 to Flask
Streaming Audio over HTTP 1.1 to FlaskStreaming Audio over HTTP 1.1 to Flask
Streaming Audio over HTTP 1.1 to FlaskCharles Heckroth
 
Attractive HTML5
Attractive HTML5Attractive HTML5
Attractive HTML5Sho Ito
 
Frontrend vol.7 html5 audio
Frontrend vol.7   html5 audioFrontrend vol.7   html5 audio
Frontrend vol.7 html5 audioKei Funagayama
 
HTML5 + Firefox OS
HTML5 + Firefox OSHTML5 + Firefox OS
HTML5 + Firefox OSdynamis
 
THETA S でライブストリーミング
THETA S でライブストリーミングTHETA S でライブストリーミング
THETA S でライブストリーミングKatsuyaENDOH
 
OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』
OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』
OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』Shinichiro Yoshida
 
SORACOM UG 東海 x JAWS-UG 名古屋 | SORACOM LTE-M Button とボタンを支えるバックエンドシステムの紹介
SORACOM UG 東海 x JAWS-UG 名古屋 | SORACOM LTE-M Button とボタンを支えるバックエンドシステムの紹介SORACOM UG 東海 x JAWS-UG 名古屋 | SORACOM LTE-M Button とボタンを支えるバックエンドシステムの紹介
SORACOM UG 東海 x JAWS-UG 名古屋 | SORACOM LTE-M Button とボタンを支えるバックエンドシステムの紹介SORACOM,INC
 
Flumeを活用したAmebaにおける大規模ログ収集システム
Flumeを活用したAmebaにおける大規模ログ収集システムFlumeを活用したAmebaにおける大規模ログ収集システム
Flumeを活用したAmebaにおける大規模ログ収集システムSatoshi Iijima
 

Similar to TVT#7 - Apple Low Latency HLS (15)

AI(人工知能)とCMS:MTDDC Meetup TOKYO 2019
AI(人工知能)とCMS:MTDDC Meetup TOKYO 2019AI(人工知能)とCMS:MTDDC Meetup TOKYO 2019
AI(人工知能)とCMS:MTDDC Meetup TOKYO 2019
 
HTML5 OS
HTML5 OSHTML5 OS
HTML5 OS
 
HiveとImpalaのおいしいとこ取り
HiveとImpalaのおいしいとこ取りHiveとImpalaのおいしいとこ取り
HiveとImpalaのおいしいとこ取り
 
『RIA開発におけるサービス開発のイロハ』
 『RIA開発におけるサービス開発のイロハ』 『RIA開発におけるサービス開発のイロハ』
『RIA開発におけるサービス開発のイロハ』
 
RIA開発におけるサービス開発のイロハ
RIA開発におけるサービス開発のイロハRIA開発におけるサービス開発のイロハ
RIA開発におけるサービス開発のイロハ
 
Streaming Audio over HTTP 1.1 to Flask
Streaming Audio over HTTP 1.1 to FlaskStreaming Audio over HTTP 1.1 to Flask
Streaming Audio over HTTP 1.1 to Flask
 
Attractive HTML5
Attractive HTML5Attractive HTML5
Attractive HTML5
 
Frontrend vol.7 html5 audio
Frontrend vol.7   html5 audioFrontrend vol.7   html5 audio
Frontrend vol.7 html5 audio
 
HTML5 + Firefox OS
HTML5 + Firefox OSHTML5 + Firefox OS
HTML5 + Firefox OS
 
THETA S でライブストリーミング
THETA S でライブストリーミングTHETA S でライブストリーミング
THETA S でライブストリーミング
 
OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』
OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』
OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』
 
SORACOM UG 東海 x JAWS-UG 名古屋 | SORACOM LTE-M Button とボタンを支えるバックエンドシステムの紹介
SORACOM UG 東海 x JAWS-UG 名古屋 | SORACOM LTE-M Button とボタンを支えるバックエンドシステムの紹介SORACOM UG 東海 x JAWS-UG 名古屋 | SORACOM LTE-M Button とボタンを支えるバックエンドシステムの紹介
SORACOM UG 東海 x JAWS-UG 名古屋 | SORACOM LTE-M Button とボタンを支えるバックエンドシステムの紹介
 
State of the art Stream Processing #hadoopreading
State of the art Stream Processing #hadoopreadingState of the art Stream Processing #hadoopreading
State of the art Stream Processing #hadoopreading
 
Hadoop-3.2.0の新機能の紹介とJava9+対応のコミュニティ動向
Hadoop-3.2.0の新機能の紹介とJava9+対応のコミュニティ動向Hadoop-3.2.0の新機能の紹介とJava9+対応のコミュニティ動向
Hadoop-3.2.0の新機能の紹介とJava9+対応のコミュニティ動向
 
Flumeを活用したAmebaにおける大規模ログ収集システム
Flumeを活用したAmebaにおける大規模ログ収集システムFlumeを活用したAmebaにおける大規模ログ収集システム
Flumeを活用したAmebaにおける大規模ログ収集システム
 

Recently uploaded

YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)NTT DATA Technology & Innovation
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)keikoitakurag
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdfAyachika Kitazaki
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptxssuserbefd24
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...atsushi061452
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルCRI Japan, Inc.
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptxyassun7010
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizesatsushi061452
 

Recently uploaded (10)

YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 

TVT#7 - Apple Low Latency HLS

Editor's Notes

  1. こんばんは、フォアキャスト香港出身のサムソンと申します。今回はAppleのLow Latency HLSを紹介していきたいとおもいます。 よろしくお願いいたします。
  2. https://www.wowza.com/blog/wowza-support-apple-low-latency-hls
  3. https://www.theoplayer.com/blog/low-latency-hls-lhls
  4. アイコン提供元 http://icooon-mono.com/
  5. アイコン提供元 http://icooon-mono.com/
  6. アイコン提供元 http://icooon-mono.com/
  7. アイコン提供元 http://icooon-mono.com/
  8. アイコン提供元 http://icooon-mono.com/
  9. アイコン提供元 http://icooon-mono.com/
  10. アイコン提供元 http://icooon-mono.com/
  11. アイコン提供元 http://icooon-mono.com/
  12. アイコン提供元 http://icooon-mono.com/
  13. アイコン提供元 http://icooon-mono.com/
  14. https://www.draw.io/