17678


HLS（http live
streaming）で動画を配信する時、m3u8ファイルが更新中だとライブストリーミングになるのを阻止できないでしょうか。常に先頭から再生したいです。何か解決策はありますか？手段はサーバサイドでもクライアントサイドでも構いません。


CC BY-SA 3.0
2015-10-14T11:47:44.940
17649
2015-10-15T08:40:51.100
12779
question
html html5 video stream
HLSでのストリーミングを先頭から再生したい


HLS(HTTP Live
Streaming)はPull型の映像ストリーミング・プロトコルですから、再生開始位置の判断・決定はクライアントサイド実装に依存します。HLSクライアントでライブ配信セッションを再生する場合、配信遅延を小さくする方が好ましいため、一般的には最も新しいメディアセグメントから再生開始します。

サーバサイドからみたHLSライブ配信セッションでは、ディスク容量の浪費を防ぐため、古いメディアセグメントファイルから自動削除していく運用が一般的です。ライブ配信中のコンテンツを、VoD(Video
on Demand)的にコンテンツ先頭から再生したい場合、このようなメディアセグメント自動削除を無効化する必要があります。

所望の動作を実現するには、2つの方針が考えられます。

  1. サーバサイドでVoD配信セッションと偽る：HLSプレイヤーにVoDセッションと偽装することで、コンテンツ先頭から開始される（と期待されます。）クライアントサイドでは、m3u8ファイル自動更新に対応できませんから、再生開始時点のコンテンツ長で打ち切られます。
  2. クライアントサイドでVoD的に振る舞う：HLSプレイヤーを改造もしくは自作する必要があります。Webブラウザを前提とするなら、`<video>`タグと[MSE(Media Source Extensions)](http://www.w3.org/TR/media-source/)を用いて自作可能です。（が、かなり大変です。）


CC BY-SA 3.0
2015-10-15T08:40:51.100
17678
2015-10-15T08:40:51.100
49
17649
answer