HLS nginx hls_fragmentの注意

nginx HLS映像配信やってて、どうもうまくブラウザで表示されるときと表示されない時があると思っていた。

どうやら、この設定のせいっぽい

○hls_fragment

Syntax: hls_fragment time
Context: rtmp, server, application

Sets HLS fragment length. Defaults to 5 seconds.

⇒ tsファイルを何秒ずつで分割するか

○hls_playlist_length

Syntax: hls_playlist_length time
Context: rtmp, server, application

Sets HLS playlist length. Defaults to 30 seconds.

⇒ play list(m3u8ファイル)に何秒分のtsファイルを掲載するか

エラー原因
playlistファイルm3u8にtsファイルの場所名前が記載されるが、hls_flragmentの設定だけを行っていると、playlistに掲載する長さと合わず、すでに削除されているtsファイルが掲載され、404表示できないになってしまう。

状況を確認する方法
Chromeで、F12を押してデバッガを表示する。
F5を押して更新すると、どのようにファイルが読み込まれているかが分かる。

解決
とりあえず、hls_fragment、hls_playlist_length のどちらも設定しない(記載しない)事で、安定してm3u8 プレイリストファイルと、tsファイルの関係が保たれるようになり、映像受信できない事はなくなった。