HLSの正式名称はHTTP Live Streamingである.
つまりHTTP上でStreaming配信を行うための技術である.
Versionがいくつか存在しておりAWSのElastic Transcoderなどを使うと指定することがあるが、一旦それらを忘れて考えるとする.
バージョンに関わらずHLSはm3u8
ファイルで動画の構成情報を受け取った後tsファイルなどの動画の実体をもらうことで再生側は動画を再生する.
このような構成になっているのは、動画は大きいのですべてのデータをダウンロードしてから再生するような方法を取ると再生開始が遅くなるからである.
頭から再生する場合はもしかしたら問題ないかもしれないが動画をシークして後ろの方から再生しようとすると必要もない前の方のデータをダウンロードすることになる.
そういう状態を防ぐためHLSは再生したい場所のデータだけを取得できるようにm3u8ファイルで動画の構成状態を受け取った後再生したい位置のメディア(例えばts)ファイルを配信する.
よって配信するときはm3u8というテキストの配信と実体ファイルの配信をそれぞれ行う必要がある.