HLSのメモ
基本的な事項の復習
HTTP Live Streamingの略
Appleの開発した動画ストリーミングのプロトコル
HTTPプロトコルを利用する
MPEG-2 TS
m3u8形式
m3u形式
パスないしURLの羅列、#はコメント
m3u8形式はm3u形式の拡張
例
#EXT-X-VERSION:3 #EXTM3U #EXT-X-TARGETDURATION:10 #EXTINF:9.010, http://media.hoge.com/a.ts #EXTINF:9.001, http://media.hoge.com/b.ts #EXTINF:2.001, http://media.hoge.com/c.ts
これはVERSIONが3のプロトコルを満たす必要があることを意味する。EXTINFに浮動小数点数値でdurationを設定する。
各プロトコルで必須なものは以下に記載がある。
Understanding the EXT-X-VERSION tag
developer.apple.com
詳しくは HTTP Live Streaming draft-pantos-http-live-streaming-19
draft-pantos-http-live-streaming-19 - HTTP Live Streaming
iOS Devの資料
HTTP Live Streaming (HLS) - Apple Developer
https://developer.apple.com/jp/documentation/StreamingMediaGuide.pdf
配信
httpなので通常のwebサーバでOK
クライアントの動き
1. まずインデックスファイルを取得する。
2. インデックスファイルで指定されたファイルをダウンロード
3. ある程度たまったらユーザに表示
4. #EXT-X-ENDLISTタグがある場合、終了、ない場合はは1に戻って新しいインデックファイルを取得
ツール
mediastreamvalidator
HLSと連動できるか検証するコマンド
variantplaylistcreator
mediafilesegmenter(-generate-variant-playlist付与)の出力から各種のビットレートのストリームを含むインデックスファイル作成
セッションタイプ
VODとライブの二種類あり。
VOD
インデックスファイルが静的でその内容が全時間を表す。
ライブ
インデックスファイルは更新される。
暗号化
復号キーをインデクスファイルに付与しておく。