HLS バッファ 数 は 10、10 MBに 設 定 さ れ て い ま す 。初 期 の MP4バッファ サ イズ は 1 MBに
設 定 さ れ 、最 大 5 MBです。
解説
NGINX Plusで利用可能なHLSモジュールは、MP4 メディア ファイル を自 動 でトランス
マルチプレックス(多重化)する機能を提供します。メディアをフラグメント化および
バッファリングする方 法を制 御できる多くのディレクティブがあります。ロケーション
ブロックは、HLSハンドラ ーを 使 用してメディア を HLSストリームとして 提 供 するよう
に構成する必要があります。HLSフラグメンテーションは秒 数で設 定され 、NGINXに
時間の長さでメディアをフラグメント化するように指示します。バッファされるデータの
量は、バッファの数とサイズを指定するhls_buffersディレクティブ で設 定されます。
クライアントは 、hls_mp4_buffer_sizeで 指 定 さ れ た 一 定 量 の バ ッフ ァ が 発 生 し た 後 、メ
ディアの再生開始 が 許可されます。ただし、ビデオに関するメタデータが 初期 バッファサ
イ ズ を 超 え る 可 能 性 が あ る た め 、よ り 大 き な バ ッフ ァ が 必 要 に な る 場 合 が あ り ま す 。こ の
量は、hls_mp4_max_buffer_sizeによって制限されます。これらのバッファリング変数に
より、NGINXはエンドユーザーエクスペリエンスを最適化できます。これらのディレク
ティブに適切な値を選択するには、ターゲットオーディエンスとメディアを知る必要が
あります。たとえば、メディアの大部分が大きなビデオファイルであり、ターゲットオーデ
ィエンスの帯域幅が広い場 合は、最大 バッファサイズを大きくし、フラグメントを長くす
ることを選択できます。これにより、コンテンツに関するメタデータを最初にエラーなし
でダウンロードし、ユーザーがより大きなフラグメントを受 信できるようになります。
9.3 NGINX PlusでのHDSストリーミング
問題
すでにフラグメント化され、メタデータから分離されているAdobeのHTTP Dynamic
Streaming(HDS)をサポートする必要があります。
解決法
NGINX Plusのフラグメント化されたFLVファイル (F4F)モジュール のサポートを使 用し
て、Adobe Adaptiveストリーミン グ をユー ザー に 提 供します:
location /video/ {
alias /var/www/transformed_video;
f4f;
f4f_buffer_size 512k;
}
この例は、NGINX Plus F4F モジュールを使 用して、以前フラグメント化されたメディア
を ディスク上 の 場 所 か らクライ アントに 提 供 するように NGINX Plusに 指 示 し ま す 。イ ン
デックスファイル (.f4x) のバッファサイズは512 KBに 設 定されています。
9.3 NGINX PlusでのHDSストリーミン グ | 99