Low-Latency HLSの新機能 – WWDC2020

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が追加

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 in EXT-X-PART and EXT-X-RENDITION-REPORT
    • 低遅延配信で圧縮処理にかかる時間を短縮出来る
  • Low-Latency HLSツールの変更
    • CMAF対応のフラグメントMPEG-4を追加
    • Serverの構成をPHPの代わりにGolangで実行すると応答指示が生成されHTTP/2 web serverが構成される
最新情報をチェックしよう!