Session概要
Appleは2秒以内のストリーミング遅延の品質と拡張性をかけ合わせたLow-Latency extension
をHTTP Live Streamingプロトコルに追加しました。LL-HLSの最新状況とブロードキャストに対抗する競争力の高いビデオデリバリーを実現する方法、およびソーシャルメディアとの統合を改善する方法について https://developer.apple.com/videos/play/wwdc2020/10228/
Low-Latency HLS beta版の終了
- iOS 14, tvOS 14, watchOSs 7, and macOSで利用可能
- ビットレート切り替えやFairPlayストリーミング、fMP4、CMAF
HLSの仕様にLow-Latencyが追加
- Low-Latency Server構成プロファイル、CDN tune-inアルゴリズムについて
- rfc8216bis-7に追記された
- HLSについての多くの説明や用例が追加されて情報量が増えた
beta版からの変更 and 新しい機能
- LL-HLSではセグメント遅延を減らすことを重視している
- すなわち、セグメント生成からクライアントが受信するまでの時間を削減すること
- アプローチとしてはHTTP/2 pushでプレイリストと一緒にセグメントを更新していたが、コンテンツ提供者が多い場合や広告が多いコンテンツではHTTP/2 pushがうまく機能しない問題があった
- 上記問題のアプローチとして
Blocking Preload Hints
を開発
- Blocking Preload Hintsについて
- ブロッキングプレイリストリロードに近い考え方
- クライアントが要求を出すとServer応答出来るまでホールドする
- CDNを利用するとcacheによりHTTP/2 Pushよりもパフォーマンスが向上する
- ただし、HTTP/2 pushのサポートは必要ないが HTTP/2のサポートは必要
- 詳細は Discover HLS Blocking Preload Hints のsessionを参照
- 長時間のDVR機能を持つプロバイダーの意見を元に、
date-range
タグをプレイリスト -> デルタ更新に含めた- そのため、差分だけが更新されるようになる
- 部分セグメントとレンダリングレポート
GAP=YES
inEXT-X-PART
andEXT-X-RENDITION-REPORT
- 低遅延配信で圧縮処理にかかる時間を短縮出来る
- Low-Latency HLSツールの変更
- CMAF対応のフラグメントMPEG-4を追加
- Serverの構成をPHPの代わりにGolangで実行すると応答指示が生成されHTTP/2 web serverが構成される