HLS 用語
HLS と M3U8 の違い
HLS はストリーミング技術です。M3U8 は、HLS プレーヤーに読み込むメディアとストリーム構成を伝えるプレイリストファイル形式です。
HLS はストリーミング方式
HTTP Live Streaming はメディアを小さなセグメントに分割し、HTTP 経由で配信します。プレーヤーはプレイリストをダウンロードし、セグメントを要求し、メディアをバッファし、ネットワーク状況に応じて画質レベルを切り替えます。
HLS は CDN と相性がよく、ライブとオンデマンドの両方に対応し、Apple プラットフォームでネイティブにサポートされるため広く使われています。
M3U8 はプレイリスト
M3U8 ファイルは地図のようなものです。バリアントストリーム、セグメント URL、長さ、目標長、メディアシーケンス番号、字幕、音声トラック、暗号化キーを列挙できます。
通常、プレイリスト自体に動画のバイト列は含まれません。ブラウザから同じくアクセス可能である必要があるメディアセグメントを指します。
この違いが重要な理由
再生問題を調べるときは、プレイリストの問題とストリーム配信の問題を分けて考える必要があります。有効な M3U8 プレイリストでも、セグメントがブロックされている、コーデックが非対応、ブラウザが送れない認証情報が必要、といった理由で失敗することがあります。
そのためオンライン HLS テスターは、すべての失敗を URL エラーとして扱うのではなく、再生状態と診断情報を表示するべきです。